Hi Peter,
I guess you want something like:
<xsl:value-of select = "count(ancestor::*) + count(preceding::*)"/>
This will count the elements before the current element in document order.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="count(ancestor::*) + count(preceding::*)"/>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
will list something like 01234 for a document with 5 elements.
HTH,
George
-------------------------------------------------------------
George Cristian Bina mailto:george(_at_)oxygenxml(_dot_)com
<oXygen/> XML Editor - http://www.oxygenxml.com/
thanks for your solution but i also have another requirement
i should get the count of the element at that level
<A>
<A1>
<A12>
<A13>
<A14>pet</A14>
</A1>
<A2>
<A15>
<A17>
</A2>
....
</A>
suupose iam in A14 element then at that level i should know its count.ie
4
actually i want to store the tree information in an array so i have to
increase the counter.
array['<xsl:value-of select = "$counter">'] = <xsl:value-of select =
"A14">
Iam doing this by recursive template call but the counter is not summing
up.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list