[xsl] Generating serial no.s for XML tags

Subject: [xsl] Generating serial no.s for XML tags
From: Mukul <mukulw3@xxxxxxxxx>
Date: Mon, 28 Apr 2003 03:08:04 -0700 (PDT)
Hello ,
I have a XML as below --

<rootelem>

<tag>
<a>111</a>
<b>222</b>
<c>333</c>
</tag>

<tag>
<a>444</a>
<b>555</b>
<c>666</c>
<total>10</total>
</tag>

<tag>
<a>777</a>
<b>888</b>
<c>999</c>
</tag>

<tag>
<a>abc</a>
<b>def</b>
<c>ghi</c>
</tag>

<tag>
<a>jkl</a>
<b>mno</b>
<c>pqr</c>
<total>13</total>
</tag>

<tag>
<a>stu</a>
<b>vwx</b>
<c>yz0</c>
<total>18</total>
</tag>

</rootelem>
-------------------------------------------------------

I want to write a XSLT which displays serial no.s as
the <tag> TAGs are found

I have written a XSL as below -
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; >
<xsl:template match="rootelem/tag">
     <xsl:value-of select="count(preceding::tag) + 1"
/>
     
     <xsl:if test="total">
          <xsl:value-of select="count(preceding::tag)
+ 1" />
     </xsl:if>

</xsl:template>
</xsl:stylesheet>

I want that when <total> tag comes , an extra serial
no. gets generated which is one more than the previous
one. After the serial no. of <total> tag is o/p, the
next serial no. resumes as 1 more than this.

The above stylesheet is generating output as 122345566
. I want the o/p to come as 123456789(this includes
serial no.s for <total> tag).

Regards,
Mukul



__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread