Correction: Re: [xquery-talk] Question on expected XQuery return per standards

David Sewell dsewell at virginia.edu
Fri Mar 27 14:34:38 PST 2009


"We're seeing different behavior from a couple of XML parsers." I mean
"XQuery parsers", sorry.

On Fri, 27 Mar 2009, David Sewell wrote:

> Over on another list there has been a discussion of unexpected results
> from an XQuery like the following. The issues are how the parser
> interprets, in particular, the abbreviated syntax '//' and '[N]' as an
> equivalent to '[position() eq N]'.
>
> My belief is that the standard requires that two nodes (p2, p4) should
> be returned for result sets 1-4 below, because the interpretation of the
> XPath should in each case be identical. Set 5, on the other hand, should
> return only p2.
>
> We're seeing different behavior from a couple of XML parsers. Anyone
> care to read from the stone tablets on this one?
>
> (: begin query :)
>
> let $xml :=
>   <root>
>     <div>
>       <p>p1</p>
>       <p>p2</p>
>     </div>
>     <div>
>       <p>p3</p>
>       <p>p4</p>
>     </div>
>   </root>
>
> return (
>   <set1>{ $xml/descendant-or-self::node()/p[position() eq 2] }</set1>,
>   <set2>{ $xml//p[position() eq 2] }</set2>,
>   <set3>{ $xml/descendant-or-self::node()/p[2] }</set3>,
>   <set4>{ $xml//p[2] }</set4>,
>   <set5>{ $xml/descendant::p[2] }</set5>
> )
>
> (: end query :)
>
> David S.
>
>

-- 
David Sewell, Editorial and Technical Manager
ROTUNDA, The University of Virginia Press
PO Box 801079, Charlottesville, VA 22904-4318 USA
Courier: 310 Old Ivy Way, Suite 302, Charlottesville VA 22903
Email: dsewell at virginia.edu   Tel: +1 434 924 9973
Web: http://rotunda.upress.virginia.edu/


More information about the talk mailing list