The XPath 1.0 specification said that attributes were not included in the
result of the following axis. I see no reason to change that.
Michael Kay
_____
From: Jerome Simeon [mailto:simeon@us.ibm.com]
Sent: 10 March 2004 14:11
To: Michael Kay
Cc: 'Jan Hidders'; 'Jan Paredaens'; 'Mary Fernandez'; 'Philippe Michiels';
www-ql@w3.org
Subject: RE: XQuey
Shouldn't it also contains some attributes nodes from the same element which
are
considered (by that implementation) to be after that attribute node to be in
document order?
For instance,
let $x := <a b="1" c="2"/> return
$x/@b/following::node()
may return either () or the attribute 'c', depending on how the
implementation deals with
document order?
- Jerome
"Michael Kay" <mhk@mhk.me.uk>
03/10/2004 05:21 AM
To
"'Mary Fernandez'" <mff@research.att.com>, "'Jan Paredaens'"
<Jan.Paredaens@ua.ac.be>
cc
Jerome Simeon/Watson/IBM@IBMUS, <www-ql@w3.org>, "'Jan Hidders'"
<jan.hidders@ua.ac.be>, "'Philippe Michiels'" <philippe.michiels@ua.ac.be>
Subject
RE: XQuey
# I agree that the prose and formal meanings of the following expression
# conflict, but I believe the formal semantics is the correct one, i.e.,
#
# $x/@attr/following::node() = ()
#
The XPath 1.0 definition is:
"the following axis contains all nodes in the same document as the context
node that are after the context node in document order, excluding any
descendants and excluding attribute nodes and namespace nodes"
(The accepted meaning of "any descendants" is "descendants of the context
node", while the accepted meaning of "attribute nodes and namespace nodes"
is "all attribute and namespace nodes")
This definition means that the following axis, starting at an attribute,
includes the children of the element containing that attribute.
Michael Kay