[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: Yet Another Grouping Question


Subject: RE: Yet Another Grouping Question
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Wed, 15 Mar 2000 16:05:37 -0000

> We want a result like this:
> 
>     Installed Software
> 
>   Program         Version
>   ------------------------
>   Emacs ......... 19.34 ..
>   Emacs ......... 20.3 ...
>   Emacs ......... 20.4 ...
>   JDK %%%%%%%%%%% 1.1.2 %%
>   JDK %%%%%%%%%%% 1.2 %%%%
>   XEmacs ........ 20.4 ...
>   XEmacs ........ 21.1.9 .
> 
OK, I see what you're after now.
I'd tackle it like this (I don't recall the exact shape of your data so
adapt as necessary):

1. create a set of distinct programs:
var progs select=//program
var distinct_progs select=$progs[not(@name=preceding::program/@name)]

2. iterate through this in sorted order:
for-each select=$distinct_progs
  sort select=@name
    var color choose when position() mod 2 = 0 red otherwise blue 
    for-each version of this program
      display this program version in the current background color.

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread