参数中的XSL序列

时间:2016-08-22 11:34:58

标签: xslt sequence param

我找到了一种使用以下代码在模板之间传递一系列值的方法:

<xsl:call-template name="myTemplate">
    <xsl:with-param name="myParam" select="@foo, @bar"/>
</xsl:call-template>

因此,在这种情况下,模板myParam中的参数myTemplate将是包含2个值的序列。

但是,如果您使用以下代码,则无法使用:

<xsl:call-template name="myTemplate">
    <xsl:with-param name="myParam">
        <xsl:value-of select="@foo, @bar"/>
    </xsl:with-param>
</xsl:call-template>

结果是@foo@bar的简单连接 我也试过<xsl:copy-of select="@foo, @bar"/>,但结果相同。

因此,有人可以解释我如何在<xsl:with-param />的内容中传递一系列值,而不是直接通过select属性传递。

谢谢。

1 个答案:

答案 0 :(得分:2)

  

有人可以解释我如何传递内容中的值列表   <xsl:with-param />,而不是直接通过select属性。

不确定为什么必须避免select属性。事实上,我认为它更可取。

但要回答您的问题,您可以使用xsl:sequence

当然,这完全是在XSLT 2.0的上下文中。