Subject: Re: [xsl] hierarchic counting in flat structures From: Michael Kay <mike@xxxxxxxxxxxx> Date: Fri, 02 Nov 2012 10:48:57 +0000 |
Michael Kay Saxonica
Hi everyone,
given a structure like
<H3>b&</H3> <H4>b&</H4> <H4>b&</H4>
<H3>b&</H3> <H4>b&</H4>
<H3>b&</H3> <H4>b&</H4> <H4>b&</H4> <H4>b&</H4>
I would like to number the H4, re-starting on every H3. So the output is something like this:
H3: 1 H4: 1 H4: 2 H3: 2 H4: 1 H3: 3 H4: 1 H4: 2 H4: 3
The following xsl does the job, but I wonder if this solution is really effective and elegant.
<xsl:template match="H4"> <xsl:text>
 H4: </xsl:text> <xsl:variable name="myH3" select="preceding-sibling::H3[1]" /> <xsl:value-of select="1 + count(preceding-sibling::H4[preceding- sibling::H3 = $myH3])" /> </xsl:template>
Are there better ways to solve my problem?
Best regards and thanks for brainstorming, Norbert
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] hierarchic counting in flat s, Norbert Heidbrink | Thread | Re: [xsl] hierarchic counting in fl, Norbert Heidbrink |
[xsl] hierarchic counting in flat s, Norbert Heidbrink | Date | Re: [xsl] hierarchic counting in fl, Norbert Heidbrink |
Month |