Xslt 如何在for-each循环中的每个元素之间添加分隔符?
我循环遍历列表中的每个元素并输出特定值:Xslt 如何在for-each循环中的每个元素之间添加分隔符?,xslt,xslt-1.0,xslt-2.0,xslt-3.0,Xslt,Xslt 1.0,Xslt 2.0,Xslt 3.0,我循环遍历列表中的每个元素并输出特定值: <xsl:for-each select="properties/property"> <xsl:value-of select="name"/> </xsl:for-each> 这只是输出属性的名称节点的串联 我想添加分隔符,例如在每个元素之间。如何做到这一点 我列出了XSLT版本1.0、2.0和3.0,因为不同版本的功能可能不同。如果您使用的是XSLT 2.0或更高版本,您可以删除每个版本的xsl:f
<xsl:for-each select="properties/property">
<xsl:value-of select="name"/>
</xsl:for-each>
这只是输出属性的名称
节点的串联
我想添加分隔符,例如代码>在每个元素之间。如何做到这一点
我列出了XSLT版本1.0、2.0和3.0,因为不同版本的功能可能不同。如果您使用的是XSLT 2.0或更高版本,您可以删除每个版本的xsl:for
,只需在一条语句中执行即可
<xsl:value-of select="properties/property/name" separator=";" />
在XSLT1.0中,您需要做更多的工作
<xsl:for-each select="properties/property">
<xsl:if test="position() > 1">;</xsl:if>
<xsl:value-of select="name"/>
</xsl:for-each>
;
XSLT2.0和XSLT1.0之间的区别在于,在XSLT2.0中,xsl:value of
将返回“select”语句返回的所有节点的值,但在XSLT1.0中,如果有多个节点,它只返回第一个节点的值