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

Received on Wednesday, 10 March 2004 09:11:20 UTC