|
Subject: [xsl] Fwd: From: "Eugene Bernard" <eugene.bernard@xxxxxxxxx> Date: Fri, 15 Feb 2008 09:30:54 +0530 |
Hi all
Using the below XML data (Partial listing) and XSL, I am getting the
HTML output as below.
How to make it to compact horizontally tabulated HTML output like this
(to limit the size of my mail i have removed html tags)
HTML Output :
Code Due Press ID Qty
---------------------------------------------
A001
----------------------------------------------
Beyond Mar
Press A 100
Press B 219
Feb Due
Press A 47
Press B 365
Mar Due
Press A 84
Press B 256
Over Due
Press B 2
--------------------------------
HTML Output (Desired):
CODE BEYOND MAR FEB DUE MAR DUE OVER DUE
A B C D A B C D A B C
D A B C D
A001 100 219 47 365 84 256
2
XML:
<?xml version="1.0" ?>
- <mpour>
- <item>
<ccode>A004</ccode>
<due>Beyond Mar</due>
<line>Press A</line>
<pour>409</pour>
<weight>3476.50</weight>
</item>
- <item>
<ccode>A004</ccode>
<due>Beyond Mar</due>
<line>Press A</line>
<pour>300</pour>
<weight>2550.00</weight>
</item>
- <item>
<ccode>A004</ccode>
<due>Beyond Mar</due>
<line>Press A</line>
<pour>500</pour>
<weight>4250.00</weight>
</item>
- <item>
XSL :
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="mpour">
<table border="1" cellspacing="0"
cellpadding="4"><tr><td>Code</td><td>Due</td><td>Press
ID</td><td>Qty</td></tr>
<xsl:for-each-group select="item" group-by="ccode">
<xsl:sort select="current-grouping-key()"/>
<tr>
<td><xsl:value-of select="ccode"/></td>
<td/>
<td/>
<td/>
</tr>
<xsl:for-each-group select="current-group()" group-by="due">
<xsl:sort select="current-grouping-key()"/>
<tr>
<td/>
<td><xsl:value-of select="due"/></td>
<td/>
<td/>
</tr>
<xsl:for-each-group select="current-group()" group-by="line">
<xsl:sort select="current-grouping-key()"/>
<tr>
<td/>
<td/>
<td><xsl:value-of select="line"/></td>
<td align="right"><xsl:value-of
select="format-number(sum(current-group()/pour),'######.##')" /></td>
</tr>
</xsl:for-each-group>
</xsl:for-each-group>
</xsl:for-each-group>
</table>
</xsl:template>
</xsl:stylesheet>
Regards
Eugene
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Parsing complex line (mixed t, Ilya Lifshits | Thread | RE: [xsl] Grouping problem, Michael Kay |
| Re: [xsl] Parsing complex line (mix, Ilya Lifshits | Date | Re: [xsl] Extracting text between n, Andrew Welch |
| Month |