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?
- FO for both formatters produced by xsltproc from docbook-xsl-ns-1.74.0
- versions.xml validates against docbook-5.0/dtd/docbook.dtd
- FOP reports: java.lang.IllegalStateException: Flow 'xsl-region-body'
does not map to the region-body in page-master 'blank'. FOP presently does
not support this.
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 & 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 & 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> & <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 ⢠[EMAIL PROTECTED]
-->
<!-- 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>---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]