Re: [xsl] XSLT 2.0 multi-level grouping challenge/problem

Subject: Re: [xsl] XSLT 2.0 multi-level grouping challenge/problem
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Thu, 24 May 2007 16:13:49 +0100
On 5/24/07, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote:
Consider this multi-level grouping problem for XSLT 2.0.

Here you go:


<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
   <xsl:template match="/">
       <table>
           <tr>
               <td>State</td>
               <td>City</td>
               <td>Organ</td>
               <td>Count</td>
           </tr>
           <xsl:for-each-group select="/donors/donor" group-by="state">
               <xsl:sort select="current-grouping-key()"/>
               <tr>
                   <td><xsl:value-of select="state"/></td>
                   <td/>
                   <td/>
                   <td/>
               </tr>
               <xsl:for-each-group select="current-group()" group-by="city">
                   <xsl:sort select="current-grouping-key()"/>
                   <tr>
                       <td/>
                       <td><xsl:value-of select="city"/></td>
                       <td/>
                       <td/>
                   </tr>
                   <xsl:for-each-group select="current-group()"
group-by="organ">
                       <xsl:sort select="current-grouping-key()"/>

                       <tr>
                           <td/>
                           <td/>
                           <td><xsl:value-of select="organ"/></td>
                           <td><xsl:value-of
select="count(current-group())"/></td>
                       </tr>
                   </xsl:for-each-group>
               </xsl:for-each-group>
           </xsl:for-each-group>
       </table>
   </xsl:template>

</xsl:stylesheet>

Current Thread