Re: XQuey

Dear Jan,

The example you give below:

<elem attr="g"> <b/> </a>

is not a well-formed element, so I am not exactly sure what 
the input value is.  I'm going to assume you meant
that b is a child of the element a:

let $x := <a attr="g"/><b/></a>

So then the values of the following expressions are:

$x/@attr/following-sibling::node() = ()
$x/following-sibling::node() = ()

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() = ()

Thanks for pointing out this problem.  I will raise with the group
but would appreciate you posting your remark to
public-qt-comments@w3.org 

Thanks,
Mary

> the following-sibling axis contains the context node's following siblings,
> those children of the context node's parent that occur after the context
> node in document order; if the context node is an attribute node or
> namespace node, the following-sibling axis is empty
> 
> the ancestor-or-self axis contains the context node and the ancestors of
> the context node;
> 
> the following axis contains all nodes that are descendants of the root of
> the tree in which the context node is found, are not descendants of the
> context node, and occur after the context node in document order

> Consider now for instance:
> 
> <elem attr="g"> <b/> </a>
> 
> clearly
> 
> <elem>/@attr/following-sibling::node() = empty,
> <elem>/following-sibling::node() = empty,
> and <elem>/@attr/following::node() = <b/>
> 
> But in
> 
> http://www.w3.org/TR/2004/WD-xquery-semantics-20040220/#sec_axes
> 
> 4.2.1.1 is written
> 
> [following:: NodeTest] ==
> [ancestor-or-self::node()/following-sibling::node()
>  /descendant-or-self::NodeTest]
> 
> Hence by this definition we have
> 
> <elem>/@attr/following::node() = empty.
> 
> Can you agree with this inconsistency?
> 
> Jan Paredaens
> Philippe Michiels
-- 
Mary Fernandez <mff@research.att.com>
AT&T Labs - Research

Received on Tuesday, 9 March 2004 16:07:06 UTC