$Id: param.xsl,v 1.25 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 HTML 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 change the html.stylesheet to reference.css, 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/html/docbook.xsl"/> <xsl:param name="html.stylesheet">reference.css</xsl:param> </xsl:stylesheet>
Naturally, you have to change the href attribute on <xsl:import> to point to docbook.xsl on your system. (Or chunk.xsl, if you're using chunking.)
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
author.othername.in.middle — Is othername in author a middle name?
<xsl:param name="author.othername.in.middle" select="1" doc:type="boolean"/>
html.stylesheet — Name of the stylesheet to use in the generated HTML
<xsl:param name="html.stylesheet" select="''" doc:type="string"/>
html.stylesheet.type — The type of the stylesheet used in the generated HTML
<xsl:param name="html.stylesheet.type" doc:type="string">text/css</xsl:param>
ulink.target — The HTML anchor target for ULinks
<xsl:param name="ulink.target" select="'_top'" doc:type="string"/>
refentry.xref.manvolnum — Output manvolnum as part of refentry cross-reference?
<xsl:param name="refentry.xref.manvolnum" select="1" doc:type="boolean"/>
show.comments — Display comment elements?
<xsl:param name="show.comments" doc:type="boolean">1</xsl:param>
funcsynopsis.style — What style of 'FuncSynopsis' should be generated?
<xsl:param name="funcsynopsis.style" doc:type="list" doc:list="ansi kr">kr</xsl:param>
funcsynopsis.decoration — Decorate elements of a FuncSynopsis?
<xsl:param name="funcsynopsis.decoration" select="1" doc:type="boolean"/>
function.parens — Generate parens after a function?
<xsl:param name="function.parens" doc:type="boolean">0</xsl:param>
refentry.generate.name — Output NAME header before 'RefName'(s)?
<xsl:param name="refentry.generate.name" select="1" doc:type="boolean"/>
admon.graphics — Use graphics in admonitions?
<xsl:param name="admon.graphics" select="0" doc:type="boolean"/>
admon.graphics.path — Path to admonition graphics
<xsl:param name="admon.graphics.path" doc:type="string">images/</xsl:param>
admon.graphics.extension — Extension for admonition graphics
<xsl:param name="admon.graphics.extension" select="'.png'" doc:type="string"/>
admon.style — CSS style attributes for admonitions
<xsl:param name="admon.style" doc:type="string"> <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text> </xsl:param>
section.autolabel — Are sections enumerated?
<xsl:param name="section.autolabel" select="0" doc:type="boolean"/>
section.label.includes.component.label — Do section labels include the component label?
<xsl:param name="section.label.includes.component.label" select="0" doc:type="boolean"/>
chapter.autolabel — Are chapters and appendixes enumerated?
<xsl:param name="chapter.autolabel" select="1" doc:type="boolean"/>
preface.autolabel — Are prefaces enumerated?
<xsl:param name="preface.autolabel" select="0" doc:type="boolean"/>
part.autolabel — Are parts and references enumerated?
<xsl:param name="part.autolabel" select="1" doc:type="boolean"/>
qandadiv.autolabel — Are divisions in QAndASets enumerated?
<xsl:param name="qandadiv.autolabel" select="1" doc:type="boolean"/>
qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements?
<xsl:param name="qanda.inherit.numeration" select="1" doc:type="boolean"/>
qanda.defaultlabel — Sets the default for defaultlabel on QandASet.
<xsl:param name="qanda.defaultlabel" doc:type="boolean" doc:list="qanda number none">number</xsl:param>
generate.qandaset.toc — Is a Table of Contents created for QandASets?
<xsl:param name="generate.qandaset.toc" doc:type="boolean">1</xsl:param>
generate.qandadiv.toc — Is a Table of Contents created for QandADivs?
<xsl:param name="generate.qandadiv.toc" doc:type="boolean">0</xsl:param>
biblioentry.item.separator — Text to separate bibliography entries
<xsl:param name="biblioentry.item.separator" doc:type="string">. </xsl:param>
toc.section.depth — How deep should recursive sections appear in the TOC?
<xsl:param name="toc.section.depth" doc:type="integer" doc:min="1" doc:max="10">2</xsl:param>
using.chunker — Will the output be chunked?
<xsl:param name="using.chunker" select="0" doc:type="boolean"/>
generate.component.toc — Should TOCs be genereated in components (Chapters, Appendixes, etc.)?
<xsl:param name="generate.component.toc" select="1" doc:type="boolean"/>
generate.division.toc — Should TOCs be genereated in divisions (Books, Parts, etc.)?
<xsl:param name="generate.division.toc" select="1" doc:type="boolean"/>
link.mailto.url — Mailto URL for the LINK REL=made HTML HEAD element
<xsl:param name="link.mailto.url" doc:type="string"/>
graphic.default.extension — Default extension for graphic filenames
<xsl:param name="graphic.default.extension" doc:type="string"/>
toc.list.type — Type of HTML list element to use for Tables of Contents
<xsl:param name="toc.list.type" doc:type="list" doc:list="dl ul ol">dl</xsl:param>
use.id.function — Use the XPath id() function to find link targets?
<xsl:param name="use.id.function" doc:type="boolean" select="'1'"/>
spacing.paras — Insert additional <p> elements for spacing?
<xsl:param name="spacing.paras" doc:type="boolean" select="'0'"/>
css.decoration — Enable CSS decoration of elements
<xsl:param name="css.decoration" doc:type="boolean">1</xsl:param>
show.revisionflag — Enable decoration of elements that have a revisionflag
<xsl:param name="show.revisionflag" doc:type="boolean">0</xsl:param>
If show.revisionflag is turned on, then the stylesheets may produce additional markup designed to allow a CSS stylesheet to highlight elements that have specific revisionflag settings.
The markup inserted will be usually be either a <span> or <div> with an appropriate class attribute. (The value of the class attribute will be the same as the value of the revisionflag attribute). In some contexts, for example tables, where extra markup would be structurally illegal, the class attribute will be added to the appropriate container element.
In general, the stylesheets only test for revisionflag in contexts where an importing stylesheet would have to redefine whole templates. Most of the revisionflag processing is expected to be done by another stylesheet, for example changebars.xsl.
suppress.navigation — Disable header and footer navigation
<xsl:param name="suppress.navigation" doc:type="boolean">0</xsl:param>
rootid — Specify the root element to format
<xsl:param name="rootid" select="''" doc:type="string"/>
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.list.table — Present callout lists using a table?
<xsl:param name="callout.list.table" select="'1'" doc:type="boolean"/>
callout.graphics — Use graphics for callouts?
<xsl:param name="callout.graphics" select="'1'" doc:type="boolean"/>
callout.graphics.extension — Extension for callout graphics
<xsl:param name="callout.graphics.extension" select="'.png'" doc:type="string"/>
callout.graphics.path — Path to callout graphics
<xsl:param name="callout.graphics.path" select="'images/callouts/'" doc:type="string"/>
callout.graphics.number.limit — Number of the largest callout graphic
<xsl:param name="callout.graphics.number.limit" select="'10'" doc:type="integer"/>
use.extensions — Enable extensions
<xsl:param name="use.extensions" select="'0'" doc:type="boolean"/>
textinsert.extension — Enable the textinsert extension element
<xsl:param name="textinsert.extension" select="'1'" doc:type="boolean"/>
saxon.linenumbering — Enable the line numbering extension
<xsl:param name="saxon.linenumbering" select="'1'" doc:type="boolean"/>
linenumbering.extension — Enable the line numbering extension
<xsl:param name="linenumbering.extension" select="'1'" doc:type="boolean"/>
linenumbering.everyNth — Indicate which lines should be numbered
<xsl:param name="linenumbering.everyNth" select="'5'" doc:type="integer"/>
linenumbering.width — Indicates the width of line numbers
<xsl:param name="linenumbering.width" select="'3'" doc:type="integer"/>
linenumbering.separator — Specify a separator between line numbers and lines
<xsl:param name="linenumbering.separator" select="' '" doc:type="string"/>
saxon.callouts — Enable the callout extension
<xsl:param name="saxon.callouts" select="'1'" doc:type="boolean"/>
callouts.extension — Enable the callout extension
<xsl:param name="callouts.extension" select="'1'" doc:type="boolean"/>
callout.defaultcolumn — Indicates what column callouts appear in by default
<xsl:param name="callout.defaultcolumn" select="'60'" doc:type="integer"/>
stylesheet.result.type — Identifies the output format of this stylesheet
<xsl:param name="stylesheet.result.type" select="'html'" doc:type="list" doc:list="html fo"/>
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"/>
saxon.tablecolumns — Enable the table columns extension function
<xsl:param name="saxon.tablecolumns" select="'1'" doc:type="boolean"/>
tablecolumns.extension — Enable the table columns extension function
<xsl:param name="tablecolumns.extension" select="'1'" doc:type="boolean"/>
generate.set.toc — FIXME:
<xsl:param name="generate.set.toc" select="1" doc:type="boolean"/>
generate.book.toc — FIXME:
<xsl:param name="generate.book.toc" select="1" doc:type="boolean"/>
generate.part.toc — FIXME:
<xsl:param name="generate.part.toc" select="1" doc:type="boolean"/>
generate.reference.toc — FIXME:
<xsl:param name="generate.reference.toc" select="1" doc:type="boolean"/>
generate.preface.toc — FIXME:
<xsl:param name="generate.preface.toc" select="1" doc:type="boolean"/>
generate.chapter.toc — FIXME:
<xsl:param name="generate.chapter.toc" select="1" doc:type="boolean"/>
generate.appendix.toc — FIXME:
<xsl:param name="generate.appendix.toc" select="1" doc:type="boolean"/>
generate.article.toc — FIXME:
<xsl:param name="generate.article.toc" select="1" doc:type="boolean"/>
generate.section.toc — Generate TOCs inside Sections?
<xsl:param name="generate.section.toc" select="1" doc:type="boolean"/>
generate.section.toc.level — Control depth of TOC generation in sections
<xsl:param name="generate.section.toc.level" select="0" doc:type="integer"/>
The generate.section.toc.level parameter controls the depth of section in which TOCs will be generated. Note that this is related to, but not the same as toc.section.depth, which controls the depth to which TOC entries will be generated in a given TOC.
If, for example, generate.section.toc.level is 3, TOCs will be generated in first, second, and third level sections, but not in fourth level sections.
process.source.toc — FIXME:
<xsl:param name="process.source.toc" select="0" doc:type="boolean"/>
process.empty.source.toc — FIXME:
<xsl:param name="process.empty.source.toc" select="0" doc:type="boolean"/>
bridgehead.in.toc — Should bridgehead elements appear in the TOC?
<xsl:param name="bridgehead.in.toc" select="0" doc:type="boolean"/>
generate.index — FIXME:
<xsl:param name="generate.index" select="1" doc:type="boolean"/>
callout.unicode — FIXME:
<xsl:param name="callout.unicode" select="0" doc:type="boolean"/>
callout.unicode.start.character — First Unicode character to use, decimal value.
<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.unicode.font — Font to use for Unicode dingbats
<xsl:param name="callout.unicode.font" select="'ZapfDingbats'"/>
use.id.as.filename — Use ID value of chunk elements as the filename?
<xsl:param name="use.id.as.filename" select="'0'" doc:type="boolean"/>
inherit.keywords — Inherit keywords from ancestor elements?
<xsl:param name="inherit.keywords" select="'1'" doc:type="boolean"/>
label.from.part — Renumber chapters in each part?
<xsl:param name="label.from.part" select="'0'" doc:type="boolean"/>
citerefentry.link — Generate URL links when cross-referencing RefEntrys?
<xsl:param name="citerefentry.link" 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'"/>
annotate.toc — Annotate the Table of Contents?
<xsl:param name="annotate.toc" select="1" doc:type="boolean"/>
emphasis.propagates.style — Pass emphasis role attribute through to HTML?
<xsl:param name="emphasis.propagates.style" select="1" doc:type="boolean"/>
phrase.propagates.style — Pass phrase role attribute through to HTML?
<xsl:param name="phrase.propagates.style" 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"/>