Subject: Re: Accessing the Nth Occurrence of an Element
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 16 Sep 2008 10:13:11 +0100
|
2008/9/16 Michael Kay <mike@xxxxxxxxxxxx>:
>
>> I want to get the name of the fifth monkey (Phil). I thought
>> this would do it:
>>
>> ----------------------------------
>> <xsl:template match="forest">
>> <xsl:text>The fifth monkey's name is:
>> </xsl:text><xsl:value-of select="//monkey[5]/@name"/> </xsl:template>
>> ----------------------------------
>>
>> But this doesn't seem to work.
>
> This question was last asked (and answered) just 9 hours before your post,
> and before that about a week ago.
>
> Hope you'll stick around on the list for a bit now. Read what comes, you can
> learn a lot from it, and avoid the embarrassment of asking questions that
> have been answered so recently.
It seems a common requirement these days :)
Perhaps all the spec, text books and examples should be changed to say:
"To do a complete scan of the document for foo elements use /descendant::foo"
because:
a) it would avoid the confusion
b) the -or-self part of the // axis is pointless when starting at the root
The descendant-or-self axis (//) should only really be used when
starting from an element somewhere in the tree, and even then with
caution.
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
|