xsl-list
[Top] [All Lists]

RE: [xsl] display xml to complex html format

2010-03-26 08:52:04

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(_at_)gmail(_dot_)com] 
Sent: 26 March 2010 13:44
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>