|
[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 standardsChristian Grün christian.gruen at gmail.comSat Mar 28 13:12:47 PST 2009
Geert, I have checked your test cases; imho, all of them are correct. Christian 2009/3/28 Geert Josten <http://x-query.com/mailman/listinfo/talk>: > Yes, > > It starts making sense to me now as well. I keep forgetting that $xml/p actually means $xml/child::p. And we all understand intuitively what $xml/p[2] means (especially when reading it as $xml/child::p[2]).. > > Just for the sake of completeness, I wrote a simplistic self-contained testsuite with most interesting cases. If someone of you lot could just take a look whether I didn't make any mistakes, that would be appreciated. > > Kind regards, > Geert > >> > > > Drs. G.P.H. Josten > Consultant > > > http://www.daidalos.nl/ > Daidalos BV > Source of Innovation > Hoekeindsehof 1-4 > 2665 JZ Bleiswijk > Tel.: +31 (0) 10 850 1200 > Fax: +31 (0) 10 850 1199 > http://www.daidalos.nl/ > KvK 27164984 > De informatie - verzonden in of met dit emailbericht - is afkomstig van Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit bericht kunnen geen rechten worden ontleend. > > >> From: http://x-query.com/mailman/listinfo/talk >> [mailto:http://x-query.com/mailman/listinfo/talk] On Behalf Of Ronald Bourret >> Sent: vrijdag 27 maart 2009 21:53 >> To: Pavel Minaev >> Cc: http://x-query.com/mailman/listinfo/talk >> Subject: Re: Question on expected XQuery return >> per standards >> >> 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 >> _______________________________________________ >> http://x-query.com/mailman/listinfo/talk >> http://x-query.com/mailman/listinfo/talk >> > > > _______________________________________________ > http://x-query.com/mailman/listinfo/talk > http://x-query.com/mailman/listinfo/talk > -- ___________________________ Christian Gruen Universitaet Konstanz Department of Computer & Information Science D-78457 Konstanz, Germany Tel: +49 (0)7531/88-4449, Fax: +49 (0)7531/88-3577 http://www.inf.uni-konstanz.de/~gruen
|
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
|






