我找到了一种使用以下代码在模板之间传递一系列值的方法:
<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
属性传递。
谢谢。
答案 0 :(得分:2)
有人可以解释我如何传递内容中的值列表
<xsl:with-param />
,而不是直接通过select
属性。
不确定为什么必须避免select
属性。事实上,我认为它更可取。
但要回答您的问题,您可以使用xsl:sequence
。
当然,这完全是在XSLT 2.0的上下文中。