$Id: param.xsl,v 1.15 2001/09/25 11:51:18 nwalsh Exp $
Copyright © 1999, 2000 by Norman Walsh. No Warranty.
This is technical reference documentation for the DocBook XSL Stylesheets; it documents (some of) the parameters, templates, and other elements of the stylesheets.
This reference describes each of the Formatting Object Stylesheet parameters. These are the “easily customizable” parts of the stylesheet. If you want to specify an alternate value for one or more of these parameters, you can do so in a “driver” stylesheet.
For example, if you want to turn on automatic section numbering, you might create a driver stylesheet like this:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> <xsl:import href="/path/to/fo/docbook.xsl"/> <xsl:param name="section.autolabel" select="1"/> </xsl:stylesheet>
Naturally, you have to change the href attribute on <xsl:import> to point to docbook.xsl on your system.
This is not intended to be “user” documentation. It is provided for developers writing customization layers for the stylesheets, and for anyone who's interested in “how it works”.
Although I am trying to be thorough, this documentation is known to be incomplete. Don't forget to read the source, too :-)
Table of Contents
admon.graphics.extension — Extension for admonition graphics
<xsl:param name="admon.graphics.extension" select="'.png'" doc:type="string"/>
qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements?
graphic.default.extension — Default extension for graphic filenames
component.title.properties mode — Properties of component titles
admonition.title.properties mode — Properties of admonition titles
insert.xref.page.number — Turns page numbers in xrefs on and off
<xsl:param name="insert.xref.page.number" select="0" doc:type="boolean"/>
rootid — Specify the root element to format
<xsl:param name="rootid" select="''"/>
If rootid is specified, it must be the value of an ID that occurs in the document being formatted. The entire document will be loaded and parsed, but formatting will begin at the element identified, rather than at the root. For example, this allows you to process only chapter 4 of a book.
Because the entire document is available to the processor, automatic numbering, cross references, and other dependencies are correctly resolved.
callout.graphics — Use graphics for callouts?
<xsl:param name="callout.graphics" select="'0'"/>
callout.unicode — First character to use for Unicode callouts
<xsl:param name="callout.unicode" select="1"/>
callout.unicode.font — Font to use for Unicode dingbats
<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/>
callout.unicode.start.character — Number of the largest callout graphic
<xsl:param name="callout.unicode.start.character" select="10102" doc:type="integer"/>
callout.unicode.number.limit — Number of the largest callout graphic
<xsl:param name="callout.unicode.number.limit" select="'10'" doc:type="integer"/>
callout.graphics.extension — Extension for callout graphics
<xsl:param name="callout.graphics.extension" select="'.png'"/>
callout.graphics.path — Path to callout graphics
<xsl:param name="callout.graphics.path" select="'../images/callouts/'"/>
callout.graphics.number.limit — Number of the largest callout graphic
<xsl:param name="callout.graphics.number.limit" select="'10'"/>
use.extensions — Enable extensions
<xsl:param name="use.extensions" select="'0'"/>
textinsert.extension — Enable the textinsert extension element
<xsl:param name="textinsert.extension" select="'1'"/>
linenumbering.extension — Enable the line numbering extension
<xsl:param name="linenumbering.extension" select="'1'"/>
linenumbering.everyNth — Indicate which lines should be numbered
<xsl:param name="linenumbering.everyNth" select="'5'"/>
linenumbering.width — Indicates the width of line numbers
<xsl:param name="linenumbering.width" select="'3'"/>
linenumbering.separator — Specify a separator between line numbers and lines
<xsl:param name="linenumbering.separator" select="' '"/>
callouts.extension — Enable the callout extension
<xsl:param name="callouts.extension" select="'1'"/>
callout.defaultcolumn — Indicates what column callouts appear in by default
<xsl:param name="callout.defaultcolumn" select="'60'"/>
tablecolumns.extension — Enable the table columns extension function
<xsl:param name="tablecolumns.extension" select="'1'" doc:type="boolean"/>
nominal.table.width — The (absolute) nominal width of tables
<xsl:param name="nominal.table.width" select="'6in'" doc:type="length"/>
default.table.width — The default width of tables
<xsl:param name="default.table.width" select="''" doc:type="length"/>
paper.type — Select the paper type
<xsl:param name="paper.type" select="'USletter'"/>
page.orientation — Select the page orientation
<xsl:param name="page.orientation" select="'portrait'"/>
page.width.portrait — Specify the physical size of the short edge of the page
<xsl:param name="page.width.portrait"> <xsl:choose> <xsl:when test="$paper.type = 'USletter'">8.5in</xsl:when> <xsl:when test="$paper.type = '4A0'">1682mm</xsl:when> <xsl:when test="$paper.type = '2A0'">1189mm</xsl:when> <xsl:when test="$paper.type = 'A0'">841mm</xsl:when> <xsl:when test="$paper.type = 'A1'">594mm</xsl:when> <xsl:when test="$paper.type = 'A2'">420mm</xsl:when> <xsl:when test="$paper.type = 'A3'">297mm</xsl:when> <xsl:when test="$paper.type = 'A4'">210mm</xsl:when> <xsl:when test="$paper.type = 'A5'">148mm</xsl:when> <xsl:when test="$paper.type = 'A6'">105mm</xsl:when> <xsl:when test="$paper.type = 'A7'">74mm</xsl:when> <xsl:when test="$paper.type = 'A8'">52mm</xsl:when> <xsl:when test="$paper.type = 'A9'">37mm</xsl:when> <xsl:when test="$paper.type = 'A10'">26mm</xsl:when> <xsl:when test="$paper.type = 'B0'">1000mm</xsl:when> <xsl:when test="$paper.type = 'B1'">707mm</xsl:when> <xsl:when test="$paper.type = 'B2'">500mm</xsl:when> <xsl:when test="$paper.type = 'B3'">353mm</xsl:when> <xsl:when test="$paper.type = 'B4'">250mm</xsl:when> <xsl:when test="$paper.type = 'B5'">176mm</xsl:when> <xsl:when test="$paper.type = 'B6'">125mm</xsl:when> <xsl:when test="$paper.type = 'B7'">88mm</xsl:when> <xsl:when test="$paper.type = 'B8'">62mm</xsl:when> <xsl:when test="$paper.type = 'B9'">44mm</xsl:when> <xsl:when test="$paper.type = 'B10'">31mm</xsl:when> <xsl:when test="$paper.type = 'C0'">917mm</xsl:when> <xsl:when test="$paper.type = 'C1'">648mm</xsl:when> <xsl:when test="$paper.type = 'C2'">458mm</xsl:when> <xsl:when test="$paper.type = 'C3'">324mm</xsl:when> <xsl:when test="$paper.type = 'C4'">229mm</xsl:when> <xsl:when test="$paper.type = 'C5'">162mm</xsl:when> <xsl:when test="$paper.type = 'C6'">114mm</xsl:when> <xsl:when test="$paper.type = 'C7'">81mm</xsl:when> <xsl:when test="$paper.type = 'C8'">57mm</xsl:when> <xsl:when test="$paper.type = 'C9'">40mm</xsl:when> <xsl:when test="$paper.type = 'C10'">28mm</xsl:when> <xsl:otherwise>8.5in</xsl:otherwise> </xsl:choose> </xsl:param>
page.height.portrait — Specify the physical size of the long edge of the page
<xsl:param name="page.height.portrait"> <xsl:choose> <xsl:when test="$paper.type = 'A4landscape'">210mm</xsl:when> <xsl:when test="$paper.type = 'USletter'">11in</xsl:when> <xsl:when test="$paper.type = 'USlandscape'">8.5in</xsl:when> <xsl:when test="$paper.type = '4A0'">2378mm</xsl:when> <xsl:when test="$paper.type = '2A0'">1682mm</xsl:when> <xsl:when test="$paper.type = 'A0'">1189mm</xsl:when> <xsl:when test="$paper.type = 'A1'">841mm</xsl:when> <xsl:when test="$paper.type = 'A2'">594mm</xsl:when> <xsl:when test="$paper.type = 'A3'">420mm</xsl:when> <xsl:when test="$paper.type = 'A4'">297mm</xsl:when> <xsl:when test="$paper.type = 'A5'">210mm</xsl:when> <xsl:when test="$paper.type = 'A6'">148mm</xsl:when> <xsl:when test="$paper.type = 'A7'">105mm</xsl:when> <xsl:when test="$paper.type = 'A8'">74mm</xsl:when> <xsl:when test="$paper.type = 'A9'">52mm</xsl:when> <xsl:when test="$paper.type = 'A10'">37mm</xsl:when> <xsl:when test="$paper.type = 'B0'">1414mm</xsl:when> <xsl:when test="$paper.type = 'B1'">1000mm</xsl:when> <xsl:when test="$paper.type = 'B2'">707mm</xsl:when> <xsl:when test="$paper.type = 'B3'">500mm</xsl:when> <xsl:when test="$paper.type = 'B4'">353mm</xsl:when> <xsl:when test="$paper.type = 'B5'">250mm</xsl:when> <xsl:when test="$paper.type = 'B6'">176mm</xsl:when> <xsl:when test="$paper.type = 'B7'">125mm</xsl:when> <xsl:when test="$paper.type = 'B8'">88mm</xsl:when> <xsl:when test="$paper.type = 'B9'">62mm</xsl:when> <xsl:when test="$paper.type = 'B10'">44mm</xsl:when> <xsl:when test="$paper.type = 'C0'">1297mm</xsl:when> <xsl:when test="$paper.type = 'C1'">917mm</xsl:when> <xsl:when test="$paper.type = 'C2'">648mm</xsl:when> <xsl:when test="$paper.type = 'C3'">458mm</xsl:when> <xsl:when test="$paper.type = 'C4'">324mm</xsl:when> <xsl:when test="$paper.type = 'C5'">229mm</xsl:when> <xsl:when test="$paper.type = 'C6'">162mm</xsl:when> <xsl:when test="$paper.type = 'C7'">114mm</xsl:when> <xsl:when test="$paper.type = 'C8'">81mm</xsl:when> <xsl:when test="$paper.type = 'C9'">57mm</xsl:when> <xsl:when test="$paper.type = 'C10'">40mm</xsl:when> <xsl:otherwise>11in</xsl:otherwise> </xsl:choose> </xsl:param>
page.width — The width of the physical page
<xsl:param name="page.width"> <xsl:choose> <xsl:when test="$page.orientation = 'portrait'"> <xsl:value-of select="$page.width.portrait"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$page.height.portrait"/> </xsl:otherwise> </xsl:choose> </xsl:param>
page.height — The height of the physical page
<xsl:param name="page.height"> <xsl:choose> <xsl:when test="$page.orientation = 'portrait'"> <xsl:value-of select="$page.height.portrait"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$page.width.portrait"/> </xsl:otherwise> </xsl:choose> </xsl:param>
double.sided — Is the document to be printed double sided?
<xsl:param name="double.sided" select="'0'"/>
column.count — Specifies the number of columns of text on the page
<xsl:param name="column.count" select="'1'"/>
region.after.extent — Specifies the height of the footer.
<xsl:param name="region.after.extent" select="'12pt'"/>
region.before.extent — Specifies the height of the header
<xsl:param name="region.before.extent" select="'12pt'"/>
page.margin.top — The top margin of the page
<xsl:param name="page.margin.top">1in</xsl:param>
page.margin.bottom — The bottom margin of the page
<xsl:param name="page.margin.bottom">1in</xsl:param>
page.margin.inner — The inner page margin
<xsl:param name="page.margin.inner"> <xsl:choose> <xsl:when test="$double.sided != 0">1.25in</xsl:when> <xsl:otherwise>1in</xsl:otherwise> </xsl:choose> </xsl:param>
page.margin.outer — The outer page margin
<xsl:param name="page.margin.outer"> <xsl:choose> <xsl:when test="$double.sided != 0">0.75in</xsl:when> <xsl:otherwise>10pc</xsl:otherwise> </xsl:choose> </xsl:param>
body.margin.bottom — The bottom margin of the body text
<xsl:param name="body.margin.bottom">24pt</xsl:param>
body.margin.top — FIXME:
<xsl:param name="body.margin.top">24pt</xsl:param>
body.font.family — The default font family for body text
<xsl:param name="body.font.family">Times Roman</xsl:param>
title.font.family — The default font family for titles
<xsl:param name="title.font.family">Helvetica</xsl:param>
monospace.font.family — The default font family for monospace environments
<xsl:param name="monospace.font.family">Courier</xsl:param>
sans.font.family — The default sans-serif font family
<xsl:param name="sans.font.family">Helvetica</xsl:param>
dingbat.font.family — The font family for copyright, quotes, and other symbols
<xsl:param name="dingbat.font.family">Times Roman</xsl:param>
body.font.master — Specifies the default point size for body text
<xsl:param name="body.font.master">10</xsl:param>
body.font.size — Specifies the default font size for body text
<xsl:param name="body.font.size"> <xsl:value-of select="$body.font.master"/><xsl:text>pt</xsl:text> </xsl:param>
footnote.font.size — The font size for footnotes
<xsl:param name="footnote.font.size"> <xsl:value-of select="$body.font.master * 0.8"/><xsl:text>pt</xsl:text> </xsl:param>
hyphenate — Specify hyphenation behavior
<xsl:param name="hyphenate">true</xsl:param>
alignment — Specify the default text alignment
<xsl:param name="alignment">justify</xsl:param>
stylesheet.result.type — Identifies the output format of this stylesheet
<xsl:param name="stylesheet.result.type" select="'fo'"/>
generate.component.toc — Generate a table of contents for components?
<xsl:param name="generate.component.toc" select="0" doc:type="boolean"/>
generate.division.toc — Generate a table of contents for divisions?
<xsl:param name="generate.division.toc" select="1" doc:type="boolean"/>
generate.division.figure.lot — Generate a list of titles for Figures?
<xsl:param name="generate.division.figure.lot" select="1" doc:type="boolean"/>
generate.division.example.lot — Generate a list of titles for Examples?
<xsl:param name="generate.division.example.lot" select="1" doc:type="boolean"/>
generate.division.equation.lot — Generate a list of titles for Equations?
<xsl:param name="generate.division.equation.lot" select="1" doc:type="boolean"/>
generate.division.table.lot — Generate a list of titles for Tables?
<xsl:param name="generate.division.table.lot" select="1" doc:type="boolean"/>
passivetex.extensions — Enable PassiveTeX extensions?
<xsl:param name="passivetex.extensions" select="0" doc:type="boolean"/>
If non-zero, PassiveTeX extensions will be used. At present, this consists of PDF bookmarks and sorted index terms.
arbortext.extensions — Enable Arbortext extensions?
<xsl:param name="arbortext.extensions" select="0" doc:type="boolean"/>
If non-zero, Arbortext extensions will be used.
fop.extensions — Enable FOP extensions?
<xsl:param name="fop.extensions" select="0" doc:type="boolean"/>
If non-zero, FOP extensions will be used. At present, this consists of PDF bookmarks.
xep.extensions — Enable XEP extensions?
<xsl:param name="xep.extensions" select="0" doc:type="boolean"/>
If non-zero, XEP extensions will be used. XEP extensions consists of PDF bookmarks and document information.
default.units — Default units for an unqualified dimension
<xsl:param name="default.units" select="'pt'" doc:type="list" doc:list="cm mm in pt pc px em"/>
label.from.part — Renumber chapters in each part?
<xsl:param name="label.from.part" select="'0'" doc:type="boolean"/>
formal.procedures — Selects formal or informal procedures
<xsl:param name="formal.procedures" select="1" doc:type="boolean"/>
bibliography.collection — Name of the bibliography collection file
<xsl:param name="bibliography.collection" doc:type="string" select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>
format.variablelist.as.list — Use an fo:list to format VariableLists?
<xsl:param name="format.variablelist.as.list" select="1" doc:type="boolean"/>
runinhead.title.end.punct — Characters that count as punctuation on a run-in-head
<xsl:param name="runinhead.title.end.punct" select="'.!?:'" doc:type="string"/>
runinhead.default.title.end.punct — Default punctuation character on a run-in-head
<xsl:param name="runinhead.default.title.end.punct" select="'.'" doc:type="string"/>
make.year.ranges — Collate copyright years into ranges?
<xsl:param name="make.year.ranges" select="0" doc:type="boolean"/>