我无法使用 Xalan 处理器在我的 XSL 代码中调用外部 java 函数。
我得到的错误是:
Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodException: For extension function, could not find method org.apache.xml.utils.NodeVector.incrementPropertyId([ExpressionContext,] ).
我在执行编译命令的文件夹中有一个名为 Util.java 的 java 类。
在我的 xsl 文件中,我已将命名空间声明如下:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xslt/java" exclude-result-prefixes="java"
xmlns:util="xalan://Util">
我使用以下方法调用我的函数:
<xsl:copy-of select="util:incrementPropertyId(blablabal)"/>
所以我想我的问题来自我的命名空间,但它有什么问题?
此外,它是一个 xsl 1.0 样式表。
谢谢你的帮助
编辑 :
在我的 Util.java 文件中,我没有声明包,因为我在根目录中......我应该添加一个包 Util;对我的班级的定义?