[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Column problems
Hi Ron,
For the first problem, you will need to divide the article output into multiple page-sequences. That requires customizing the template that matches on article from fo/component.xsl. With the snapshot version, this is easier because it has a template named "page.sequence" intended for such purposes. You can specify one parameter for the master name and another for the content of the page sequence. The following example shows how it can be used for the different parts of your article.
For literallayout wrapping, you want to add a wrap-option="wrap" property to the verbatim.properties attribute set, as shown in the following example.
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:import href=""../docbook-xsl-snapshot/fo/docbook.xsl"/>
<xsl:param name="column.count.titlepage" select="1" />
<xsl:param name="column.count.lot" select="1" />
<xsl:param name="column.count.body" select="2" />
<xsl:param name="column.count.back" select="1" />
<xsl:param name="double.sided">0</xsl:param>
<xsl:attribute-set name="verbatim.properties">
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
</xsl:attribute-set>
<xsl:template name="initial.page.number">auto</xsl:template>
<xsl:template match="article">
<xsl:variable name="id">
<xsl:call-template name="object.id"/>
</xsl:variable>
<xsl:call-template name="page.sequence">
<xsl:with-param name="master-reference">titlepage</xsl:with-param>
<xsl:with-param name="content">
<fo:block id="{$id}"
xsl:use-attribute-sets="component.titlepage.properties">
<xsl:call-template name="article.titlepage"/>
</fo:block>
<xsl:variable name="toc.params">
<xsl:call-template name="find.path.params">
<xsl:with-param name="table" select="normalize-space($generate.toc)"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="contains($toc.params, 'toc')">
<xsl:call-template name="component.toc">
<xsl:with-param name="toc.title.p"
select="contains($toc.params, 'title')"/>
</xsl:call-template>
<xsl:call-template name="component.toc.separator"/>
</xsl:if>
</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="page.sequence">
<xsl:with-param name="master-reference">body</xsl:with-param>
<xsl:with-param name="content">
<xsl:apply-templates select="*[not(self::bibliography)]"/>
</xsl:with-param>
</xsl:call-template>
<xsl:if test="bibliography">
<xsl:call-template name="page.sequence">
<xsl:with-param name="master-reference">back</xsl:with-param>
<xsl:with-param name="content">
<xsl:apply-templates select="bibliography"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs@sagehill.net
--
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]