Re: [xsl] enumerating things (global counter)

Subject: Re: [xsl] enumerating things (global counter)
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 17 Apr 2002 17:36:57 +0100
Hi Andreas,

>   <xsl:template match="requirement">
>     <xsl:element name="section">
>       <xsl:element name="title">
>         REQ
>         <xsl:value-of select="count(preceding::requirement) + 1"/>:
>         <xsl:value-of select="@name"/>
>       </xsl:element>
>       <xsl:apply-templates/>
>     </xsl:element>
>   </xsl:template>
>
> But that does not take into account all preceding requirements.

It takes into account all "preceding" requirements, but "preceding" in
XPath terms doesn't include ancestors, and you want to include
ancestors in your numbering. So use:

  <xsl:value-of
    select="count(preceding::requirement | ancestor::requirement) + 1" />

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread