Xslt 在xsl:中为每个项目标识项目的位置

Xslt 在xsl:中为每个项目标识项目的位置,xslt,Xslt,我有一个如下所示的Xml: <data> <record id="1"/> <record id="2"/> <record id="3"/> <record id="4"/> <record id="5"/> <record id="6"/> </data> 我使用的是如下所示的简单xsl <xsl:for-each select="descendant-or-sel

我有一个如下所示的Xml:

<data>
  <record id="1"/>
  <record id="2"/>
  <record id="3"/>
  <record id="4"/>
  <record id="5"/>
  <record id="6"/>
</data>
我使用的是如下所示的简单xsl

<xsl:for-each select="descendant-or-self::*/record">
    <xsl:text>TRIM("</xsl:text>
    <xsl:value-of select="@id"/>
    <xsl:text>"-"</xsl:text>
    <xsl:text>)</xsl:text>
</xsl:for-each>

修剪(”
"-"
)
第一项只需要
修剪(
,最后一项需要
。如何做到这一点为了得到修剪的结果(“1”-“2”-“3”-“4”-“5”-“6”)我得到了一个答案。是的

<xsl:for-each select="descendant-or-self::*/record">
    <xsl:if test="position() = 1">
        <xsl:text>TRIM("</xsl:text>
    </xsl:if>
    <xsl:value-of select="@id"/>
    <xsl:text>"-"</xsl:text>
    <xsl:if test="position() = last()">
        <xsl:text>)</xsl:text>
    </xsl:if>
</xsl:for-each>

修剪(”
"-"
)
我得到了一个答案。答案是

<xsl:for-each select="descendant-or-self::*/record">
    <xsl:if test="position() = 1">
        <xsl:text>TRIM("</xsl:text>
    </xsl:if>
    <xsl:value-of select="@id"/>
    <xsl:text>"-"</xsl:text>
    <xsl:if test="position() = last()">
        <xsl:text>)</xsl:text>
    </xsl:if>
</xsl:for-each>

修剪(”
"-"
)