RE: [xsl] key() and ordering of resulting node-set

Subject: RE: [xsl] key() and ordering of resulting node-set
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 15 Nov 2006 19:32:53 -0000
In XSLT 1.0, key() returns a node-set - a set of nodes with no intrinsic
order.

Operations like xsl:for-each and xsl:apply-templates, in the absence of
xsl:sort, will always process the nodes of a node-set in document order. (If
they don't it's a bug.)

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Ronan Klyne [mailto:ronan.klyne@xxxxxxxxxxx] 
> Sent: 15 November 2006 18:51
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] key() and ordering of resulting node-set
> 
> Ah! I was reading the 1.0 spec, and couldn't find an explicit 
> statement of ordering.
> FYI, XT seems to return nodes in reverse document order...
> 
> 	# r
> 
> James A. Robinson wrote:
> >> Is it possible to guarantee the ordering of the node-set 
> returned by key()?
> >> If not, is it possible to force the order to document order?
> >> I have looked to the spec, but to no avail...
> > 
> > According to the 2.0 CR it is document order:
> > 
> >   The result of the function is a sequence of nodes, 
> >   in document order and with duplicates removed
> > 
> > from http://www.w3.org/TR/xslt20/#keys
> > 
> > Jim
> > 
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - -
> > James A. Robinson                       jim.robinson@xxxxxxxxxxxx
> > Stanford University HighWire Press      
> http://highwire.stanford.edu/
> > +1 650 7237294 (Work)                   +1 650 7259335 (Fax)
> > 
> > 
> 
> 
> 
> --
> Ronan Klyne
> Business Collaborator Developer
> Tel: +44 (0)870 163 2555
> ronan.klyne@xxxxxxxxxxx
> www.groupbc.com

Current Thread