[xsl] How to sort a nodeset returned by key()?

Subject: [xsl] How to sort a nodeset returned by key()?
From: Dolmen ! <dolmen@xxxxxxxxxxx>
Date: Sat, 5 Apr 2008 14:17:56 +0200
Hi,

Short:
How can i sort a nodeset returned by key(), store it in a variable,
and still be able to compare its nodes with  nodes of the original
document ?

Long:

This is a transformation of my data set to an HTML table using rowspans.
I'm sorting my data, then I'm using a Muenchian grouping to group rows.

My problem is that the order of my sorted node set is not the same as
the order of the nodeset returned by key(). I have not found how to
reliably distinguish the first node of the group to output the
grouping cells in the right place.

I'm using xsltproc (from libxslt)

Here is an example using Steve Muench's data from
http://www.dpawson.co.uk/xsl/sect2/N7450.html#d11343e31

If I remove this sort, the XHTML, is clean, but the table is not sorted.





   Johnosn's Laundry
  Franks's Laundry
   Mary's Laundry
  Bill's Laundry
   Hammond's Laundry


  Franks's Diner
   Johnosn's Diner
  Hammond's Diner
   Mary's Diner
  Bill's Diner














   Accounts ordered by region


        RegionAccount



















Here is the broken HTML output :








  Accounts ordered by region




      Region
      Account


      Bill's Diner


      Mary's Diner


      Alaska
      Mary's Laundry


      Franks's Diner


      Canada
      Franks's Laundry


      Hammond's Diner


      Hammond's Laundry


      Johnosn's Diner


      Midwest
      Johnosn's Laundry


      New Jersey
      Bill's Laundry








Olivier Mengui.
http://o.mengue.free.fr/
_________________________________________________________________
Dicouvrez les profils Messenger de vos amis !
http://home.services.spaces.live.com/

Current Thread