Xslt 2.0 XSLT2.0 | Saxon HE |将分隔符作为参数传递

Xslt 2.0 XSLT2.0 | Saxon HE |将分隔符作为参数传递,xslt-2.0,Xslt 2.0,具有如下功能: <xsl:function name="fn:get-hierachy"> <xsl:param name="hierarchy" required="yes" as="node()"/> <xsl:param name="separator0" required="no" as="xs:string"/> <xsl:value-of select="$hierarchy/*" separator="$

具有如下功能:

<xsl:function name="fn:get-hierachy">

    <xsl:param name="hierarchy"   required="yes" as="node()"/>
    <xsl:param name="separator0"  required="no"  as="xs:string"/>

    <xsl:value-of select="$hierarchy/*" separator="$separator0"/>

</xsl:function>

我得到'separator0'作为输出的分隔符

导致:

Earth$separator0非洲$separator0埃及

我将自定义定界符作为第二个函数参数传递=
'>'
,但它被忽略,并改用变量名

期望输出:
地球>非洲>埃及

是否可以将分隔符参数值作为参数传递?


对于
分隔符
属性,您需要使用属性值模板

您似乎在这里偶然发现了一个Saxon错误:Saxon忽略了
xsl:function/xsl:param[@required='no']
,而它应该作为错误拒绝它。函数参数始终是必需的。Bug现已修复,请参阅:see(Saxon现在将报告示例函数的错误)。感谢您提供的信息。尽管@Martin Honnen提供了工作环境。