Subject: Re: [xsl] counting again From: Christoph.Oberle@xxxxxxxxxx Date: Fri, 13 Jul 2001 18:55:59 +0200 |
Hallo Michael, for numbering you should use <xsl:number>: If you just use this <xsl:number level="any" count="*[name() = $name]"/> instead of <xsl:value-of select="count(preceding-sibling::*[name()=$name])" /> in your code, it will count all preceding nodes of name = $name at any level in the document tree. The counting at the end can be done with count(): <xsl:value-of select="count(//EL1)"/> The modified stylesheet looks like this: <xsl:template match="/"> <xsl:apply-templates/> <xsl:call-template name="countings"/> </xsl:template> <xsl:template match="EL1 | EL2"> <xsl:variable name="name" select="name()"/> <xsl:copy> <xsl:element name="{$name}_NR"> <xsl:number level="any" count="*[name() = $name]"/> <!-- instead of: xsl:value-of select="count(preceding-sibling::*[name()=$name])" / --> </xsl:element> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template name="countings"> <COUNTINGS> <EL1_LNR><xsl:value-of select="count(//EL1)"/></EL1_LNR> <EL2_LNR><xsl:value-of select="count(//EL2)"/></EL2_LNR> </COUNTINGS> </xsl:template> Caution: Numbering is starting with 1 not with 0! Greetings | Grüße ;-) Christoph XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] counting again, Michael Schäfer | Thread | AW: [xsl] counting again, Michael Schäfer |
Re: [xsl]: Setting the value of var, Robert Koberg | Date | [xsl] Steve M?, Dave Pawson |
Month |