Как использовать функции XSL с Xalan? - PullRequest
2 голосов
/ 26 мая 2011

Это мой 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,] ).

О чем это?Как решить проблему?

1 Ответ

3 голосов
/ 26 мая 2011

AFAIK Xalan реализует только XSLT 1.0, а xsl:function - XSLT 2.0.Вам следует использовать процессор XSLT 2.0, например saxon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...