[
Lists Home |
Date Index |
Thread Index
]
- From: Richard Tobin <richard@cogsci.ed.ac.uk>
- To: James Clark <jjc@jclark.com>, xml-dev@ic.ac.uk
- Date: Fri, 30 Apr 1999 10:21:44 +0100 (BST)
> That's not correct: foo//bar[5] 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 "[5]" 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[5] 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
its parent".
Am I still confused?
-- Richard
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|