This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Equivalent of a Global Counter
- To: xsl-list at mulberrytech dot com
- Subject: Re: Equivalent of a Global Counter
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Wed, 15 Nov 2000 00:28:49 GMT
- References: <A3BEF7539574D4119E61001083F94D780F315B@WELBKSEMS02>
- Reply-To: xsl-list at mulberrytech dot com
so, something like
<xsl:variable name="x">
<xsl:number level="any" count="xxxx"/>
<xsl:variable>
<prov id="...{$x}">
<xsl:apply-templates/>
</prov>
where the count expression selects whatever it is that is being counted
by the id scheme it selects in the input tree but the output is usually
expressable as a function of the input.
If you'd really rather count on the output then it would be simpler to
do it in two passes.
First save the output into a variable in which you have the desired
output except for id="?" then use a node-set extension function
to apply an identity transform together with the extra rule
<xsl:template match="*[@id='?@']">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="id">
....<xsl:number level="any" count="*[@id="'?']"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:template>
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list