xsl-list
[Top] [All Lists]

Table error

2004-09-09 08:33:30
Hello
I have the following xml:

<root>
  <Table name="abc">
    <Column name="987">
      <Value>h</Value>
    </Column>
    <Column name="123">
      <Value>a</Value>
    </Column>
    <Column name="456">
      <Value>g</Value>
    </Column>
  </Table>

  <Table name="ghi">
    <Column name="jkl">
      <Value>5</Value>
    </Column>
  </Table>

  <Table name="mno">
    <Column name="pqr">
      <Value>7</Value>
    </Column>
   <Column name="1011">
      <Value>p</Value>
    </Column>
  </Table>

  <Table name="stu">
    <Column name="vwx">
      <Value>3</Value>
    </Column>
  </Table>
</root>

Using this I would like to create a table like that below:

abc
Column   Value
987       h
123       a
456       g

ghi
Column   Value
jkl       5

mno
Column   Value
pqr         7
1011      p

stu
Column   Value
vwx       3

At the moment I have the xsl-fo shown below which keeps producing a
'Expecption in thread "main" jave.lang.OutofMemoryError' at the command
prompt when run with the xml.  It works if I remove the 'Column' and
'Values' headings in xsl or if I leave those in and remove each Table name.
Please mail back if you can suggest how I can resolve this!  Thanks.


<xsl:template match="ROOT">
                        <fo:root>

                                 <fo:page-sequence 
master-reference="first.page">



<!-- ================================ PAGE BODY
================================-->
<fo:flow flow-name="xsl-region-body">
<fo:block xsl:use-attribute-sets="orderlist.block">
<fo:block xsl:use-attribute-sets="orderlist.table.block">
<fo:table table-layout="fixed">
<fo:table-column column-width="100mm"/>
<fo:table-column column-width="100mm"/>

<fo:table-body>
<xsl:for-each select="Table">
 <fo:table-row>
    <fo:table-cell
xsl:use-attribute-sets="orderlist.table.detail.textcolumns">
         <fo:block xsl:use-attribute-sets="orderlist.table.detail.blocks">
                 <xsl:value-of select="@Name"/>
            </fo:block>
           </fo:table-cell>
      </fo:table-row>
     <fo:table-row>
         <fo:table-cell
xsl:use-attribute-sets="orderlist.table.detail.textcolumns">
              <fo:block text-align="center" font-size="10pt"
font-family="serif">
                     Column
                </fo:block>
            </fo:table-cell>
           <fo:table-cell
xsl:use-attribute-sets="orderlist.table.detail.textcolumns">
                 <fo:block text-align="center" font-size="10pt" 
font-family="serif">
                        Values
                </fo:block>
           </fo:table-cell>
      </fo:table-row>
<xsl:for-each select="Column">
   <fo:table-row>
          <fo:table-cell
xsl:use-attribute-sets="orderlist.table.detail.textcolumns">
             <fo:block xsl:use-attribute-sets="orderlist.table.detail.blocks">
                    <xsl:value-of select="@Name"/>
               </fo:block>
          </fo:table-cell>
         <fo:table-cell
xsl:use-attribute-sets="orderlist.table.detail.textcolumns">
               <fo:block xsl:use-attribute-sets="orderlist.table.detail.blocks">
                      <xsl:value-of select="./Value"/>
                 </fo:block>
          </fo:table-cell>
    </fo:table-row>
</xsl:for-each>
</xsl:for-each>
    </fo:table-body>
</fo:table>
</fo:block>
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>




<Prev in Thread] Current Thread [Next in Thread>