Subject: [xsl] 3 level Muenchian Grouping ? From: "Manish Rambabu" <manishrb@xxxxxxxxxxx> Date: Tue, 20 Jan 2004 19:45:34 +0000 |
Thanks Much M
--------------------------------------------------------------------------------------- <?xml version="1.0" ?> <ORDER_DETAILS> <CUSTOMER> <NAME>John Smith</NAME> <SITE> <ADDRESS> <STREET>111 Freedom Drive</STREET> <CITY>Chicago</CITY> <STATE>IL</STATE> <ZIP>60111</ZIP> </ADDRESS> <ACCOUNT_NUMBER>12222</ACCOUNT_NUMBER> <CATEGORY>1</CATEGORY> <TYPE>AX</TYPE> <ORDER_DATE>01/01/03</ORDER_DATE> <PRICE>21.99</PRICE> </SITE> </CUSTOMER>
<CUSTOMER> <NAME>Mary Jane</NAME> <SITE> <ADDRESS> <STREET>16 Penn Ave NW</STREET> <CITY>Washington DC</CITY> <STATE>DC</STATE> <ZIP>20333</ZIP> </ADDRESS> <ACCOUNT_NUMBER>67889</ACCOUNT_NUMBER> <CATEGORY>1</CATEGORY> <TYPE>AX</TYPE> <ORDER_DATE>02/01/03</ORDER_DATE> <PRICE>11.98</PRICE> </SITE> </CUSTOMER>
<CUSTOMER> <NAME>Mark Anderson</NAME> <SITE> <ADDRESS> <STREET>175 Commerce Park</STREET> <CITY>San Francisco</CITY> <STATE>CA</STATE> <ZIP>93311</ZIP> </ADDRESS> <ACCOUNT_NUMBER>66145</ACCOUNT_NUMBER> <CATEGORY>1</CATEGORY> <TYPE>BX</TYPE> <ORDER_DATE>01/31/03</ORDER_DATE> <PRICE>11.98</PRICE> </SITE> </CUSTOMER>
<CUSTOMER> <NAME>Chris Dewalt</NAME> <SITE> <ADDRESS> <STREET>1344 Washington Park</STREET> <CITY>San Francisco</CITY> <STATE>CA</STATE> <ZIP>93344</ZIP> </ADDRESS> <ACCOUNT_NUMBER>000234</ACCOUNT_NUMBER> <CATEGORY>1</CATEGORY> <TYPE>BX</TYPE> <ORDER_DATE>01/31/03</ORDER_DATE> <PRICE>41.00</PRICE> </SITE> </CUSTOMER>
<CUSTOMER> <NAME>Sam Dewar</NAME> <SITE> <ADDRESS> <STREET>123 Hunington Way</STREET> <CITY>Mclean</CITY> <STATE>VA</STATE> <ZIP>20121</ZIP> </ADDRESS> <ACCOUNT_NUMBER>100988</ACCOUNT_NUMBER> <CATEGORY>2</CATEGORY> <TYPE>BX</TYPE> <ORDER_DATE>01/31/03</ORDER_DATE> <PRICE>11.00</PRICE> </SITE> </CUSTOMER> <CUSTOMER> <NAME>Peter Henderson</NAME> <SITE> <ADDRESS> <STREET>421 RidgeTop Place</STREET> <CITY>Sarosota</CITY> <STATE>MI</STATE> <ZIP>10121</ZIP> </ADDRESS> <ACCOUNT_NUMBER>800223</ACCOUNT_NUMBER> <CATEGORY>1</CATEGORY> <TYPE>AX</TYPE> <ORDER_DATE>01/01/03</ORDER_DATE> <PRICE>83.00</PRICE> </SITE> </CUSTOMER> </ORDER_DETAILS> ---------------------------------------------------------------------------- ---------------------------------------
<?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="CATgrp" match="SITE" use="CATEGORY" /> <xsl:key name="TYPgrp" match="SITE" use="concat(CATEGORY,'~',TYPE)" />
<table width="95%" border="1" cellpadding="1" cellspacing="0" border-color="#ffffff"> <tr> <th>Customer Name</th> <th>Site Address</th> <th>Site City</th> <th>Site State</th> <th>Site Zip</th> <th>Account Number</th> <th>Category</th> <th>Type</th> <th>Order Date</th> <th>Price</th>
</tr> <xsl:apply-templates select="CUSTOMER"/> </table> </xsl:template>
<xsl:for-each select="SITE[count(. | key('CATgrp', CATEGORY)[1]) = 1]"> <xsl:for-each select="key('CATgrp',CATEGORY)[generate-id() = generate-id(key('TYPgrp',concat(CATEGORY,'~',TYPE)))]"> <xsl:for-each select="key('TYPgrp',concat(CATEGORY,'~',TYPE))">
<td><xsl:value-of select="../NAME"/></td> <td><xsl:value-of select="ADDRESS/STREET"/></td> <td><xsl:value-of select="ADDRESS/CITY"/></td> <td><xsl:value-of select="ADDRESS/STATE"/></td> <td><xsl:value-of select="ADDRESS/ZIP"/></td> <td><xsl:value-of select="ACCOUNT_NUMBER"/></td> <td><xsl:value-of select="CATEGORY"/></td> <td><xsl:value-of select="TYPE"/></td> <td><xsl:value-of select="ORDER_DATE"/></td> <td><xsl:value-of select="PRICE"/></td> </tr>
<xsl:variable name="subTotal" select="format-number(sum(key('TYPgrp',concat(CATEGORY,'~',TYPE))/PRICE[numb er(.) = number(.)]),'#.##')"/>
<tr> <td colspan="9" align="right"><b> <font face="Verdana" size="2" color="#0000FF"><xsl:value-of select="CATEGORY"/> <xsl:text> </xsl:text></font><u><xsl:value-of select="TYPE"/></u> Totals: </b></td> <td class="total"><xsl:value-of select="$subTotal"/></td> </tr>
</xsl:for-each> </xsl:for-each>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Follow-up question [Fwd: [xsl] , Mir Farooq Ali | Thread | Re: [xsl] 3 level Muenchian Groupin, G. Ken Holman |
Re: Follow-up question [Fwd: [xsl] , G. Ken Holman | Date | [xsl] Re: The real harm is in funct, Dimitre Novatchev |
Month |