Subject: RE: display xml to complex html format
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 26 Mar 2010 13:51:35 -0000
|
Looks like a classic grouping problem. Either switch to XSLT 2.0 (Saxon runs
on .NET) and use xsl:for-each-group, or if you absolutely have to stick with
XSLT 1.0, then read up on the Muenchian Grouping technique.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
> -----Original Message-----
> From: Ramesh Kumar [mailto:cnrameshkumar@xxxxxxxxx]
> Sent: 26 March 2010 13:44
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: display xml to complex html format
>
> Dear All,
>
> I have a problem in defining XSLT for the following input and
> expected output format
>
> Please Help. I am using XSLT 1.0 version. And Dotnet Framework is 2.0
>
> Input XML is
> <NewDataSet>
> <Lines>
> <ColKey>2008</ColKey>
> <RowKey>JAN</RowKey>
> <CategoryName>SALES </CategoryName>
> <A1>-422976806.00000</A1>
> <A2>-3807391165.06000</A2>
> <A3>0.00000</A3>
> <Total>-4230367971.06000</Total>
> </Lines>
> <Lines>
> <ColKey>2008</ColKey>
> <RowKey>JAN</RowKey>
> <CategoryName>PROFIT</CategoryName>
> <A1>-4055338042.00000</A1>
> <A2>-4813647070.00000</A2>
> <A3>0.00000</A3>
> <Total>-8868985112.00000</Total>
> </Lines>
> <Lines>
> <ColKey>2009</ColKey>
> <RowKey>JAN</RowKey>
> <CategoryName>SALES</CategoryName>
> <A1>-18595059667.66000</A1>
> <A2>47537164177.41000</A2>
> <A3>0.00000</A3>
> <Total>28942104509.75000</Total>
> </Lines>
> <Lines>
> <ColKey>2009</ColKey>
> <RowKey>JAN</RowKey>
> <CategoryName>PROFIT</CategoryName>
> <A1>-18595059667.66000</A1>
> <A2>47537164177.41000</A2>
> <A3>0.00000</A3>
> <Total>28942104509.75000</Total>
> </Lines>
> <Lines>
> <ColKey>2010</ColKey>
> <RowKey>JAN</RowKey>
> <CategoryName>SALES</CategoryName>
> <A1>-982334530.00000</A1>
> <A2>-4036020530.00000</A2>
> <A3>0.00000</A3>
> <Total>-5018355060.00000</Total>
> </Lines>
> <Lines>
> <ColKey>2010</ColKey>
> <RowKey>JAN</RowKey>
> <CategoryName>PROFIT</CategoryName>
> <A1>-982334530.00000</A1>
> <A2>-4036020530.00000</A2>
> <A3>0.00000</A3>
> <Total>-5018355060.00000</Total>
> </Lines>
> <Lines>
> <ColKey>2010</ColKey>
> <RowKey>FEB</RowKey>
> <CategoryName>PROFIT</CategoryName>
> <A1>-982334530.00000</A1>
> <A2>-4036020530.00000</A2>
> <A3>0.00000</A3>
> <Total>-5018355060.00000</Total>
> </Lines>
> </NewDataSet>
> Expected Output format HTML format is
> <html xmlns="http://www.w3.org/1999/xhtml" > <head>
> <title>Untitled Page</title>
> </head>
> <body>
> <table border="1" cellpadding="1" cellspacing="0">
> <thead><tr><td rowspan="2">Month</td><td
> rowspan="2">CategoryName</td><td colspan="4"
> align="center">2008</td> <td colspan="4"
> align="center">2009</td><td colspan="4"
> align="center">2010</td></tr><tr><td>A1</td><td>A2</td><td>A3<
> /td><td>Total</td><td>A1</td><td>A2</td><td>A3</td><td>Total</
> td><td>A1</td><td>A2</td><td>A3</td><td
> style="width: 28px">Total</td></tr>
> <tr>
> <td rowspan="2">
> JAN</td>
> <td rowspan="1">
> SALES</td>
> <td>
> -422976806.00</td>
> <td>
> -3807391165.06</td>
> <td>
> 0.00</td>
> <td>
> -4230367971.06</td>
> <td>
> -18595059667.66</td>
> <td>
> 47537164177.41</td>
> <td>
> 0.00</td>
> <td>
> 28942104509.75</td>
> <td>
> -982334530.00</td>
> <td>
> -4036020530.00</td>
> <td>
> 0.00</td>
> <td >
> -5018355060.00</td>
> </tr>
> <tr>
>
> <td rowspan="1">
> PROFIT</td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> </tr>
> <tr>
> <td rowspan="1">
> FEB</td>
> <td rowspan="1">
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> <td>
> </td>
> </tr>
> </thead><tbody /></table>
> </body>
> </html>
>
>
> Regards,
> Ramesh
|