To use a counter in a XSL For-Each block, you can use the position() function, the Counter starts at value 1.
Sample XSL
<xsl:for-each select="Order/Products/Product"> <position><xsl:value-of select="position()"></xsl:value-of></position> </xsl:for-each>
see also MSDN position Function