As has often been said here. You don't (can't) increment a variable. You will
have to find another way. Assuming that the root element of your document is
named "soup", this will give you the output you asked for.
<xsl:template match="soup">
<soup>
<xsl:apply-templates select="//b" />
</soup>
</xsl:template>
<xsl:template match="b">
<b>
<xsl:attribute name="id"><xsl:value-of select="name(.)" /><xsl:value-of
select="position()" /></xsl:attribute>
</b>
</xsl:template>
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: Ricardo Saraiva <rss(_at_)dee(_dot_)fct(_dot_)unl(_dot_)pt>
Sent: Thu, 22 Jan 2004 17:46:56 -0000
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: RE: [xsl] increment value
Hi,
That was an example. The numbers were not to be added to the
string.
Imagine the example without the numbers.
How do I increment a variable to add to the string?
Thanks,
Ricardo Saraiva
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Andreas L.
Delmelle
Sent: quinta-feira, 22 de Janeiro de 2004 17:16
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] increment value
-----Original Message-----
From: Ricardo Saraiva
<snip />
<a>
<b>1</b>
<b>2</b>
</a>
<a>
<b>3</b>
<b>4</b>
</a>
The output would be:
<b id="b1"/>
<b id="b2"/>
<b id="b3"/>
<b id="b4"/>
.
Something like:
<xsl:template match="a/b">
<xsl:element name="b">
<xsl:attribute name="id">
<xsl:value-of select="concat(name(.),.)" />
</xsl:attribute>
</xsl:element>
</xsl:template>
Cheers,
Andreas
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list