java - 如何将 XSL 函数与 Xalan 一起使用?

标签 java xml xslt xalan

这是我的 XSL:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:r="my-own-namespace"
  version="2.0" exclude-result-prefixes="xs">
  <xsl:template match="/">
    <xsl:value-of select="r:foo('test')"/>
  </xsl:template>
  <xsl:function name="r:foo">
    <xsl:value-of select="$val"/>
  </xsl:function>
</xsl:stylesheet>

这就是 Xalan 2.7.1(从 Java 使用)所说的:

(Location of error unknown)java.lang.NoSuchMethodException: For extension 
function, could not find method 
org.apache.xml.utils.NodeVector.foo([ExpressionContext,] ).

这是关于什么的?如何解决问题?

最佳答案

AFAIK Xalan 仅实现 XSLT 1.0,而 xsl:function 是 XSLT 2.0。您应该使用 XSLT 2.0 处理器,例如 saxon

关于java - 如何将 XSL 函数与 Xalan 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141908/

相关文章:

java - 如何在 grails 3+ 中启用 webapp 可分发

java - 简单 JMS 示例不检索 JMS 消息。为什么?

c# - 如何使用 XmlSerializer 将异构子节点反序列化为一个集合?

.net - 是否有 XSLT 可用于将 WordprocessingML 转换为 RTF

xsl 文件中输入字段的 Javascript 验证

asp.net-mvc - NLog上的配置转换不起作用

java - 可以从 Java 中该类的枚举中访问类方法吗?

java - 安装 Ant ;明显误解了JAVA_HOME

c# - 命名空间 B 中的元素 A 在命名空间 D 中具有无效的子元素 C

java - 如何将“&”符号放入 Word 2007 .docx XML 文件中?