OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: An informaltable that chokes FOP


The attached short article renders perfectly in XEP but breaks FOP. The source of the problem appears to be my customisation layer: with XSLT against just the XSL distribution, the formatters produce identical results.

Or — is the problem with FOP's support for informaltable? If I change the informaltable element to a table element, both FOP and XEP again produce identical results against my customisation layer.

I haven't so far attempted any customisation of tables. Is there something I've written in the customisation layer that affects the informaltable element? Or is this a bug I should report to the FOP project, and if so, in what terms?
Stephen
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article SYSTEM "file:///C:/pub/docbook-5.0/dtd/docbook.dtd">
<article xml:id="versions">

  <info>
    <title>Versions</title>
  </info>

  <informaltable>
    <col width="20%"/>
    <col width="10%"/>
    <col width="70%"/>
    <tbody>

      <tr>
        <td>1</td>
        <td>1982</td>
        <td>
          Full nested arrays; line orientated; APs;
          files using <code>⎕FF</code>
        </td>
      </tr>

      <tr>
        <td>2</td>
        <td></td>
        <td>
          Nested-array display
          full-screen session
        </td>
      </tr>

      <tr>
        <td>3-4</td>
        <td>1985</td>
        <td>
          <code>⎕DM</code>;
          component file in one file
        </td>
      </tr>

      <tr>
        <td>5</td>
        <td></td>
        <td>
          Component-file reorganisation
        </td>
      </tr>

      <tr>
        <td>5.2</td>
        <td></td>
        <td>
          <code>⎕SM</code>
        </td>
      </tr>

      <tr>
        <td>6.1</td>
        <td></td>
        <td>
          Windowed function editor
        </td>
      </tr>

      <tr>
        <td>6.2</td>
        <td>1993</td>
        <td>
          X Windows ;
          64-bit version for DEC Alpha
        </td>
      </tr>

      <tr>
        <td>6.3</td>
        <td></td>
        <td>
          DOS version
        </td>
      </tr>

      <tr>
        <td>7.1</td>
        <td></td>
        <td>
          16-bit Windows (Win 3.1)
          <code>⎕NA</code>;
          native files;
          <code>⎕DR</code>;
          Shared variables;
          DDE
        </td>
      </tr>

      <tr>
        <td>8.1</td>
        <td>1998</td>
        <td>
          32-bit Windows (Win NT);
          TCP/IP;
          OLE automation;
          dynamic functions;
          <code>:Trap</code>
        </td>
      </tr>

      <tr>
        <td>8.2</td>
        <td>1999</td>
        <td>
          Multithreading;
          <code>:Hold</code>;
          <code>:With</code>;
          GIF &amp; PNG;
          ActiveXControl;
          Calendar;
          ToolControl;
          TabControl;
          Splitter;
          CoolBar;
          N-wise <emphasis>reduce</emphasis>;
          scalar primitives with axis
        </td>
      </tr>

      <tr>
        <td>9.0</td>
        <td>2000</td>
        <td>
          Namespace and GUI object ‘refs’;
          dot syntax for GUI &amp; OLE objects;
          Windows 2000 GUI (ComboEX etc);
          Docking
        </td>
      </tr>

      <tr>
        <td>.Net</td>
        <td>2002</td>
        <td>
          .NET support
        </td>
      </tr>

      <tr>
        <td>10.0</td>
        <td>2003</td>
        <td>
          idiom recognition;
          retained hash tables;
          autocompletion;
          Pocket APL
        </td>
      </tr>

      <tr>
        <td>10.1</td>
        <td>2004</td>
        <td>
          Tokens for thread synchronisation;
          64-bit component files;
          Value Tips;
          more Grid enhancements;
          extended function-header syntax;
          thread debugger
        </td>
      </tr>

      <tr>
        <td>11.0</td>
        <td>2006</td>
        <td>
          Object Orientation;
          64-bit version;
          tighter .Net integration;
          <emphasis>squad</emphasis>;
          <emphasis>power</emphasis> operator;
          <emphasis>LCM</emphasis> &amp; <emphasis>GCD</emphasis>;
          Simple APL Library Tookit (SALT)
        </td>
      </tr>

      <tr>
        <td>12.0.1</td>
        <td>2007/8</td>
        <td>
          Unicode;
          journalling component files;
          integrated graphics and reporting tools;
          Conga;
          APL Language Bar;
          more SALT
        </td>
      </tr>

      <tr>
        <td>12.0.3 – 12.1</td>
        <td>2008-9</td>
        <td>
          Secure Sockets;
          Web Service Framework;
          Enterprise Applications:;
          Multi-Processor Support;
          ‘Installability and Scalability’
        </td>
      </tr>

    </tbody>
  </informaltable>

</article>
<?xml version="1.0"?>
<xsl:stylesheet
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
     xmlns:fo="http://www.w3.org/1999/XSL/Format";
     xmlns:d="http://docbook.org/ns/docbook";
		 exclude-result-prefixes="d"
     version="1.0">

<!--
			DocBook 5.0 customisation layer for print version of Vector
			Stephen Taylor • sjt@5jt.com
-->

	<!-- use local copies of DocBook 5.0 stylesheets -->
	<xsl:import href="../../docbook-xsl-ns-1.74.0/fo/docbook.xsl"/>
	<!-- use custom titlepage templates -->
	<xsl:import href="titlepages.xsl"/>


	<!-- page size, orientation and layout -->
	<xsl:param name="paper.type">A5</xsl:param>

	<xsl:param name="double.sided" select="1"></xsl:param>
	<xsl:param name="page.margin.inner">0.75in</xsl:param>
	<xsl:param name="page.margin.outer">0.5in</xsl:param>

	<xsl:param name="page.margin.top">0.25in</xsl:param>
	<xsl:param name="page.margin.bottom">0.25in</xsl:param>

	<xsl:param name="body.start.indent">0pt</xsl:param>



	<!-- TYPEFACES -->

	<!-- body type -->
	<xsl:param name="body.font.family">Palatino</xsl:param>
	<xsl:param name="body.font.master">9.23</xsl:param>
	<xsl:param name="line-height">1.25</xsl:param>

	<xsl:param name="body.font.size">
		<xsl:value-of select="$body.font.master"></xsl:value-of><xsl:text>pt</xsl:text>
	</xsl:param>

	<xsl:param name="monospace.font.family">APL385 Unicode</xsl:param>
	<xsl:param name="monospace.font.size">
		<xsl:value-of select="$body.font.master"></xsl:value-of><xsl:text>pt</xsl:text>
	</xsl:param>

	<xsl:param name="title.font.family">Palatino</xsl:param>

	<!-- HEADERS -->
	<xsl:attribute-set name="header.content.properties">
	  <xsl:attribute name="font-family">Arial</xsl:attribute>
	  <xsl:attribute name="font-weight">bold</xsl:attribute>
	  <xsl:attribute name="margin-left">
	    <xsl:value-of select="$title.margin.left"></xsl:value-of>
	  </xsl:attribute>
	</xsl:attribute-set>

	<!-- monospace -->
	<xsl:attribute-set name="monospace.properties">
	  <xsl:attribute name="font-family">
	    <xsl:value-of select="$monospace.font.family"></xsl:value-of>
	  </xsl:attribute>
		<!-- WATCH OUT: fixes size of ALL monospace type throughout document -->
	  <xsl:attribute name="font-size">9pt</xsl:attribute>
	</xsl:attribute-set>

	<xsl:attribute-set name="normal.para.spacing">
	  <xsl:attribute name="space-before.optimum">0em</xsl:attribute>
	  <xsl:attribute name="space-before.minimum">0em</xsl:attribute>
	  <xsl:attribute name="space-before.maximum">0em</xsl:attribute>
	  <xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
	  <xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
	  <xsl:attribute name="space-after.maximum">1.0em</xsl:attribute>
	</xsl:attribute-set>

	<xsl:attribute-set name="blockquote.properties">
		<xsl:attribute name="margin-left">0.25in</xsl:attribute>
		<xsl:attribute name="margin-right">0.25in</xsl:attribute>
		<xsl:attribute name="space-after.minimum">0.5em</xsl:attribute>
		<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
		<xsl:attribute name="space-after.maximum">2em</xsl:attribute>
	</xsl:attribute-set>

	<!-- TITLING -->
	<!-- from http://docbook.sourceforge.net/release/xsl/current/doc/fo/component.title.properties.html -->
	<xsl:attribute-set name="component.title.properties">
	  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
	  <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"></xsl:value-of></xsl:attribute>
	  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"></xsl:value-of></xsl:attribute>
	  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"></xsl:value-of></xsl:attribute>
	  <xsl:attribute name="hyphenate">false</xsl:attribute>
	  <xsl:attribute name="text-align">
	    <!-- DEBUG
	    <xsl:choose>
	      <xsl:when test="parent::article">center</xsl:when>
	      <xsl:otherwise>left</xsl:otherwise>
	    </xsl:choose>
	    -->
	    center
	  </xsl:attribute>
	  <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute>
	</xsl:attribute-set>

	<!-- from http://docbook.sourceforge.net/release/xsl/current/doc/fo/section.title.properties.html -->
	<xsl:attribute-set name="section.title.properties">
	  <xsl:attribute name="font-family">
	    <xsl:value-of select="$title.font.family"></xsl:value-of>
	  </xsl:attribute>
	  <xsl:attribute name="font-weight">bold</xsl:attribute>
	  <!-- font size is calculated dynamically by section.heading template -->
	  <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
	  <xsl:attribute name="space-before.minimum">1.0em</xsl:attribute>
	  <xsl:attribute name="space-before.optimum">1.3em</xsl:attribute>
	  <xsl:attribute name="space-before.maximum">1.5em</xsl:attribute>
	  <xsl:attribute name="space-after.minimum">0em</xsl:attribute>
	  <xsl:attribute name="space-after.optimum">0.3em</xsl:attribute>
	  <xsl:attribute name="space-after.maximum">0.5em</xsl:attribute>
	  <xsl:attribute name="text-align">left</xsl:attribute>
	  <xsl:attribute name="start-indent"><xsl:value-of select="$title.margin.left"></xsl:value-of></xsl:attribute>
	</xsl:attribute-set>

	<xsl:attribute-set name="section.title.level1.properties">
	  <xsl:attribute name="font-size">
	    <xsl:value-of select="$body.font.master * 1.1538"></xsl:value-of>
	    <xsl:text>pt</xsl:text>
	  </xsl:attribute>
	  <!-- IGNORED - overrriden?
	  <xsl:attribute name="space-before">1.3em</xsl:attribute>
	  <xsl:attribute name="space-after">0.3em</xsl:attribute>
	  -->
	</xsl:attribute-set>

