Lists Home |
Date Index |
- From: Richard Tobin <email@example.com>
- To: James Clark <firstname.lastname@example.org>, email@example.com
- Date: Fri, 30 Apr 1999 10:21:44 +0100 (BST)
> That's not correct: foo//bar selects any bar element that is a
> descendant of a foo child of the current node and that is the fifth bar
> child of its parent.
Good, that's what I initially expected.
> What exactly in the draft led you to think otherwise?
My interpretation is as follows:
"foo" selects the foo children of the current node
For each of these, "//" selects its descendants
"bar" filters these to select the bar descendants
The predicate "" is evaluated "with the complete list of nodes to be
filtered as the context node list" (6.1.3) - ie, all the bar descendants
of the current foo node. "5" is equivalent to "position()=5", and
"position()" returns the position of the node in the context node
list (6.2.2). So it selects the fifth of all the bar descendants.
This is not what I said in my previous message - I was wrongly taking
the context list to be all the bar descendants of all the foo children,
rather than evaluating //bar separately for each foo. But it's still
not what you say above.
And an example in section 6.1 seems to confirm my (revised) interpretation:
/from-descendants(figure[position()=42]) selects the forty-second
figure element in the document
It doesn't say "selects any figure element that is the 42nd child of
Am I still confused?
xml-dev: A list for W3C XML Developers. To post, mailto:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)