> What I don't understand is the relationship between columns and tables.

Well, the fo:table element requires one or more fo:table-column elements 
as children. In other words, you have to remember that XSL:FO requires you 
to specify the columns before you specify the table body. When you start 
specifying cells, FOP requires that each row have the same number of cells 
as the table has columns (though you can have one column span cells). 
Other processors might permit an empty cell, but FOP does no "thinking for 
you", so it requires that you spell out everything.

In the following simple example, notice that the table-column elements and 
the table-body element are the immediate descendents (the children) of the 
table element. The rows and cells are and must be, because table-body has 
to contain them, deeper descendents (grandchildren and 
great-grandchildren, as it were).

            <fo:table table-layout="fixed">
              <fo:table-column column-width="2in"/>
              <fo:table-column column-width="2.5in"/>
              <fo:table-column column-width="2in"/>
              <fo:table-body>
                <fo:table-row>
                  <fo:table-cell>
                    <fo:block xsl:use-attribute-sets="footerleft">
                      Date prepared: <xsl:value-of 
select="format-date(current-date(),'[D1] [MNn] [Y0001]')"/>
                    </fo:block>
                  </fo:table-cell>
                  <fo:table-cell>
                    <fo:block xsl:use-attribute-sets="footercenter">
                      Confidential and Proprietary
                    </fo:block>
                  </fo:table-cell>
                  <fo:table-cell>
                    <fo:block xsl:use-attribute-sets="footerright">
                      <fo:page-number/>
                    </fo:block>
                  </fo:table-cell>
                </fo:table-row>
              </fo:table-body>
            </fo:table>

HTH

Jay Bryant
Bryant Communication Services
(on contract at Syngeristic Solution Technologies)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to