[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] How count the Table cell (Cals Table) using XSL
Subject: Re: [xsl] How count the Table cell (Cals Table) using XSL From: "Byomkesh" <bkesh@xxxxxxxxxxxxxxx> Date: Tue, 27 Jun 2006 12:42:10 +0530 |
Hi Mukul, Thanks for your help. But its showing validation Error <!--- Validation error FORG0001: Cannot convert string "" to a double Transformation failed: Run-time errors were reported --> I have using Saxon 8.7.3j. I did not understand this error. Please Sorry again i am disturb you. Now what can i do? Thanks Byomkesh ------------------------------------------------ Hi Byomkesh, This is easier in XSLT 2.0. Below is the XSLT 2.0 solution (tested with Saxon 8.7.3J): <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" /> <xsl:template match="/table"> <table> <table.html frame="void" width="100%" rules="groups" align="left" /> <xsl:variable name="rtf"> <xsl:call-template name="FindMaxStringLength"> <xsl:with-param name="n" select="count(//tr/td)" /> </xsl:call-template> </xsl:variable> <colgroup> <xsl:for-each select="$rtf/x"> <col width="{format-number(((. div (sum(../*))) * 100), '##.##')}%"/> </xsl:for-each> </colgroup> <xsl:copy-of select="*" /> </table> </xsl:template> <xsl:template name="FindMaxStringLength"> <xsl:param name="n" /> <xsl:if test="$n > 0"> <x> <xsl:for-each select="//tr[2]/th[$n] | //tr/td[$n]"> <xsl:sort select="string-length(.)" order="descending" /> <xsl:if test="position() = 1"> <xsl:value-of select="string-length(.)" /> </xsl:if > </xsl:for-each> </x> <xsl:call-template name="FindMaxStringLength"> <xsl:with-param name="n" select="$n - 1" /> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> The stylesheet dynamically finds the column percentages depending on the amount of content in table cells across the whole Table. The table.html tag is not clear to me. I have done something with it. Hope you can tinker the stylesheet. Regards, Mukul On 6/24/06, Byomkesh <bkesh@xxxxxxxxxxxxxxx> wrote: > Dear All, > > I have one xml file. I want count cell and divide percentage in between cell > (through XSL). Please any one help me. > > XML File > ------------- > > <table border="0" cellspacing="0" cellpadding="1" width="90%"> > <thead> > <tr> > <th valign="top" colspan="3">Table 1.1 802.11b Channels</b></th> > </tr> > <tr> > <th>Channel Number</th> > <th>Center Frequency (in GHz)</th> > <th>USA</th> > </tr> > </thead> > <tbody> > <tr> > <td>1</td> > <td>2.412</td> > <td>✓</td> > </tr> > </tbody> > </table> > > I want OutPut > ----------------- > > <table> > <table.html frame="void" width="100%" rules="groups" align="left"> > <colgroup> > <col width="50%"/> > <col width="30%"/> > <col width="20%"/> > </colgroup> > <!-- Rest of the taging as it is --> > <thead> > <tr> > <th valign="top" colspan="3">Table 1.1 802.11b Channels</b></th> > </tr> > <tr> > <th>Channel Number</th> > <th>Center Frequency (in GHz)</th> > <th>USA</th> > </tr> > </thead> > <tbody> > <tr> > <td>1</td> > <td>2.412</td> > <td>✓</td> > </tr> > </tbody> > </table> > > Regards, > > Byomkesh
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How count the Table cell , Mukul Gandhi | Thread | Re: [xsl] How count the Table cell , Mukul Gandhi |
[xsl] xsl:strip-space and nbsp, Jordan Soet | Date | Re: [xsl] How count the Table cell , Mukul Gandhi |
Month |