RE: Number of node in list from stylesheet

Subject: RE: Number of node in list from stylesheet
From: Jeni Tennison <Jeni.Tennison@xxxxxxxxxxxxxxxx>
Date: Wed, 24 May 2000 16:20:14 +0100
At 02:47 PM 5/24/00 +0100, Mike Kay wrote:
>> I have tried xsl:number, but the count attribute cannot include the
>> document() function.
>
>It doesn't need to. Just use <xsl:for-each> to make the relevant node
>current:
>
>   <xsl:variable name="monthNumber">
>     <xsl:for-each select="document('')//foo:month[@name = $monthName]">
>       <xsl:number/>
>     </xsl:for-each>
>   </xsl:variable>

Many thanks to Mike for this.  I had erroneously assumed that using
xsl:number within an xsl:for-each would have exactly the same problems as
using <xsl:value-of select="position()" />, i.e. that it would always give
the answer '1' because there was only one node in the set of current
node-list.  For those that are interested, the vital sentence within the
XSLT Recommendation is:

"If no value attribute is specified, then the xsl:number element inserts a
number based on the position of the current node in the *source tree*." (my
emphasis)

Cheers,

Jeni

Dr Jeni Tennison
Epistemics Ltd, Strelley Hall, Nottingham, NG8 6PE
Telephone 0115 9061301 ? Fax 0115 9061304 ? Email
jeni.tennison@xxxxxxxxxxxxxxxx



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


Current Thread