Java: 构造器
扩展函数可用于调用Java构造器。所有构造器都是用伪函数new()调用的。
如果一个Java构造器调用的结果可以隐式地转换为XPath/XQuery数据类型,则Java扩展函数将返回一个XPath/XQuery数据类型的序列。如果一个Java构造器调用的结果不能被转换为合适的XPath/XQuery数据类型,则该构造器会创建一个Java包装对象,其类型具有返回该Java对象的类的名称。例如,如果调用了java.util.Date类的构造器(java.util.Date.new())),则将返回一个java.util.Date类型的对象。返回的对象的词法格式可能与XPath数据类型的词法格式不一致,因此需要将该值转换为所需XPath数据类型的词法格式,然后再转换为所需的XPath数据类型。
在由构造器创建的Java对象的基础上,我们可以进行两个操作:
•将其分配给一个变量:
<xsl:variable name="currentdate" select="date:new()" xmlns:date="java:java.util.Date" />
•将其传递给一个扩展函数(参见实例方法和实例字段):
<xsl:value-of select="date:toString(date:new())" xmlns:date="java:java.util.Date" />