|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] Question on expected XQuery return per standardsPavel Minaev int19h at gmail.comFri Mar 27 12:48:28 PST 2009
On Fri, Mar 27, 2009 at 12:06 PM, Ronald Bourret <http://x-query.com/mailman/listinfo/talk> wrote: > Hmmm. I would have thought that, in each case, only p2 is returned. > > According to the spec, "For each item in the input sequence, the predicate > expression is evaluated using an inner focus, defined as follows: The > context item is the item currently being tested against the predicate. The > context size is the number of items in the input sequence. The context > position is the position of the context item within the input sequence." > > In each case, the input sequence is the result of $xml//p, which is a > sequence of four p elements. Since the position is the position within this > sequence, only p2 is in the second position. But it isn't. The standard is very clear that $xml//p expands to $xml/descendant-or-self::node()/p. The ordering is also very clear: "Each non-initial occurrence of "//" in a path expression is expanded as described in 3.2.4 Abbreviated Syntax, leaving a sequence of steps separated by "/". This sequence of steps is then evaluated from left to right." and, obviously, in $xml/descendant-or-self::node()/p[2], 2 is the position within the sequence of child nodes of the parent of p, not the expression as a whole.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






