You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Jeroen Reijn <j....@onehippo.com> on 2010/01/21 15:24:27 UTC

Re: Table manipulation

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


Re: Table manipulation

Posted by anandhthiyagarajan <an...@gmail.com>.
Thanks first of all for your reply. 

The stack trace is as follows

java.lang.ArrayIndexOutOfBoundsException: -2

Cocoon stacktrace:

java.lang.ArrayIndexOutOfBoundsException: -2
context://prd-doc/doc2road.xsl - 7:18	

Failed to process pipeline
context://prd-doc/doc2road.xsl - 7:18	[TransformerException]
context://prd-doc/sitemap.xmap - 63:46	<map:serialize type="fo2pdf">
context://prd-doc/sitemap.xmap - 62:51	<map:transform>
context://prd-doc/sitemap.xmap - 61:45	<map:generate>
context://sitemap.xmap - 1034:92	<map:mount>




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-tp27258569p27268592.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


Re: Table manipulation

Posted by Aish <ai...@laserwords.com>.
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