Constructores
Una función de extensión se puede usar para llamar a un constructor Java. A todos los constructores se les llama con la pseudofunción new().
Si el resultado de una llamada a un constructor Java se puede convertir de manera implícita a tipos de datos XPath/XQuery, entonces la llamada a la función de extensión Java devuelve una secuencia que es un tipo de datos XPath/XQuery. Si el resultado de una llamada a un constructor Java no se puede convertir a un tipo de datos XPath/XQuery adecuado, entonces el constructor crea un objeto Java contenido con un tipo que es el nombre de la clase que devuelve ese objeto Java. Por ejemplo, si se llama a un constructor para la clase java.util.Date (java.util.Date.new()), entonces se devuelve un objeto que tiene el tipo java.util.Date. Puede que el formato léxico del objeto devuelto no coincida con el formato léxico de un tipo de datos XPath y, por tanto, su valor debe convertirse al formato léxico del tipo de datos XPath pertinente y después al tipo de datos XPath.
Puede hacer dos cosas con el objeto Java creado por un constructor:
•Puede asignar el objeto a una variable:
<xsl:variable name="currentdate" select="date:new()" xmlns:date="java:java.util.Date" />
•Puede pasar el objeto a una función de extensión (ver métodos de instancia y campos de instancia):
<xsl:value-of select="date:toString(date:new())" xmlns:date="java:java.util.Date" />