cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aish <aiswa...@laserwords.com>
Subject Re: Table manipulation
Date Wed, 03 Feb 2010 06:35:53 GMT

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: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 
> 
> 

-- 
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: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message