xslt - Identify position of the items in xsl:for-each -


i have xml below:

<data>   <record id="1"/>   <record id="2"/>   <record id="3"/>   <record id="4"/>   <record id="5"/>   <record id="6"/> </data> 

i want print xml

**trim("1"-"2"-"3"-"4"-"5"-"6")** 

i using simple xsl below

<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> 

the first item requires <xsl:text>trim("</xsl:text> , last item requires <xsl:text>)</xsl:text>. how achieve in order result trim("1"-"2"-"3"-"4"-"5"-"6")

i got answer. is

<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> 

Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -