RE: [xsl] position() outside for-each

Subject: RE: [xsl] position() outside for-each
From: "Scott Trenda" <Scott.Trenda@xxxxxxxx>
Date: Tue, 13 Nov 2007 16:57:14 -0600
What position are you trying to determine, exactly? Do you have any
sorting applied when you apply-templates to /root/item? Are you trying
to determine the position of the node within its parent node, the
position of the node within the document, the position of the node
within the context node-set...? There's lots of different ways you can
ask for the position of a node, but the position() function will follow
a very specific algorithm every time. You can retrieve a variety of
different results with the <xsl:number/> element:

<xsl:template match="/root/item">
  <xsl:number level="single" count="item" format="1:"/>
  <xsl:value-of select="@id"/>
</xsl:template>

~ Scott

-----Original Message-----
From: Charles Ohana [mailto:charles.ohana@xxxxxxxxxxxxxx]
Sent: Tuesday, November 13, 2007 4:39 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] position() outside for-each

Hello,
I'm trying to determine the position of a node, the issue is that it's
within a for-each loop.
See snippet below to see what I'm trying to accomplish. Thanx

<root>
   <item id="XYZ" />
   <item id="A23" />
   <item id="z49" />
   <item id="X12" />
</root>

<xsl:template match="/root/item">
   <xsl:value-of select="position()" />
   <xsl:text>:</xsl:text>
   <xsl:value-of select="@id" />
</xsl:template>

Current Thread