>>>>> "J.Pietschmann" <[EMAIL PROTECTED]>:

> Steinar Bang wrote:
>>>>> "J.Pietschmann" <[EMAIL PROTECTED]>:

>>> Furthermore, remove whatever produced the fo:table-and-caption in
>>> the FO file (probably specifying a title or caption for the table
>>> in DocBook).

>> What's wrong with it?  Is it an illegal FO construct?  Or is it a
>> construct unsupported by Fop?

> Not implemented in FOP. I think these tables are not put into the
> output, or at least the caption will be missing.  Try it yourself.

Use of <fo:table-and-caption> was the reason no tables appeared in the
output. 

I have fixed it, for now, by defining a new template for table, in my
local XSL style sheet for creating FO from DocBook.  This local style
sheet holds my local settings (A4 instead of letter, turn on saxon
extensions etc.).

Attached is the file with the doctored template (It's the table
template from the DocBook XSL fo style sheet, with the
<fo:table-and-caption> stuff commented out.

Thanx!


- Steinar


<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version='1.0'
                xmlns="http://www.w3.org/TR/xhtml1/transitional";
                exclude-result-prefixes="#default"
                xmlns:fo="http://www.w3.org/1999/XSL/Format";>

  <xsl:import href="http://no-video6/xml/styles/docbook-xsl-1.48/fo/docbook.xsl"/>
  <xsl:import href="local-common.xsl"/>

  <!-- Changes to defaults -->
  <xsl:param name="paper.type" select="'A4'" />

  <xsl:template match="table">
    <xsl:variable name="id">
      <xsl:call-template name="object.id"/>
    </xsl:variable>
    <xsl:variable name="prop-columns"
      select=".//colspec[contains(@colwidth, '*')]"/>

    <fo:block>
      <xsl:attribute name="span">
        <xsl:choose>
          <xsl:when test="@pgwide=1">all</xsl:when>
          <xsl:otherwise>none</xsl:otherwise>
        </xsl:choose>
      </xsl:attribute>

<!--
      <fo:table-and-caption id="{$id}"
                            xsl:use-attribute-sets="formal.object.properties"
                            keep-together.within-column="1">
        <fo:table-caption>
-->
          <fo:block xsl:use-attribute-sets="formal.title.properties">
            <xsl:apply-templates select="." mode="object.title.markup"/>
          </fo:block>
<!--
        </fo:table-caption>
-->
        <fo:table>
          <xsl:call-template name="table.frame"/>
          <xsl:if test="count($prop-columns) != 0">
            <xsl:attribute name="table-layout">fixed</xsl:attribute>
          </xsl:if>
          <xsl:apply-templates select="tgroup"/>
        </fo:table>
<!--
      </fo:table-and-caption>
-->
    </fo:block>
  </xsl:template>


</xsl:stylesheet>

Reply via email to