[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] assigned variable value is changing
Subject: [xsl] assigned variable value is changing From: Ganesh Babu N <nbabuganesh@xxxxxxxxx> Date: Sat, 1 Aug 2009 13:28:28 +0530 |
Dear All, input : <tbody> <row> <entry namest="c1" nameend="c3" align="left" valign="top">Table 1 Title</entry> </row> <row> <entry namest="c1" nameend="c2" align="left" valign="top">Table 1 TH C1 R1 and TH C2 R1 merged</entry> <entry align="left" valign="top">Table 1 TH C3 R1</entry> </row> <row> <entry align="left" valign="top">Table 1 TH C1 R2</entry> <entry align="left" valign="top">Table 1 TH C2 R2</entry> <entry align="left" valign="top">Table 1 TH C3 R2</entry> </row> <row> <entry align="left" valign="top">Table 1 TB C1 R4</entry> <entry align="left" valign="top">Table 1 TB C2 R4</entry> <entry align="left" valign="top">Table 1 TB C3 R4</entry> </row> <row> <entry align="left" valign="top">Table 1 TB C1 R5</entry> <entry align="left" valign="top" morerows="1">Table 1 TB C2 R5 and TB C2 R6 are merged</entry> <entry align="left" valign="top">Table 1 TB C3 R5</entry> </row> <row> <entry align="left" valign="top">Table 1 TB C1 R6</entry> <entry align="left" valign="top">Table 1 TB C3 R6</entry> </row> </tbody> Output expected: <table HeaderRowCount="0" FooterRowCount="0" BodyRowCount="6" ColumnCount="3"> <cell Name="0:0" RowSpan="1" ColumnSpan="3">Table 1 Title</cell> <cell Name="0:1" RowSpan="1" ColumnSpan="2">Table 1 TH C1 R1 and TH C2 R1 merged</cell> <cell Name="2:1" RowSpan="1" ColumnSpan="1">Table 1 TH C3 R1</cell> <cell Name="0:2" RowSpan="1" ColumnSpan="1">Table 1 TH C1 R2</cell> <cell Name="1:2" RowSpan="1" ColumnSpan="1">Table 1 TH C2 R2</cell> <cell Name="2:2" RowSpan="1" ColumnSpan="1">Table 1 TH C3 R2</cell> <cell Name="0:3" RowSpan="1" ColumnSpan="1">Table 1 TB C1 R4</cell> <cell Name="1:3" RowSpan="1" ColumnSpan="1">Table 1 TB C2 R4</cell> <cell Name="2:3" RowSpan="1" ColumnSpan="1">Table 1 TB C3 R4</cell> <cell Name="0:4" RowSpan="1" ColumnSpan="1">Table 1 TB C1 R5</cell> <cell Name="1:4" RowSpan="2" ColumnSpan="1">Table 1 TB C2 R5 and TB C2 R6 are merged</cell> <cell Name="2:4" RowSpan="1" ColumnSpan="1">Table 1 TB C3 R5</cell> <cell Name="0:5" RowSpan="1" ColumnSpan="1">Table 1 TB C1 R6</cell> <cell Name="2:5" RowSpan="1" ColumnSpan="1">Table 1 TB C3 R6</cell> </table> Code tried: <xsl:template match="entry"> <xsl:param name="colc"> <xsl:number level="single" count="entry"/> </xsl:param> <cell> <xsl:attribute name="Name"> <xsl:variable name="rowc"> <xsl:number level="any" count="row"/> </xsl:variable> <xsl:if test="contains(preceding-sibling::entry[1],@namest)"> <xsl:value-of select="$colc - 1 + number(substring-after(preceding-sibling::entry[1]/@nameend,'c')) - number(substring-after(preceding-sibling::entry[1]/@namest,'c'))"/> </xsl:if> <xsl:if test="not(contains(preceding-sibling::entry[1],@namest))"> <xsl:value-of select="$colc - 1"/> </xsl:if> <xsl:text>:</xsl:text> <xsl:value-of select="$rowc - 1"/> </xsl:attribute> </xsl:template> Output from the code: <table HeaderRowCount="0" FooterRowCount="0" BodyRowCount="6" ColumnCount="3"> <cell Name="0:0" RowSpan="1" ColumnSpan="3">Table 1 Title</cell> <cell Name="0:1" RowSpan="1" ColumnSpan="2">Table 1 TH C1 R1 and TH C2 R1 merged</cell> <cell Name="2:1" RowSpan="1" ColumnSpan="1">Table 1 TH C3 R1</cell> <cell Name="NaN:2" RowSpan="1" ColumnSpan="1">Table 1 TH C1 R2</cell> <cell Name="NaN:2" RowSpan="1" ColumnSpan="1">Table 1 TH C2 R2</cell> <cell Name="NaN:2" RowSpan="1" ColumnSpan="1">Table 1 TH C3 R2</cell> <cell Name="NaN:3" RowSpan="1" ColumnSpan="1">Table 1 TB C1 R4</cell> <cell Name="NaN:3" RowSpan="1" ColumnSpan="1">Table 1 TB C2 R4</cell> <cell Name="NaN:3" RowSpan="1" ColumnSpan="1">Table 1 TB C3 R4</cell> <cell Name="NaN:4" RowSpan="1" ColumnSpan="1">Table 1 TB C1 R5</cell> <cell Name="NaN:4" RowSpan="2" ColumnSpan="1">Table 1 TB C2 R5 and TB C2 R6 are merged</cell> <cell Name="NaN:4" RowSpan="1" ColumnSpan="1">Table 1 TB C3 R5</cell> <cell Name="NaN:5" RowSpan="1" ColumnSpan="1">Table 1 TB C1 R6</cell> <cell Name="NaN:5" RowSpan="1" ColumnSpan="1">Table 1 TB C3 R6</cell> </table> I have declared a param "colc" and i am manipulating according to the condition. But when i use condition the value of "colc" is changing. I am unable to understand why the value is changing and how to stop this change. Regards, Ganesh
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSL-List Guidelines, Mulberry Technologie | Thread | Re: [xsl] assigned variable value i, Martin Honnen |
[xsl] XSL-List Guidelines, Mulberry Technologie | Date | Re: [xsl] assigned variable value i, Martin Honnen |
Month |