Altova XMLSpy 2024 Professional Edition

在一个实例方法中,一个Java对象作为方法调用的第一个参数被传递给该方法。这类Java对象通常可以使用扩展函数(如构造器调用)或样式表参数/变量来创建。以下是一个XSLT例子:

 

<xsl:stylesheet version="1.0" exclude-result-prefixes="date"

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  xmlns:date="java:java.util.Date"

  xmlns:jlang="java:java.lang"> 

  <xsl:param name="CurrentDateselect="date:new()"/>

  <xsl:template match="/">

      <enrollment institution-id="Altova School" 
                date="{date:toString(\$CurrentDate)}" 

                type="{jlang:Object.toString(jlang:Object.getClass( date:new() ))}">

      </enrollment>

  </xsl:template>

</xsl:stylesheet>

 

在上例中,enrollment/@type节点的值是按以下步骤创建的:

 

1.java.util.Date类的构造器(使用date:new()构造器)创建一个对象。

2.该对象将作为jlang.Object.getClass方法的参数。

3.getClass方法获取的对象将作为jlang.Object.toString方法的参数。

 

结果(@type的值)将是一个字符串,具有以下值:java.util.Date

 

实例字段与实例方法在理论上是不同的,它本身不是一个可以作为参数传递给实例字段的Java对象。相反,参数或变量是可以作为参数传递的。然而,参数/变量本身可能包含由Java对象返回的值。例如,CurrentDate参数采用由java.util.Date类的构造器返回的值。然后,该值将作为参数传递给实例方法date:toString以获得/enrollment/@date的值。

 

© 2017-2023 Altova GmbH