|
[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 standardsRonald Bourret rpbourret at rpbourret.comFri Mar 27 13:52:58 PST 2009
Pavel Minaev wrote: > 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. Thanks for the clarification. I had to think about it a bit -- the parent isn't obviously involved until you realize that the parent is a descendant of $xml -- but that now makes sense. -- Ron
|
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
|






