如何在Xalan中使用XSL函数?

问题描述

| 这是我的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,“ 2”表示XSLT 2.0。您应该使用XSLT 2.0处理器,例如saxon