xsl:function不起作用(添加两个参数并返回结果)

xsl:function不起作用(添加两个参数并返回结果),function,xslt-2.0,Function,Xslt 2.0,叫来 <xsl:function name="sh:testfunc2" as="xs:integer"> <xsl:param name="param2" as="xs:integer"/> <xsl:param name="param3" as="xs:integer"/> <xsl:value-of select="$param2+$param3"/> </xsl:func

叫来

<xsl:function name="sh:testfunc2" as="xs:integer">
        <xsl:param name="param2" as="xs:integer"/>
        <xsl:param name="param3" as="xs:integer"/>
            <xsl:value-of select="$param2+$param3"/>
    </xsl:function>

不返回任何内容


谢谢你的帮助

我当然会在函数中使用
而不是
的值,但如果您需要更多帮助,请发布最小但完整的示例,让我们能够轻松重现问题,并告诉我们您使用了哪个XSLT 2.0处理器。抱歉,令人沮丧的消息:我现在就知道了。该错误毕竟不在函数中。我调用包含函数的模板时出错。。。但是出于好奇:为什么要选择xsl:sequence?
值创建一个文本节点,而您想要添加两个整数并返回一个整数,因此在这种情况下,已经有了整数,并且想要使用
sequence
返回表达式的结果
$param2+$param3
,这是实现这一点的自然方式,在我看来。在函数上使用
as=“xs:integer”
可以确保由
值创建的文本节点最终转换为整数,但如果我想返回某个表达式的结果,我更喜欢在函数中使用
序列而不是
值!非常感谢
<xsl:value-of select="sh:testfunc2(1,2)"/>