通过XSLT-1.0访问Java方法时出现问题

时间:2011-03-03 21:55:05

标签: xslt xalan

通过XSL访问Java方法时遇到的问题。我有一个带有静态方法totalPhotos的java类DirectoryReader.java,它返回一个int。在我的XSL中,我定义了一个命名空间:xmlns:dirReader="xalan://com.mngi.eidos.util.DirectoryReader,我试图访问totalPhotos方法,如:

<xsl:variable name="totalPhotos" select="dirReader:totalPhotos($PhotoPath)"/>

有人可以告诉我我的做法有什么问题吗?

我仍然收到以下错误

  

ERROR: 'The first argument to the non-static Java function 'totalPhotos' is not a valid object reference

1 个答案:

答案 0 :(得分:2)

方法totalPhotos必须是静态的,或者您必须首先创建类的实例并将其作为调用的第一个参数传递。

<xsl:variable name="dr" select="dirReader:new(....)"/>
<xsl:variable name="totalPhotos" select="dirReader:totalPhotos($dr,$PhotoPath)"/>

根据您的情况调整dirReader构造函数参数