<!-- TABLE OF CONTENTS -->
<!-- from http://docbook.sourceforge.net/release/xsl/current/doc/fo/generate.toc.html -->
<xsl:param name="generate.toc">
book      toc,title
</xsl:param>

	<!-- MISCELLANEOUS -->
	<xsl:param name="chapter.autolabel">0</xsl:param>
	<xsl:param name="draft.watermark.image">C:\pub\draft.png</xsl:param>
	<xsl:param name="default.image.width">4.5in</xsl:param>
	<xsl:param name="sidebar.float.type">left</xsl:param>

	<!-- HEADERS & FOOTERS -->

	<!-- from http://docbook.sourceforge.net/release/xsl/current/doc/fo/header.rule.html -->
	<xsl:param name="header.rule">1</xsl:param>
	<!-- from fo/pagesetup.xsl -->
	<xsl:template name="header.content">
	  <xsl:param name="pageclass" select="''"/>
	  <xsl:param name="sequence" select="''"/>
	  <xsl:param name="position" select="''"/>
	  <xsl:param name="gentext-key" select="''"/>

	  <fo:block>

	    <!-- sequence can be odd, even, first, blank -->
	    <!-- position can be left, center, right -->
	    <xsl:choose>
        <!-- same for odd, even, empty, and blank sequences -->
	      <xsl:when test="$position='left'">
	      	<!-- *** NOT WORKING *** -->
	        <xsl:value-of select="/d:book/d:info/d:title"></xsl:value-of>
	      </xsl:when>
	      <xsl:when test="$position='center'">
	        <xsl:call-template name="draft.text"/>
	      </xsl:when>
	      <xsl:when test="$position='right'"><!--Vol.23 N°4--></xsl:when>
	    </xsl:choose>
	  </fo:block>
	</xsl:template>

	<!-- from http://docbook.sourceforge.net/release/xsl/current/doc/fo/footer.rule.html -->
	<xsl:param name="footer.rule">0</xsl:param>
	<!-- from fo/pagesetup.xsl -->
	<xsl:template name="footer.content">
	  <xsl:param name="pageclass" select="''"/>
	  <xsl:param name="sequence" select="''"/>
	  <xsl:param name="position" select="''"/>
	  <xsl:param name="gentext-key" select="''"/>

	  <fo:block>
	    <!-- pageclass can be front, body, back -->
	    <!-- sequence can be odd, even, first, blank -->
	    <!-- position can be left, center, right -->

	    <xsl:choose>
	      <xsl:when test="$pageclass = 'titlepage'">
	        <!-- nop; no footer on title pages -->
	      </xsl:when>
        <!-- same for odd, even, empty, and blank sequences -->
	      <xsl:when test="$position='left'"></xsl:when>
	      <xsl:when test="$position='center'"><fo:page-number/></xsl:when>
	      <xsl:when test="$position='right'"></xsl:when>
	    </xsl:choose>
	  </fo:block>
	</xsl:template>


	<xsl:template match="d:caption">
	  <fo:block>
	    <xsl:if test="@align = 'right' or @align = 'left' or @align='center'">
	      <xsl:attribute name="text-align"><xsl:value-of select="@align"/></xsl:attribute>
	    </xsl:if>
      <xsl:attribute name="font-size">
				<xsl:value-of select="$body.font.master"></xsl:value-of><xsl:text>pt</xsl:text>
      </xsl:attribute>
      <xsl:attribute name="font-style">italic</xsl:attribute>
	    <xsl:apply-templates/>
	  </fo:block>
	</xsl:template>

	<xsl:attribute-set name="sidebar.properties" use-attribute-sets="formal.object.properties">
	  <xsl:attribute name="border-style">none</xsl:attribute>
	  <xsl:attribute name="border-width">0pt</xsl:attribute>
	  <xsl:attribute name="border-color">#FFFFFF</xsl:attribute>
	  <xsl:attribute name="background-color">#DDDDDD</xsl:attribute>
	  <xsl:attribute name="padding-left">12pt</xsl:attribute>
	  <xsl:attribute name="padding-right">12pt</xsl:attribute>
	  <xsl:attribute name="padding-top">6pt</xsl:attribute>
	  <xsl:attribute name="padding-bottom">6pt</xsl:attribute>
	  <xsl:attribute name="margin-left">0pt</xsl:attribute>
	  <xsl:attribute name="margin-right">0pt</xsl:attribute>
	<!--
	  <xsl:attribute name="margin-top">6pt</xsl:attribute>
	  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
	-->
	</xsl:attribute-set>

</xsl:stylesheet>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]