You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by anandhthiyagarajan <an...@gmail.com> on 2010/02/02 18:39:39 UTC

Table Manipulation

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.


Table.doc



But i am not getting that output instead it throws a exception. Please let
me know if i am missing something.

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> 

Any help would be greatly appreciated.



Thanks in Advance

Anandh
-- 
View this message in context: http://old.nabble.com/Table-Manipulation-tp27424395p27424395.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 Robby Pelssers <ro...@ciber.com>.
It's probably better to ask this question on the proper mailing list... this is xslt related and more specific xsl-fo.

Cheers,
Robby Pelssers

-----Original Message-----
From: anandhthiyagarajan [mailto:anandhthiyagarajan@gmail.com] 
Sent: Tuesday, February 02, 2010 6:40 PM
To: users@cocoon.apache.org
Subject: Table Manipulation


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.


Table.doc



But i am not getting that output instead it throws a exception. Please let
me know if i am missing something.

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> 

Any help would be greatly appreciated.



Thanks in Advance

Anandh
-- 
View this message in context: http://old.nabble.com/Table-Manipulation-tp27424395p27424395.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