When using a ..
<xsl:for-each select="item[***]">
</xsl:for-each>
How can I work out when Im in the first loop. My node set has
a predicate on it so I don't know where I am in the sequence
but want to do something special in the first loop??
You aren't in a loop, you are iterating over a set of nodes that you
have selected to process.
So, if you have the xml:
<item/>
<something_else/>
<item/>
<something_else/>
And you do xsl:for-each select="node" you will get a list of <item>
nodes to process:
<item/>
<item/>
You have 'pulled' two nodes to process. You can find out which <item>
you are currently processing by using the position() function. So if
you wanted to do something special to the first <item> node, you could
do:
<xsl:for-each select="item">
<xsl:if test="position() = 1"> do something special </xsl:if>
</xsl:for-each>
andrew
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list