Lists Home |
Date Index |
> On Thu, 2002-07-18 at 00:39, bob mcwhirter wrote:
> > > Finally a word to say that even though the preceding-sibling is a
> > > "reverse" axis, a copy-of or apply-templates on "preceding-sibling::*"
> > > would take the nodes by document order: the "reverse order" property
> > > only affects the position -as returned by the "position()" function- of
> > > the nodes, not their physical position in the node set...
> > Though, unless otherwise specified (ie, in c14n), a node set is indeed
> > a -set-, with no particular order implied.
> Reminds me of long threads, elsewhere,... we could argue that node sets
> are not -sets- in the sense that they have an order: if I affect
> "preceding-sibling::*" to a variable "var", then I can ask for $var
> which would have no meaning if this was a -set- and the order used to
> evaluate $var is the forward order even though the node set has been
> constructed using an axis with a reverse order.
Oh dear, Eric. You're in for it now :-)
I fought this battle a year or two ago on xsl-list and lost it to David
Carlisle. Node sets do not have order. The specs do *impose* an ordering on
them in certain areas, but this is not the same thing as their *having* order.
Because of this, and because generate-id() grants them an identity, they are
indeed true sets.
Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://4Suite.org http://fourthought.com
Track chair, XML/Web Services One Boston: http://www.xmlconference.com/
The many heads of XML modeling - http://adtmag.com/article.asp?id=6393
Will XML live up to its promise? - http://www-106.ibm.com/developerworks/xml/li