# HTML Parameter Reference

### Norman Walsh

$Id: param.xweb,v 1.7 2001/11/06 02:26:59 bobstayton Exp $

Copyright © 1999, 2000, 2001 Norman Walsh

## Introduction

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="http://docbook.sourceforge.net/release/xsl/snapshot/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 :-)

# Admonitions

## Name

admon.graphics.extension — Extension for admonition graphics

## Synopsis

§1: §129

    <xsl:param name="admon.graphics.extension"
               select="'.png'"/>

## Description

Sets the extension to use on admonition graphics.

## Name

admon.graphics.path — Path to admonition graphics

## Synopsis

§2: §129

    <xsl:param name="admon.graphics.path">images/</xsl:param>

## Description

Sets the path, probably relative to the directory where the HTML files are created, to the admonition graphics.

## Name

admon.graphics — Use graphics in admonitions?

## Synopsis

§3: §129

    <xsl:param name="admon.graphics"
               select="0"/>

## Description

If true (non-zero), admonitions are presented in an alternate style that uses a graphic. Default graphics are provided in the distribution.

## Name

admon.style — CSS style attributes for admonitions

## Synopsis

§4: §129

    <xsl:param name="admon.style">
      <xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text>
    </xsl:param>

## Description

Specifies the value of the `STYLE` attribute that should be added to admonitions.

# Callouts

## Name

callout.defaultcolumn — Indicates what column callouts appear in by default

## Synopsis

§5: §129

    <xsl:param name="callout.defaultcolumn"
               select="'60'"/>

## Description

If a callout does not identify a column (for example, if it uses the `linerange` `unit`), it will appear in the default column.

## Name

callout.graphics.extension — Extension for callout graphics

## Synopsis

§6: §129

    <xsl:param name="callout.graphics.extension"
               select="'.png'"/>

## Description

Sets the extension to use on callout graphics.

## Name

callout.graphics.number.limit — Number of the largest callout graphic

## Synopsis

§7: §129

    <xsl:param name="callout.graphics.number.limit"
               select="'10'"/>

## Description

If `callout.graphics` is non-zero, graphics are used to represent callout numbers. The value of `callout.graphics.number.limit` is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used.

## Name

callout.graphics.path — Path to callout graphics

## Synopsis

§8: §129

    <xsl:param name="callout.graphics.path"
               select="'images/callouts/'"/>

## Description

Sets the path, probably relative to the directory where the HTML files are created, to the callout graphics.

## Name

callout.graphics — Use graphics for callouts?

## Synopsis

§9: §129

    <xsl:param name="callout.graphics"
               select="'1'"/>

## Description

If non-zero, callouts are presented with graphics (e.g., reverse-video circled numbers instead of "(1)", "(2)", etc.). Default graphics are provided in the distribution.

## Name

callout.list.table — Present callout lists using a table?

## Synopsis

§10: §129

    <xsl:param name="callout.list.table"
               select="'1'"/>

## Description

The default presentation of `CalloutList`s uses an HTML `DL`. Some browsers don't align DLs very well if `callout.graphics` are used. With this option turned on, `CalloutList`s are presented in an HTML `TABLE`, which usually results in better alignment of the callout number with the callout description.

## Name

callout.unicode.font — Specify a font for Unicode glyphs

## Synopsis

§11: §129

    <xsl:param name="callout.unicode.font"
               select="'ZapfDingbats'"/>

## Description

The name of the font to specify around Unicode callout glyphs. If set to the empty string, no font change will occur.

## Name

callout.unicode.number.limit — Number of the largest callout graphic

## Synopsis

§12: §129

    <xsl:param name="callout.unicode.number.limit"
               select="'10'"/>

## Description

If `callout.graphics` is non-zero, graphics are used to represent callout numbers. The value of `callout.graphics.number.limit` is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used.

## Name

callout.unicode.start.character — First Unicode character to use, decimal value.

## Synopsis

§13: §129

    <xsl:param name="callout.unicode.start.character"
               select="10102"/>

## Description

If `callout.graphics` is non-zero, graphics are used to represent callout numbers. The value of `callout.graphics.number.limit` is the largest number for which a graphic exists. If the callout number exceeds this limit, the default presentation "(nnn)" will always be used.

## Name

callout.unicode — Use Unicode characters rather than images for callouts.

## Synopsis

§14: §129

    <xsl:param name="callout.unicode"
               select="0"/>

## Description

The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option.

## Name

callouts.extension — Enable the callout extension

## Synopsis

§15: §129

    <xsl:param name="callouts.extension"
               select="'1'"/>

## Description

The callouts extension processes `areaset` elements in `ProgramListingCO` and other text-based callout elements.

# EBNF

## Name

ebnf.table.bgcolor — Background color for EBNF tables

## Synopsis

§16: §129

    <xsl:param name="ebnf.table.bgcolor"
               select="'#F5DCB3'"/>

## Description

Sets the background color for EBNF tables. No `bgcolor` attribute is output if `ebnf.table.bgcolor` is set to the null string. The default value matches the value used in recent online versions of the W3C's XML Spec productions.

## Name

ebnf.table.border — Selects border on EBNF tables

## Synopsis

§17: §129

    <xsl:param name="ebnf.table.border"
               select="1"/>

## Description

Selects the border on EBNF tables. If non-zero, the tables have borders, otherwise they don't.

# ToC/LoT/Index Generation

## Name

annotate.toc — Annotate the Table of Contents?

## Synopsis

§18: §129

    <xsl:param name="annotate.toc"
               select="1"/>

## Description

If true, TOCs will be annotated. At present, this just means that the `RefPurpose` of `RefEntry` TOC entries will be displayed.

## Name

autotoc.label.separator — Separator between labels and titles in the ToC

## Synopsis

§19: §129

    <xsl:param name="autotoc.label.separator"
               select="'. '"/>

## Description

String to use to seperate labels and title in a table of contents.

## Name

generate.appendix.toc — Specify if a table of contents is required for an appendix

## Synopsis

§20: §129

    <xsl:param name="generate.appendix.toc"
               select="1"/>

## Description

Specify whether you want a table of contents in each appendix.

## Name

generate.article.toc — Specify if a toc is wanted for an article.

## Synopsis

§21: §129

    <xsl:param name="generate.article.toc"
               select="1"/>

## Description

Specify whether a table of contents is required for an article.

## Name

generate.book.toc — Do you want a table of contents in the book?

## Synopsis

§22: §129

    <xsl:param name="generate.book.toc"
               select="1"/>

## Description

Specify if a table of contents is required in the book.

## Name

generate.chapter.toc — Do you want a table of contents for chapters?

## Synopsis

§23: §129

    <xsl:param name="generate.chapter.toc"
               select="1"/>

## Description

Specify if a table of contents should be generated for each chapter.

## Name

generate.component.toc — Should TOCs be genereated in components (Chapters, Appendixes, etc.)?

## Synopsis

§24: §129

    <xsl:param name="generate.component.toc"
               select="1"/>

## Description

If true (non-zero), they are.

## Name

generate.division.toc — Should TOCs be genereated in divisions (Books, Parts, etc.)?

## Synopsis

§25: §129

    <xsl:param name="generate.division.toc"
               select="1"/>

## Description

If true (non-zero), they are.

## Name

generate.part.toc — Do you want an index for each part?

## Synopsis

§26: §129

    <xsl:param name="generate.part.toc"
               select="1"/>

## Description

Specify if an index should be generated for each part.

## Name

generate.preface.toc — Do you want a table of contents for the preface?

## Synopsis

§27: §129

    <xsl:param name="generate.preface.toc"
               select="1"/>

## Description

Specify if a table of contents should be generated for the preface

## Name

generate.qandadiv.toc — Is a Table of Contents created for QandADivs?

## Synopsis

§28: §129

    <xsl:param name="generate.qandadiv.toc">0</xsl:param>

## Description

If true (non-zero), a ToC is constructed for QandADivs.

## Name

generate.qandaset.toc — Is a Table of Contents created for QandASets?

## Synopsis

§29: §129

    <xsl:param name="generate.qandaset.toc">1</xsl:param>

## Description

If true (non-zero), a ToC is constructed for QandASets.

## Name

generate.reference.toc — Do you want a list of references?

## Synopsis

§30: §129

    <xsl:param name="generate.reference.toc"
               select="1"/>

## Description

Specify if a list of references should be generated, similar to a table of contents, but for all `reference` elements.

## Name

generate.section.toc — Generate TOCs inside Sections?

## Synopsis

§31: §129

    <xsl:param name="generate.section.toc"
               select="1"/>

## Description

If non-zero, a Table of Contents will be generated inside section elements. Note that `generate.section.toc.level` may suppress some section TOCs.

## Name

generate.set.toc — Do you want a table of contents in each set?

## Synopsis

§32: §129

    <xsl:param name="generate.set.toc"
               select="1"/>

## Description

Specify if a table of contents is required in each set.

## Name

generate.section.toc.level — Control depth of TOC generation in sections

## Synopsis

§33: §129

    <xsl:param name="generate.section.toc.level"
               select="0"/>

## Description

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.

## Name

generate.index — Do you want an index?

## Synopsis

§34: §129

    <xsl:param name="generate.index"
               select="1"/>

## Description

Specify if an index should be generated.

## Name

toc.list.type — Type of HTML list element to use for Tables of Contents

## Synopsis

§35: §129

    <xsl:param name="toc.list.type">dl</xsl:param>

## Description

When an automatically generated Table of Contents (or List of Titles) is produced, this HTML element will be used to make the list.

## Name

toc.section.depth — How deep should recursive `section`s appear in the TOC?

## Synopsis

§36: §129

    <xsl:param name="toc.section.depth">2</xsl:param>

## Description

Specifies the depth to which recursive sections should appear in the TOC.

## Name

process.source.toc — FIXME:

## Synopsis

§37: §129

    <xsl:param name="process.source.toc"
               select="0"/>

## Description

FIXME:

## Name

process.empty.source.toc — FIXME:

## Synopsis

§38: §129

    <xsl:param name="process.empty.source.toc"
               select="0"/>

## Description

FIXME:

## Name

bridgehead.in.toc — Should bridgehead elements appear in the TOC?

## Synopsis

§39: §129

    <xsl:param name="bridgehead.in.toc"
               select="0"/>

## Description

If non-zero, bridgeheads appear in the TOC. Note that this option is not fully supported and may be removed in a future version of the stylesheets.

# Extensions

## Name

saxon.callouts — Enable the callout extension

## Synopsis

§40: §129

    <xsl:param name="saxon.callouts"
               select="'1'"/>

## Description

The callouts extension processes `areaset` elements in `ProgramListingCO` and other text-based callout elements.

## Name

saxon.linenumbering — Enable the line numbering extension

## Synopsis

§41: §129

    <xsl:param name="saxon.linenumbering"
               select="'1'"/>

## Description

If true, verbatim environments (elements that have the format='linespecific' notation attribute: address, literallayout, programlisting, screen, synopsis) that specify line numbering will have, surprise, line numbers.

## Name

saxon.tablecolumns — Enable the table columns extension function

## Synopsis

§42: §129

    <xsl:param name="saxon.tablecolumns"
               select="'1'"/>

## Description

The table columns extension function adjusts the widths of table columns in the HTML result to more accurately reflect the specifications in the CALS table.

## Name

linenumbering.everyNth — Indicate which lines should be numbered

## Synopsis

§43: §129

    <xsl:param name="linenumbering.everyNth"
               select="'5'"/>

## Description

If line numbering is enabled, everyNth line will be numbered.

## Name

linenumbering.extension — Enable the line numbering extension

## Synopsis

§44: §129

    <xsl:param name="linenumbering.extension"
               select="'1'"/>

## Description

If true, verbatim environments (elements that have the format='linespecific' notation attribute: address, literallayout, programlisting, screen, synopsis) that specify line numbering will have, surprise, line numbers.

## Name

linenumbering.separator — Specify a separator between line numbers and lines

## Synopsis

§45: §129

    <xsl:param name="linenumbering.separator"
               select="' '"/>

## Description

The separator is inserted between line numbers and lines in the verbatim environment.

## Name

linenumbering.width — Indicates the width of line numbers

## Synopsis

§46: §129

    <xsl:param name="linenumbering.width"
               select="'3'"/>

## Description

If line numbering is enabled, line numbers will appear right justified in a field "width" characters wide.

## Name

tablecolumns.extension — Enable the table columns extension function

## Synopsis

§47: §129

    <xsl:param name="tablecolumns.extension"
               select="'1'"/>

## Description

The table columns extension function adjusts the widths of table columns in the HTML result to more accurately reflect the specifications in the CALS table.

## Name

textinsert.extension — Enable the textinsert extension element

## Synopsis

§48: §129

    <xsl:param name="textinsert.extension"
               select="'1'"/>

## Description

The textinsert extension element inserts the contents of a a file into the result tree (as text).

## Name

use.extensions — Enable extensions

## Synopsis

§49: §129

    <xsl:param name="use.extensions"
               select="'0'"/>

## Description

If non-zero, extensions may be used. Each extension is further controlled by its own parameter. But if `use.extensions` is zero, no extensions will be used.

# Automatic labeling

## Name

chapter.autolabel — Are chapters automatically enumerated?

## Synopsis

§50: §129

    <xsl:param name="chapter.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled chapters will be enumerated.

## Name

appendix.autolabel — Are Appendixes automatically enumerated?

## Synopsis

§51: §129

    <xsl:param name="appendix.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled appendixes will be enumerated.

## Name

part.autolabel — Are parts and references enumerated?

## Synopsis

§52: §129

    <xsl:param name="part.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled parts and references will be enumerated.

## Name

preface.autolabel — Are prefaces enumerated?

## Synopsis

§53: §129

    <xsl:param name="preface.autolabel"
               select="0"/>

## Description

If true (non-zero), unlabeled prefaces will be enumerated.

## Name

qandadiv.autolabel — Are divisions in QAndASets enumerated?

## Synopsis

§54: §129

    <xsl:param name="qandadiv.autolabel"
               select="1"/>

## Description

If true (non-zero), unlabeled qandadivs will be enumerated.

## Name

section.autolabel — Are sections enumerated?

## Synopsis

§55: §129

    <xsl:param name="section.autolabel"
               select="0"/>

## Description

If true (non-zero), unlabeled sections will be enumerated.

## Name

section.label.includes.component.label — Do section labels include the component label?

## Synopsis

§56: §129

    <xsl:param name="section.label.includes.component.label"
               select="0"/>

## Description

If true (non-zero), section labels are prefixed with the label of the component that contains them.

## Name

label.from.part — Renumber chapters in each part?

## Synopsis

§57: §129

    <xsl:param name="label.from.part"
               select="'0'"/>

## Description

If `label.from.part` is non-zero, components (`chapter`s, `appendixe`s, etc.) will be numbered from 1 in each `part`. Otherwise, they will be numbered monotonically throughout each `book`.

# HTML

## Name

html.base — An HTML base URI

## Synopsis

§58: §129

    <xsl:param name="html.base"/>

## Description

If html.base is set, it is used for the `BASE` element in the `HEAD` of the HTML documents. This is useful for dynamically served HTML where the base URI needs to be shifted.

## Name

html.stylesheet.type — The type of the stylesheet used in the generated HTML

## Synopsis

§59: §129

    <xsl:param name="html.stylesheet.type">text/css</xsl:param>

## Description

The type of the stylesheet to place in the HTML `link` tag.

## Name

html.stylesheet — Name of the stylesheet to use in the generated HTML

## Synopsis

§60: §129

    <xsl:param name="html.stylesheet"
               select="''"/>

## Description

The name of the stylesheet to place in the HTML `LINK` tag, or the empty string to suppress the stylesheet `LINK`.

## Name

use.id.as.filename — Use ID value of chunk elements as the filename?

## Synopsis

§61: §129

    <xsl:param name="use.id.as.filename"
               select="'0'"/>

## Description

If `use.id.as.filename` is non-zero, the filename of chunk elements that have IDs will be derived from the ID value.

## Name

using.chunker — Will the output be chunked?

## Synopsis

§62: §129

    <xsl:param name="using.chunker"
               select="0"/>

## Description

In addition to providing chunking, the chunker can cleanup a number of XML to HTML issues. If the chunker is not being used, the stylesheets try to avoid producing results that will not appear properly in browsers.

## Name

css.decoration — Enable CSS decoration of elements

## Synopsis

§63: §129

    <xsl:param name="css.decoration">1</xsl:param>

## Description

If `css.decoration` is turned on, then HTML elements produced by the stylesheet may be decorated with STYLE attributes. For example, the LI tags produced for list items may include a fragment of CSS in the STYLE attribute which sets the CSS property "list-style-type".

## Name

spacing.paras — Insert additional <p> elements for spacing?

## Synopsis

§64: §129

    <xsl:param name="spacing.paras"
               select="'0'"/>

## Description

When non-zero, additional, empty paragraphs are inserted in several contexts (for example, around informal figures), to create a more pleasing visual appearance in many browsers.

## Name

emphasis.propagates.style — Pass emphasis role attribute through to HTML?

## Synopsis

§65: §129

    <xsl:param name="emphasis.propagates.style"
               select="1"/>

## Description

If true, the role attribute of `emphasis` elements will be passed through to the HTML as a class attribute on a `span` that surrounds the emphasis.

## Name

phrase.propagates.style — Pass phrase role attribute through to HTML?

## Synopsis

§66: §129

    <xsl:param name="phrase.propagates.style"
               select="1"/>

## Description

If true, the role attribute of `phrase` elements will be passed through to the HTML as a class attribute on a `span` that surrounds the phrase.

## Name

stylesheet.result.type — Identifies the output format of this stylesheet

## Synopsis

§67: §129

    <xsl:param name="stylesheet.result.type"
               select="'html'"/>

## Description

The Saxon extension functions need to know if the output format is HTML ('html') or XSL Formatting Objects ('fo'). This variable answers that question. Valid settings are 'html' or 'fo'.

## Name

html.longdesc — Should longdesc URIs be created?

## Synopsis

§68: §129

    <xsl:param name="html.longdesc"
               select="1"/>

## Description

If non-zero, HTML files will be created for the `longdesc` attribute. These files are created from the `textobject`s in `mediaobject`s and `inlinemediaobject`.

## Name

html.longdesc.link — Should a link to the longdesc be included in the HTML?

## Synopsis

§69: §129

    <xsl:param name="html.longdesc.link"
               select="$html.longdesc"/>

## Description

If non-zero, links will be created to the HTML files created for the `longdesc` attribute. It makes no sense to turn enable this option without also enabling the `$html.longdesc` parameter.

The `longdesc.link` named template is called to construct the link.

# XSLT Processing

## Name

use.id.function — Use the XPath id() function to find link targets?

## Synopsis

§70: §129

    <xsl:param name="use.id.function"
               select="'1'"/>

## Description

If 1, the stylesheets use the `id()` function to find the targets of cross reference elements. This is more efficient, but only works if your XSLT processor implements the `id()` function, naturally.

THIS PARAMETER IS NOT SUPPORTED. IT IS ALWAYS ASSUMED TO BE 1. SEE xref.xsl IF YOU NEED TO TURN IT OFF.

## Name

rootid — Specify the root element to format

## Synopsis

§71: §129

    <xsl:param name="rootid"
               select="''"/>

## Description

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.

## Name

suppress.navigation — Disable header and footer navigation

## Synopsis

§72: §129

    <xsl:param name="suppress.navigation">0</xsl:param>

## Description

If `suppress.navigation` is turned on, header and footer navigation will be suppressed.

# Meta/*Info

## Name

inherit.keywords — Inherit keywords from ancestor elements?

## Synopsis

§73: §129

    <xsl:param name="inherit.keywords"
               select="'1'"/>

## Description

If `inherit.keywords` is non-zero, the keyword `META` for each HTML `HEAD` element will include all of the keywords from ancestral elements. Otherwise, only the keywords from the current section will be used.

## Name

make.single.year.ranges — Print single-year ranges (e.g., 1998-1999)

## Synopsis

§74: §129

    <xsl:param name="make.single.year.ranges"
               select="0"/>

## Description

If non-zero, year ranges that span a single year will be printed in range notation (1998-1999) instead of discrete notation (1998, 1999).

## Name

make.year.ranges — Collate copyright years into ranges?

## Synopsis

§75: §129

    <xsl:param name="make.year.ranges"
               select="0"/>

## Description

If non-zero, copyright years will be collated into ranges.

## Name

author.othername.in.middle — Is `othername` in `author` a middle name?

## Synopsis

§76: §129

    <xsl:param name="author.othername.in.middle"
               select="1"/>

## Description

If true (non-zero), the `othername` of an `author` appears between the `firstname` and `surname`. Otherwise, `othername` is suppressed.

## Name

generate.legalnotice.link — TBD

## Synopsis

§77: §129

    <xsl:param name="generate.legalnotice.link"
               select="0"/>

## Description

TBD

# Reference Pages

## Name

funcsynopsis.decoration — Decorate elements of a FuncSynopsis?

## Synopsis

§78: §129

    <xsl:param name="funcsynopsis.decoration"
               select="1"/>

## Description

If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or italic). The decoration is controlled by functions that can be redefined in a customization layer.

## Name

funcsynopsis.style — What style of 'FuncSynopsis' should be generated?

## Synopsis

§79: §129

    <xsl:param name="funcsynopsis.style">kr</xsl:param>

## Description

If `funcsynopsis.style` is `ansi`, ANSI-style function synopses are generated for a `funcsynopsis`, otherwise K&R-style function synopses are generated.

## Name

function.parens — Generate parens after a function?

## Synopsis

§80: §129

    <xsl:param name="function.parens">0</xsl:param>

## Description

If not 0, the formatting of a `<function>` element will include generated parenthesis.

## Name

refentry.generate.name — Output NAME header before 'RefName'(s)?

## Synopsis

§81: §129

    <xsl:param name="refentry.generate.name"
               select="1"/>

## Description

If true (non-zero), a "NAME" section title is output before the list of 'RefName's.

## Name

refentry.xref.manvolnum — Output `manvolnum` as part of `refentry` cross-reference?

## Synopsis

§82: §129

    <xsl:param name="refentry.xref.manvolnum"
               select="1"/>

## Description

if true (non-zero), the `manvolnum` is used when cross-referencing `refentry`s, either with `xref` or `citerefentry`.

## Name

citerefentry.link — Generate URL links when cross-referencing RefEntrys?

## Synopsis

§83: §129

    <xsl:param name="citerefentry.link"
               select="'0'"/>

## Description

If true, a web link will be generated, presumably to an online man->HTML gateway. The text of the link is generated by the generate.citerefentry.link template.

## Name

refentry.separator — Generate a separator between consecutive RefEntry elements?

## Synopsis

§84: §129

    <xsl:param name="refentry.separator"
               select="'1'"/>

## Description

If true, a separator will be generated between consecutive reference pages.

# Tables

## Name

default.table.width — The default width of tables

## Synopsis

§85: §129

    <xsl:param name="default.table.width"
               select="''"/>

## Description

If specified, this value will be used for the WIDTH attribute on tables that do not specify an alternate width (with the dbhtml processing instruction).

## Name

nominal.table.width — The (absolute) nominal width of tables

## Synopsis

§86: §129

    <xsl:param name="nominal.table.width"
               select="'6in'"/>

## Description

In order to convert CALS column widths into HTML column widths, it is sometimes necessary to have an absolute table width to use for conversion of mixed absolute and relative widths. This value must be an absolute length (not a percentag).

## Name

table.borders.with.css — Use CSS to specify table, row, and cell borders?

## Synopsis

§87: §129

    <xsl:param name="table.borders.with.css"
               select="0"/>

## Description

If true (non-zero), CSS will be used to draw table borders.

## Name

table.border.style —

## Synopsis

§88: §129

    <xsl:param name="table.border.style"
               select="'solid'"/>

## Description

FIXME:

## Name

table.border.thickness —

## Synopsis

§89: §129

    <xsl:param name="table.border.thickness"
               select="'0.5pt'"/>

## Description

FIXME:

## Name

table.border.color —

## Synopsis

§90: §129

    <xsl:param name="table.border.color"
               select="'black'"/>

## Description

FIXME:

# QAndASet

## Name

qanda.defaultlabel — Sets the default for defaultlabel on QandASet.

## Synopsis

§91: §129

    <xsl:param name="qanda.defaultlabel">number</xsl:param>

## Description

If no defaultlabel attribute is specified on a QandASet, this value is used. It must be one of the legal values for the defaultlabel attribute.

## Name

qanda.inherit.numeration — Does enumeration of QandASet components inherit the numeration of parent elements?

## Synopsis

§92: §129

    <xsl:param name="qanda.inherit.numeration"
               select="1"/>

## Description

If true (non-zero), numbered QandADiv elements and Questions and Answers inherit the numeration of the ancestors of the QandASet.

# Linking

## Name

link.mailto.url — Mailto URL for the LINK REL=made HTML HEAD element

## Synopsis

§93: §129

    <xsl:param name="link.mailto.url"/>

## Description

If not the empty string, this address will be used for the REL=made `LINK` element in the HTML `HEAD`.

## Name

ulink.target — The HTML anchor target for ULinks

## Synopsis

§94: §129

    <xsl:param name="ulink.target"
               select="'_top'"/>

## Description

If `ulink.target` is set, its value will be used for the `target` attribute on anchors generated for `ulink`s.

## Name

olink.fragid — Names the fragment identifier portion of an OLink resolver query

## Synopsis

§95: §129

    <xsl:param name="olink.fragid"
               select="'fragid='"/>

## Description

FIXME:

## Name

olink.outline.ext — The extension of OLink outline files

## Synopsis

§96: §129

    <xsl:param name="olink.outline.ext"
               select="'.olink'"/>

## Description

FIXME:

## Name

olink.pubid — Names the public identifier portion of an OLink resolver query

## Synopsis

§97: §129

    <xsl:param name="olink.pubid"
               select="'pubid='"/>

## Description

FIXME:

## Name

olink.sysid — Names the system identifier portion of an OLink resolver query

## Synopsis

§98: §129

    <xsl:param name="olink.sysid"
               select="'sysid='"/>

## Description

FIXME:

## Name

olink.resolver — The root name of the OLink resolver (usually a script)

## Synopsis

§99: §129

    <xsl:param name="olink.resolver"
               select="'/cgi-bin/olink'"/>

## Description

FIXME:

# Bibliography

## Name

biblioentry.item.separator — Text to separate bibliography entries

## Synopsis

§100: §129

    <xsl:param name="biblioentry.item.separator">. </xsl:param>

## Description

Text to separate bibliography entries

## Name

bibliography.collection — Name of the bibliography collection file

## Synopsis

§101: §129

    <xsl:param name="bibliography.collection"
               select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"/>

## Description

Tired of copying bibliography entries from one document to another? Now you can maintain a central bibliography and let the stylesheets do the copying for you. This parameter identifies the file (by URI reference) that contains your complete bibliography collection.

# Miscellaneous

## Name

graphic.default.extension — Default extension for graphic filenames

## Synopsis

§102: §129

    <xsl:param name="graphic.default.extension"/>

## Description

If a `graphic` or `mediaobject` includes a reference to a filename that does not include an extension, and the `format` attribute is unspecified, the default extension will be used.

## Name

formal.procedures — Selects formal or informal procedures

## Synopsis

§103: §129

    <xsl:param name="formal.procedures"
               select="1"/>

## Description

Formal procedures are numbered and always hav a title.

## Name

runinhead.default.title.end.punct — Default punctuation character on a run-in-head

## Synopsis

§104: §129

    <xsl:param name="runinhead.default.title.end.punct"
               select="'.'"/>

## Description

FIXME:

## Name

runinhead.title.end.punct — Characters that count as punctuation on a run-in-head

## Synopsis

§105: §129

    <xsl:param name="runinhead.title.end.punct"
               select="'.!?:'"/>

## Description

FIXME:

## Name

show.comments — Display `comment` elements?

## Synopsis

§106: §129

    <xsl:param name="show.comments">1</xsl:param>

## Description

If true (non-zero), comments will be displayed, otherwise they are suppressed. Comments here refers to the `comment` element, which will be renamed `remark` in DocBook V4.0, not XML comments (<-- like this -->) which are unavailable.

## Name

show.revisionflag — Enable decoration of elements that have a revisionflag

## Synopsis

§107: §129

    <xsl:param name="show.revisionflag">0</xsl:param>

## Description

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`.

## Name

shade.verbatim — Should verbatim environments be shaded?

## Synopsis

§108: §129

    <xsl:param name="shade.verbatim"
               select="0"/>

## Description

FIXME:

## Name

shade.verbatim.style — Properties that specify the style of shaded verbatim listings

## Synopsis

§109: §129

    <xsl:attribute-set name="shade.verbatim.style">
      <xsl:attribute name="border">0</xsl:attribute>
      <xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute>
    </xsl:attribute-set>

## Description

FIXME:

# Chunking

## Name

html.ext — Identifies the extension of generated HTML files

## Synopsis

§110: §129

    <xsl:param name="html.ext"
               select="'.html'"/>

## Description

The extension identified by `html.ext` will be used as the filename extension for chunks created by this stylesheet.

## Name

root.filename — Identifies the name of the root HTML file when chunking

## Synopsis

§111: §129

    <xsl:param name="root.filename"
               select="'index'"/>

## Description

The `root.filename` is the base filename for the chunk created for the root of each document processed.

## Name

base.dir — The base directory of chunks

## Synopsis

§112: §129

    <xsl:param name="base.dir"
               select="''"/>

## Description

If specified, the `base.dir` identifies the output directory for chunks. (If not specified, the output directory is system dependent.)

## Name

chunk.sections — Should top-level sections be chunks in their own right?

## Synopsis

§113: §129

    <xsl:param name="chunk.sections"
               select="'1'"/>

## Description

If non-zero, chunks will be created for top-level `sect1` and `section` elements in each component.

## Name

chunk.first.sections — Chunk the first top-level section?

## Synopsis

§114: §129

    <xsl:param name="chunk.first.sections"
               select="'0'"/>

## Description

If non-zero, a chunk will be created for the first top-level `sect1` or `section` elements in each component. Otherwise, that section will be part of the chunk for its parent.

## Name

saxon.character.representation — Saxon character representation used in generated HTML pages

## Synopsis

§115: §129

    <xsl:param name="saxon.character.representation"
               select="'entity;decimal'"/>

## Description

This character representation is used in files generated by chunking stylesheet. If you want to suppress entity references for characters with direct representation in default.encoding, set this parameter to value `native`.

## Name

default.encoding — Encoding used in generated HTML pages

## Synopsis

§116: §129

    <xsl:param name="default.encoding"
               select="'ISO-8859-1'"/>

## Description

This encoding is used in files generated by chunking stylesheet. Currently only Saxon is able to change output encoding.

## Name

chunk.datafile — Name of the temporary file used to hold chunking data

## Synopsis

§117: §129

    <xsl:param name="chunk.datafile"
               select="'.chunks'"/>

## Description

Chunking is now a two-step process. The `chunk.datafile` is the name of the file used to hold the chunking data.

## Name

navig.graphics — Use graphics in navigational headers and footers?

## Synopsis

§118

    <xsl:param name="navig.graphics"
               select="0"/>

## Description

If true (non-zero), the navigational headers and footers in chunked HTML are presented in an alternate style that uses graphical icons for Next, Previous, Up, and Home. Default graphics are provided in the distribution.

## Name

navig.graphics.extension — Extension for navigational graphics

## Synopsis

§119

    <xsl:param name="navig.graphics.extension"
               select="'.gif'"/>

## Description

Sets the filename extension to use on navigational graphics used in the headers and footers of chunked HTML.

## Name

navig.graphics.path — Path to navigational graphics

## Synopsis

§120

    <xsl:param name="navig.graphics.path">images/</xsl:param>

## Description

Sets the path, probably relative to the directory where the HTML files are created, to the navigational graphics used in the headers and footers of chunked HTML.

## Name

navig.showtitles — Display titles in HTML headers and footers?

## Synopsis

§121

    <xsl:param name="navig.showtitles">1</xsl:param>

## Description

If true (non-zero), the headers and footers of chunked HTML display the titles of the next and previous chunks, along with the words 'Next' and 'Previous' (or the equivalent graphical icons if navig.graphics is true). If false (zero), then only the words 'Next' and 'Previous' (or the icons) are displayed.

# HTML Help

## Name

htmlhelp.encoding — Character encoding to use in files for HTML Help compiler.

## Synopsis

§122: §129

    <xsl:param name="htmlhelp.encoding"
               select="'iso-8859-1'"/>

## Description

HTML Help Compiler is not UTF-8 aware, so you should always use appropriate single-byte encoding here.

## Name

htmlhelp.autolabel — Should tree-like ToC use autonumbering feature?

## Synopsis

§123: §129

    <xsl:param name="htmlhelp.autolabel"
               select="0"/>

## Description

If you want to include chapter and section numbers into ToC in the left panel, set this parameter to 1.

## Name

htmlhelp.chm — Filename of output HTML Help file.

## Synopsis

§124: §129

    <xsl:param name="htmlhelp.chm"
               select="'htmlhelp.chm'"/>

## Description

Change this parameter if you want different name of result CHM file than htmlhelp.chm.

## Name

htmlhelp.hhp — Filename of project file.

## Synopsis

§125: §129

    <xsl:param name="htmlhelp.hhp"
               select="'htmlhelp.hhp'"/>

## Description

Change this parameter if you want different name of project file than htmlhelp.hhp.

## Name

htmlhelp.hhc — Filename of TOC file.

## Synopsis

§126: §129

    <xsl:param name="htmlhelp.hhc"
               select="'toc.hhc'"/>

## Description

Change this parameter if you want different name of TOC file than toc.hhc.

## Name

htmlhelp.hhp.tail — Additional content for project file.

## Synopsis

§127: §129

    <xsl:param name="htmlhelp.hhp.tail"/>

## Description

If you want to include some additional parameters into project file, store appropriate part of project file into this parameter.

## Name

htmlhelp.enumerate.images — Should be paths to all used images added to project file?

## Synopsis

§128: §129

    <xsl:param name="htmlhelp.enumerate.images"
               select="0"/>

## Description

You should turn on this flag, if you insert images into your documents as external binary entities or if you are using absolute path in image names.

## Appendix A. The Stylesheet

The `param.xsl` stylesheet is just a wrapper around all these parameters.

§129

    <!-- This file is generated from param.xweb; do not edit this file! -->

    <xsl:stylesheet exclude-result-prefixes="src"
                    version="1.0">

    <!-- ********************************************************************
         $Id: param.html,v 1.3 2003/09/06 19:06:32 binner Exp $
         ********************************************************************

         This file is part of the XSL DocBook Stylesheet distribution.
         See ../README or http://nwalsh.com/docbook/xsl/ for copyright
         and other information.

         ******************************************************************** -->

    §3. admon.graphics
    §1. admon.graphics.extension
    §2. admon.graphics.path
    §4. admon.style
    §18. annotate.toc
    §51. appendix.autolabel
    §76. author.othername.in.middle
    §19. autotoc.label.separator
    §112. base.dir
    §100. biblioentry.item.separator
    §101. bibliography.collection
    §39. bridgehead.in.toc
    §5. callout.defaultcolumn
    §9. callout.graphics
    §6. callout.graphics.extension
    §7. callout.graphics.number.limit
    §8. callout.graphics.path
    §10. callout.list.table
    §14. callout.unicode
    §11. callout.unicode.font
    §12. callout.unicode.number.limit
    §13. callout.unicode.start.character
    §15. callouts.extension
    §50. chapter.autolabel
    §117. chunk.datafile
    §114. chunk.first.sections
    §113. chunk.sections
    §83. citerefentry.link
    §63. css.decoration
    §116. default.encoding
    §85. default.table.width
    §16. ebnf.table.bgcolor
    §17. ebnf.table.border
    §65. emphasis.propagates.style
    §103. formal.procedures
    §78. funcsynopsis.decoration
    §79. funcsynopsis.style
    §80. function.parens
    §20. generate.appendix.toc
    §21. generate.article.toc
    §22. generate.book.toc
    §23. generate.chapter.toc
    §24. generate.component.toc
    §25. generate.division.toc
    §34. generate.index
    §77. generate.legalnotice.link
    §26. generate.part.toc
    §27. generate.preface.toc
    §28. generate.qandadiv.toc
    §29. generate.qandaset.toc
    §30. generate.reference.toc
    §31. generate.section.toc
    §33. generate.section.toc.level
    §32. generate.set.toc
    §102. graphic.default.extension
    §58. html.base
    §110. html.ext
    §68. html.longdesc
    §69. html.longdesc.link
    §60. html.stylesheet
    §59. html.stylesheet.type
    §73. inherit.keywords
    §57. label.from.part
    §43. linenumbering.everyNth
    §44. linenumbering.extension
    §45. linenumbering.separator
    §46. linenumbering.width
    §93. link.mailto.url
    §74. make.single.year.ranges
    §75. make.year.ranges
    §86. nominal.table.width
    §95. olink.fragid
    §96. olink.outline.ext
    §97. olink.pubid
    §99. olink.resolver
    §98. olink.sysid
    §52. part.autolabel
    §66. phrase.propagates.style
    §53. preface.autolabel
    §38. process.empty.source.toc
    §37. process.source.toc
    §91. qanda.defaultlabel
    §92. qanda.inherit.numeration
    §54. qandadiv.autolabel
    §81. refentry.generate.name
    §84. refentry.separator
    §82. refentry.xref.manvolnum
    §111. root.filename
    §71. rootid
    §104. runinhead.default.title.end.punct
    §105. runinhead.title.end.punct
    §40. saxon.callouts
    §115. saxon.character.representation
    §41. saxon.linenumbering
    §42. saxon.tablecolumns
    §55. section.autolabel
    §56. section.label.includes.component.label
    §108. shade.verbatim
    §109. shade.verbatim.style
    §106. show.comments
    §107. show.revisionflag
    §64. spacing.paras
    §67. stylesheet.result.type
    §72. suppress.navigation
    §47. tablecolumns.extension
    §48. textinsert.extension
    §35. toc.list.type
    §36. toc.section.depth
    §94. ulink.target
    §49. use.extensions
    §61. use.id.as.filename
    §70. use.id.function
    §62. using.chunker
    §87. table.borders.with.css
    §89. table.border.thickness
    §88. table.border.style
    §90. table.border.color
    §122. htmlhelp.encoding
    §123. htmlhelp.autolabel
    §124. htmlhelp.chm
    §125. htmlhelp.hhp
    §126. htmlhelp.hhc
    §127. htmlhelp.hhp.tail
    §128. htmlhelp.enumerate.images
    </xsl:stylesheet>