Hi Anandh,
I did it using FOP 0.95. In your xsl code, number of <fo:table-column
column-width="1in"/> doesn't match(less than) the columns given under
for-each of quarters and hence the problem. You need to check empty
quarters. Also, attribute "increment-by" is removed as it doesn't support.
The code will be as below.
<xsl:template match="root/roadmap">
<fo:block space-before='2mm'>
<fo:block font-size="10pt" color="black" font-weight="bold"
space-before="0.54in" space-after="2pt" >
ROADMAP INFORMATION
</fo:block>
<fo:block space-before='2mm'>
</fo:block>
<fo:table border-collapse="collapse" font-size="9pt">
<fo:table-column column-width="1in"/>
<fo:table-column column-width="1in"/>
<fo:table-column column-width="1in"/>
<fo:table-column column-width="1in"/>
<fo:table-column column-width="1in"/>
<fo:table-header color="black" background-color="rgb(39,64,139)"
font-weight="bold">
<fo:table-row>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center">
<fo:block>YEAR</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center">
<fo:block>Q1</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center">
<fo:block>Q2</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center">
<fo:block>Q3</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center">
<fo:block>Q4</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:for-each select="years">
<fo:table-row>
<fo:table-cell padding="2pt" border="1pt solid black"
background-color="rgb(255,255,255)" text-align="center">
<fo:block><xsl:value-of select="year"/></fo:block>
</fo:table-cell>
<xsl:variable name="MyQuarter"><xsl:value-of
select="quarters[1]/quarter"/></xsl:variable>
<xsl:choose>
<xsl:when test="$MyQuarter='Q1'">
</xsl:when>
<xsl:when test="$MyQuarter='Q2'">
<fo:table-cell padding="2pt" border="1pt solid
black"><fo:block/></fo:table-cell>
</xsl:when>
<xsl:when test="$MyQuarter='Q3'">
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
</xsl:when>
<xsl:when test="$MyQuarter='Q4'">
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
</xsl:when>
<xsl:when test="$MyQuarter='Q5'">
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
<fo:table-cell padding="2pt" border="1pt solid black"
text-align="center"><fo:block/></fo:table-cell>
</xsl:when>
</xsl:choose>
<xsl:for-each select="quarters">
<fo:table-cell padding="2pt" border="1pt solid black"
background-color="rgb(255,255,255)" text-align="center">
<fo:block><xsl:apply-templates
select="requirements"/></fo:block>
</fo:table-cell>
</xsl:for-each>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
<xsl:template match="requirements">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="requirement">
<xsl:apply-templates/>
</xsl:template>
This code will produce your desired output with FOP 0.95. Hope this helps:-)
Regards
Aish
Jeroen Reijn wrote:
>
> Hi Anandh,
>
> first of all welcome! This email should go to the cocoon users
> mailinglist (see my CC). Please reply only to that list.
> Could you please describe the stacktrace or error message, because that
> would help us further.
>
> Regards,
>
> Jeroen
>
> anandhthiyagarajan wrote:
>> Hi everybody
>>
>> I am stuck up with an issue in manipulating the table.
>>
>>
>>
>> Consider the below XML and XSL
>>
>> <root>
>> <roadmap>
>> <years>
>> <year>2009</year>
>> <quarters>
>> <quarter>Q3</quarter>
>> <requirements>
>> <requirement>Mp3Player</requirement>
>> </requirements>
>> <requirements>
>> <requirement>Mp3Player</requirement>
>> </requirements>
>> <requirements>
>> <requirement>DataCable</requirement>
>> </requirements>
>> <requirements>
>> <requirement>Mp3Player</requirement>
>> </requirements>
>> <requirements>
>> <requirement>Mp3Player</requirement>
>> </requirements>
>> <requirements>
>> <requirement>Bluetooth</requirement>
>> </requirements>
>> </quarters>
>> <quarters>
>> <quarter>Q4</quarter>
>> <requirements>
>> <requirement>DataCable</requirement>
>> </requirements>
>> <requirements>
>> <requirement>MemoryCard</requirement>
>> </requirements>
>> <requirements>
>> <requirement>InbuiltCam</requirement>
>> </requirements>
>> </quarters>
>> </years>
>> </roadmap>
>> </root>
>>
>>
>> XSL:
>>
>> <xsl:template match="root/roadmap">
>> <fo:block space-before='2mm'>
>> <fo:block font-size="10pt" color="black" font-weight="bold"
>> increment-by="1.1.1" space-before="0.54in" space-after="2pt" >
>> ROADMAP INFORMATION
>> </fo:block>
>> <fo:block space-before='2mm'>
>> </fo:block>
>> <fo:table border-collapse="collapse" font-size="9pt">
>> <fo:table-column column-width="1in"/>
>> <fo:table-column column-width="50%"/>
>> <fo:table-column column-width="50%"/>
>> <fo:table-column column-width="50%"/>
>> <fo:table-column column-width="50%"/>
>> <fo:table-header color="black" background-color="rgb(39,64,139)"
>> font-weight="bold">
>> <fo:table-row>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> text-align="center">
>> <fo:block>YEAR</fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> text-align="center">
>> <fo:block>Q1</fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> text-align="center">
>> <fo:block>Q2</fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> text-align="center">
>> <fo:block>Q3</fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> text-align="center">
>> <fo:block>Q4</fo:block>
>> </fo:table-cell>
>> </fo:table-row>
>> </fo:table-header>
>> <fo:table-body>
>> <xsl:for-each select="years">
>> <fo:table-row>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> background-color="rgb(255,255,255)" text-align="center">
>> <fo:block><xsl:value-of select="year"/></fo:block>
>> </fo:table-cell>
>> <xsl:for-each select="quarters">
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> background-color="rgb(255,255,255)" text-align="center">
>> <fo:block><xsl:value-of select="."/></fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> background-color="rgb(255,255,255)" text-align="center">
>> <fo:block><xsl:value-of
>> select="requirement"/></fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> background-color="rgb(255,255,255)" text-align="center">
>> <fo:block><xsl:value-of
>> select="requirement"/></fo:block>
>> </fo:table-cell>
>> <fo:table-cell padding="2pt" border="1pt solid black"
>> background-color="rgb(255,255,255)" text-align="center">
>> <fo:block><xsl:value-of
>> select="requirement"/></fo:block>
>> </fo:table-cell>
>> </xsl:for-each>
>> </fo:table-row>
>> </xsl:for-each>
>> </fo:table-body>
>> </fo:table>
>> </fo:block>
>> </xsl:template>
>>
>>
>> I am attaching a file with this which contain the required ouptut.
>>
>>
>> http://old.nabble.com/file/p27254530/Table.doc Table.doc
>>
>>
>>
>> But i am not getting that output instead it throws a exception. Please
>> let
>> me know if i am missing something.
>>
>> Any help would be greatly appreciated.
>>
>>
>>
>> Thanks in Advance
>>
>> Anandh
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
--
View this message in context:
http://old.nabble.com/Re%3A-Table-manipulation-tp27258569p27432098.html
Sent from the Cocoon - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]