В следующем фрагменте XSLT
<?xml version="1.0" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my="bla">
<xsl:template match="/">
<xsl:value-of select="my:add(4,2)"/>
</xsl:template>
<xsl:function name="my:add" as="xs:integer">
<xs:param name="n" as="xs:integer"/>
<xs:param name="k" as="xs:integer"/>
<xsl:value-of select="$n + $k"/>
</xsl:function>
</xsl:stylesheet>
я получаю следующие ошибки:
Static error in {my:add(4,2)} in expression in xsl:value-of/@select on line 9 column 40 of john.xsl:
XPST0017: Cannot find a 2-argument function named {bla}add(). The namespace URI and local
name are recognized, but the number of arguments is wrong
Static error at char 3 in xsl:value-of/@select on line 30 column 37 of john.xsl:
XPST0008: Variable n has not been declared (or its declaration is not in scope)
Errors were reported during stylesheet compilation
Я знаю, что могу использовать <xsl:function name="my:add" as="xs:integer*">
в качестве функциональной головки, но я не хочутак и есть.Я не могу выяснить, что не так с этим, потому что я нашел несколько похожих примеров, подобных этому.