- From: Weichel Bernhard (K3/EMW4) * <Bernhard.Weichel@de.bosch.com>
- Date: Fri, 16 Jul 1999 16:01:54 +0200
- To: "'www-xpath-comments@w3.org'" <www-xpath-comments@w3.org>
> -----Ursprüngliche Nachricht----- > Von: James Clark [SMTP:jjc@jclark.com] > Gesendet am: Dienstag, 13. Juli 1999 18:43 > An: Weichel Bernhard (K3/EMW4) * > Cc: 'www-xpath-comments@w3.org' > Betreff: Re: issue (node-ordering) > > Sorry, I don't understand your comment. Could you try explaining again, > perhaps at greater length and with more examples? > [wl] my issue is that the result of each step in XPATH is a list of objects with a well defined order. This order follows the order how the elements appear in the document when the traverse starts at the base of the step. In particular: "ancestor" creates a list where the elements appear in reverser order of the document. This is because the nearest ancestor (which is the parent) appears first. The same applies to "preceeding" where the left sibling is the element visited first. The objects in result list should have two properties: * rank which gives the position of the object in the result list * position which gives the position of the object within its container in the document. The overloaded [ ] operator should refer to the rank and not the position, then preceeding::foo[rank()=1] and (preceeding::foo)[rank()=1] have the same share the same result. > > "Weichel Bernhard (K3/EMW4) *" wrote: > > > > The design could be improved if there is a distinction between position > > (which relates to the position in the container) and rank which relates > to > > the position in the result of a step. > > > > The result of a step should be in the order as the objects appear in the > > document related to the basis of the location step. > > > > The problem comes from issue (bracket-overload) which works on the > position > > rather than on the rank within the result set of a step. In this case, > > "preceeding" gives the left sibling first. > > [wl] > then > > preceeding::foo[rank()=1] and (preceeding::foo)[rank()=1] have the same > result. > [wl] > Regards/Mit freundlichen Gruessen =================================================================== Bernhard Weichel Phone: (49) 711 811 8322 Robert Bosch GmbH Fax: (49) 711 811 260073 Dept. K3/EMW4 eMail: bernhard.weichel@de.bosch.com P.O. Box 30 02 40 D-70442 Stuttgart Germany >
Received on Friday, 16 July 1999 10:01:38 UTC