blob: c4bc71d4186100d9acf449b029d2b8f64858102d [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<book version="5.0">
<info>
<title>HTML Parameter Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
<author>
<personname>
<surname>Walsh</surname>
<firstname>Norman</firstname>
</personname>
</author>
<copyright>
<year>1999</year>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Norman Walsh</holder>
</copyright>
<abstract>
<para>This is reference documentation for all user-configurable
parameters in the DocBook XSL HTML stylesheets (for generating
HTML output).</para>
</abstract>
</info>
<reference xml:id="admons"><title>Admonitions</title>
<refentry version="5.0" xml:id="admon.graphics.extension">
<refmeta>
<refentrytitle>admon.graphics.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>admon.graphics.extension</refname>
<refpurpose>Filename extension for admonition graphics</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="admon.graphics.extension.frag">
&lt;xsl:param name="admon.graphics.extension"&gt;.png&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Sets the filename extension to use on admonition graphics.</para>
<itemizedlist>
<para>The DocBook XSL distribution provides admonition graphics in the following formats:</para>
<listitem><para>GIF (extension: <filename class="extension">.gif</filename>)</para></listitem>
<listitem><para>PNG (extension: <filename class="extension">.png</filename>)</para></listitem>
<listitem><para>SVG (extension: <filename class="extension">.svg</filename>)</para></listitem>
<listitem><para>TIFF (extension: <filename class="extension">.tif</filename>)</para></listitem>
</itemizedlist>
</refsection>
</refentry>
<refentry version="5.0" xml:id="admon.graphics.path">
<refmeta>
<refentrytitle>admon.graphics.path</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>admon.graphics.path</refname>
<refpurpose>Path to admonition graphics</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="admon.graphics.path.frag">&lt;xsl:param name="admon.graphics.path"&gt;images/&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Sets the path to the directory containing the admonition graphics
(caution.png, important.png etc). This location is normally relative
to the output html directory. See <parameter>base.dir</parameter></para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="admon.graphics">
<refmeta>
<refentrytitle>admon.graphics</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>admon.graphics</refname>
<refpurpose>Use graphics in admonitions?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="admon.graphics.frag">
&lt;xsl:param name="admon.graphics" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If true (non-zero), admonitions are presented in an alternate style that uses
a graphic. Default graphics are provided in the distribution.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="admon.textlabel">
<refmeta>
<refentrytitle>admon.textlabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>admon.textlabel</refname>
<refpurpose>Use text label in admonitions?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="admon.textlabel.frag">
&lt;xsl:param name="admon.textlabel" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If true (non-zero), admonitions are presented with a generated
text label such as Note or Warning in the appropriate language.
If zero, such labels are turned off, but any title child
of the admonition element are still output.
The default value is 1.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="admon.style">
<refmeta>
<refentrytitle>admon.style</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>admon.style</refname>
<refpurpose>Specifies the CSS style attribute that should be added to
admonitions.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="admon.style.frag">&lt;xsl:param name="admon.style"&gt;
&lt;xsl:value-of select="concat('margin-', $direction.align.start, ': 0.5in; margin-', $direction.align.end, ': 0.5in;')"&gt;&lt;/xsl:value-of&gt;
&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the value of the CSS <tag class="attribute">style</tag>
attribute that should be added to admonitions.
</para>
</refsection>
</refentry>
</reference>
<reference xml:id="callouts"><title>Callouts</title>
<refentry version="5.0" xml:id="callout.defaultcolumn">
<refmeta>
<refentrytitle>callout.defaultcolumn</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.defaultcolumn</refname>
<refpurpose>Indicates what column callouts appear in by default</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.defaultcolumn.frag">
&lt;xsl:param name="callout.defaultcolumn"&gt;60&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If a callout does not identify a column (for example, if it uses
the <literal>linerange</literal> <tag class="attribute">unit</tag>),
it will appear in the default column.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.graphics.extension">
<refmeta>
<refentrytitle>callout.graphics.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.graphics.extension</refname>
<refpurpose>Filename extension for callout graphics</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.graphics.extension.frag">
&lt;xsl:param name="callout.graphics.extension"&gt;.png&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Sets the filename extension to use on callout graphics. </para>
<itemizedlist>
<para>The Docbook XSL distribution provides callout graphics in the following formats:</para>
<listitem><para>SVG (extension: <filename class="extension">.svg</filename>)</para></listitem>
<listitem><para>PNG (extension: <filename class="extension">.png</filename>)</para></listitem>
<listitem><para>GIF (extension: <filename class="extension">.gif</filename>)</para></listitem>
</itemizedlist>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.graphics.number.limit">
<refmeta>
<refentrytitle>callout.graphics.number.limit</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.graphics.number.limit</refname>
<refpurpose>Number of the largest callout graphic</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.graphics.number.limit.frag">
&lt;xsl:param name="callout.graphics.number.limit"&gt;15&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>callout.graphics</parameter> is non-zero, graphics
are used to represent callout numbers instead of plain text. The value
of <parameter>callout.graphics.number.limit</parameter> is the largest
number for which a graphic exists. If the callout number exceeds this
limit, the default presentation "(plain text instead of a graphic)"
will be used.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.graphics.path">
<refmeta>
<refentrytitle>callout.graphics.path</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.graphics.path</refname>
<refpurpose>Path to callout graphics</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.graphics.path.frag">
&lt;xsl:param name="callout.graphics.path"&gt;images/callouts/&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Sets the path to the directory holding the callout graphics. his
location is normally relative to the output html directory. see
base.dir. Always terminate the directory with / since the graphic file
is appended to this string, hence needs the separator.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.graphics">
<refmeta>
<refentrytitle>callout.graphics</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.graphics</refname>
<refpurpose>Use graphics for callouts?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.graphics.frag">
&lt;xsl:param name="callout.graphics" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>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.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.list.table">
<refmeta>
<refentrytitle>callout.list.table</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.list.table</refname>
<refpurpose>Present callout lists using a table?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.list.table.frag">
&lt;xsl:param name="callout.list.table" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The default presentation of <tag>calloutlist</tag>s uses
an HTML <tag>DL</tag> element. Some browsers don't align DLs very well
if <parameter>callout.graphics</parameter> is used. With this option
turned on, <tag>calloutlist</tag>s are presented in an HTML
<tag>TABLE</tag>, which usually results in better alignment
of the callout number with the callout description.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.unicode.number.limit">
<refmeta>
<refentrytitle>callout.unicode.number.limit</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.unicode.number.limit</refname>
<refpurpose>Number of the largest unicode callout character</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.unicode.number.limit.frag">
&lt;xsl:param name="callout.unicode.number.limit"&gt;10&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>callout.unicode</parameter>
is non-zero, unicode characters are used to represent
callout numbers. The value of
<parameter>callout.unicode.number.limit</parameter>
is
the largest number for which a unicode character exists. If the callout number
exceeds this limit, the default presentation "(nnn)" will always
be used.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.unicode.start.character">
<refmeta>
<refentrytitle>callout.unicode.start.character</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.unicode.start.character</refname>
<refpurpose>First Unicode character to use, decimal value.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.unicode.start.character.frag">
&lt;xsl:param name="callout.unicode.start.character"&gt;10102&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>callout.graphics</parameter> is zero and <parameter>callout.unicode</parameter>
is non-zero, unicode characters are used to represent
callout numbers. The value of
<parameter>callout.unicode.start.character</parameter>
is the decimal unicode value used for callout number one. Currently,
only values 9312 and 10102 are supported in the stylesheets for this parameter.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callout.unicode">
<refmeta>
<refentrytitle>callout.unicode</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callout.unicode</refname>
<refpurpose>Use Unicode characters rather than images for callouts.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callout.unicode.frag">&lt;xsl:param name="callout.unicode" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>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.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="callouts.extension">
<refmeta>
<refentrytitle>callouts.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>callouts.extension</refname>
<refpurpose>Enable the callout extension</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="callouts.extension.frag">
&lt;xsl:param name="callouts.extension" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The callouts extension processes <tag>areaset</tag>
elements in <tag>programlistingco</tag> and other text-based
callout elements.
</para>
</refsection>
</refentry>
</reference>
<reference xml:id="ebnf"><title>EBNF</title>
<refentry version="5.0" xml:id="ebnf.table.bgcolor">
<refmeta>
<refentrytitle>ebnf.table.bgcolor</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">color</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ebnf.table.bgcolor</refname>
<refpurpose>Background color for EBNF tables</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="ebnf.table.bgcolor.frag">
&lt;xsl:param name="ebnf.table.bgcolor"&gt;#F5DCB3&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Sets the background color for EBNF tables (a pale brown). No
<tag>bgcolor</tag> attribute is output if
<parameter>ebnf.table.bgcolor</parameter> is set to the null string. </para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="ebnf.table.border">
<refmeta>
<refentrytitle>ebnf.table.border</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ebnf.table.border</refname>
<refpurpose>Selects border on EBNF tables</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="ebnf.table.border.frag">&lt;xsl:param name="ebnf.table.border" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Selects the border on EBNF tables. If non-zero, the tables have
borders, otherwise they don't.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="ebnf.assignment">
<refmeta>
<refentrytitle>ebnf.assignment</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">rtf</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ebnf.assignment</refname>
<refpurpose>The EBNF production assignment operator</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="ebnf.assignment.frag">
&lt;xsl:param name="ebnf.assignment"&gt;
&lt;code&gt;::=&lt;/code&gt;
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>ebnf.assignment</parameter> parameter determines what
text is used to show <quote>assignment</quote> in <tag>production</tag>s
in <tag>productionset</tag>s.</para>
<para>While <quote><literal>::=</literal></quote> is common, so are several
other operators.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="ebnf.statement.terminator">
<refmeta>
<refentrytitle>ebnf.statement.terminator</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">rtf</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ebnf.statement.terminator</refname>
<refpurpose>Punctuation that ends an EBNF statement.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="ebnf.statement.terminator.frag">
&lt;xsl:param name="ebnf.statement.terminator"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>ebnf.statement.terminator</parameter> parameter determines what
text is used to terminate each <tag>production</tag>
in <tag>productionset</tag>.</para>
<para>Some notations end each statement with a period.</para>
</refsection>
</refentry>
</reference>
<reference xml:id="toc_index"><title>ToC/LoT/Index Generation</title>
<refentry version="5.0" xml:id="annotate.toc">
<refmeta>
<refentrytitle>annotate.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>annotate.toc</refname>
<refpurpose>Annotate the Table of Contents?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="annotate.toc.frag">&lt;xsl:param name="annotate.toc" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If true, TOCs will be annotated. At present, this just means
that the <tag>refpurpose</tag> of <tag>refentry</tag>
TOC entries will be displayed.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="autotoc.label.separator">
<refmeta>
<refentrytitle>autotoc.label.separator</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>autotoc.label.separator</refname>
<refpurpose>Separator between labels and titles in the ToC</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="autotoc.label.separator.frag">
&lt;xsl:param name="autotoc.label.separator"&gt;. &lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>String used to separate labels and titles in a table of contents.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="autotoc.label.in.hyperlink">
<refmeta>
<refentrytitle>autotoc.label.in.hyperlink</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>autotoc.label.in.hyperlink</refname>
<refpurpose>Include label in hyperlinked titles in TOC?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="autotoc.label.in.hyperlink.frag">&lt;xsl:param name="autotoc.label.in.hyperlink" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If the value of
<parameter>autotoc.label.in.hyperlink</parameter> is non-zero, labels
are included in hyperlinked titles in the TOC. If it is instead zero,
labels are still displayed prior to the hyperlinked titles, but
are not hyperlinked along with the titles.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="process.source.toc">
<refmeta>
<refentrytitle>process.source.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>process.source.toc</refname>
<refpurpose>Process a non-empty <tag>toc</tag> element if it occurs in a source document?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="process.source.toc.frag">&lt;xsl:param name="process.source.toc" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies that the contents of a non-empty "hard-coded"
<tag>toc</tag> element in a source document are processed to
generate a TOC in output.
<note>
<para>This parameter has no effect on automated generation of
TOCs. An automated TOC may still be generated along with the
"hard-coded" TOC. To suppress automated TOC generation, adjust the
value of the <parameter>generate.toc</parameter> paramameter.</para>
<para>The <tag>process.source.toc</tag> parameter also has
no effect if the <tag>toc</tag> element is empty; handling
for empty <tag>toc</tag> is controlled by the
<parameter>process.empty.source.toc</parameter> parameter.</para>
</note>
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="process.empty.source.toc">
<refmeta>
<refentrytitle>process.empty.source.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>process.empty.source.toc</refname>
<refpurpose>Generate automated TOC if <tag>toc</tag> element occurs in a source document?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="process.empty.source.toc.frag">&lt;xsl:param name="process.empty.source.toc" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies that if an empty <tag>toc</tag> element is found in a
source document, an automated TOC is generated at this point in the
document.
<note>
<para>Depending on what the value of the
<parameter>generate.toc</parameter> parameter is, setting this
parameter to <literal>1</literal> could result in generation of
duplicate automated TOCs. So the
<parameter>process.empty.source.toc</parameter> is primarily useful
as an "override": by placing an empty <tag>toc</tag> in your
document and setting this parameter to <literal>1</literal>, you can
force a TOC to be generated even if <tag>generate.toc</tag>
says not to.</para>
</note>
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="bridgehead.in.toc">
<refmeta>
<refentrytitle>bridgehead.in.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>bridgehead.in.toc</refname>
<refpurpose>Should bridgehead elements appear in the TOC?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="bridgehead.in.toc.frag">&lt;xsl:param name="bridgehead.in.toc" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, <tag>bridgehead</tag>s appear in the TOC. Note that
this option is not fully supported and may be removed in a future
version of the stylesheets.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="simplesect.in.toc">
<refmeta>
<refentrytitle>simplesect.in.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>simplesect.in.toc</refname>
<refpurpose>Should <tag>simplesect</tag> elements appear in the TOC?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="simplesect.in.toc.frag">&lt;xsl:param name="simplesect.in.toc" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, <tag>simplesect</tag>s will be included in the TOC.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="manual.toc">
<refmeta>
<refentrytitle>manual.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>manual.toc</refname>
<refpurpose>An explicit TOC to be used for the TOC</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="manual.toc.frag">
&lt;xsl:param name="manual.toc"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>manual.toc</parameter> identifies an explicit TOC that
will be used for building the printed TOC.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="toc.list.type">
<refmeta>
<refentrytitle>toc.list.type</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">dl</refmiscinfo>
<refmiscinfo class="other" otherclass="value">ul</refmiscinfo>
<refmiscinfo class="other" otherclass="value">ol</refmiscinfo>
</refmeta>
<refnamediv>
<refname>toc.list.type</refname>
<refpurpose>Type of HTML list element to use for Tables of Contents</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="toc.list.type.frag">&lt;xsl:param name="toc.list.type"&gt;dl&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>When an automatically generated Table of Contents (or List of Titles)
is produced, this HTML element will be used to make the list.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="toc.section.depth">
<refmeta>
<refentrytitle>toc.section.depth</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>toc.section.depth</refname>
<refpurpose>How deep should recursive <tag>section</tag>s appear
in the TOC?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="toc.section.depth.frag">&lt;xsl:param name="toc.section.depth"&gt;2&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the depth to which recursive sections should appear in the
TOC.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="toc.max.depth">
<refmeta>
<refentrytitle>toc.max.depth</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>toc.max.depth</refname>
<refpurpose>How many levels should be created for each TOC?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="toc.max.depth.frag">&lt;xsl:param name="toc.max.depth"&gt;8&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the maximal depth of TOC on all levels.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="generate.toc">
<refmeta>
<refentrytitle>generate.toc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">table</refmiscinfo>
</refmeta>
<refnamediv>
<refname>generate.toc</refname>
<refpurpose>Control generation of ToCs and LoTs</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="generate.toc.frag">
&lt;xsl:param name="generate.toc"&gt;
appendix toc,title
article/appendix nop
article toc,title
book toc,title,figure,table,example,equation
chapter toc,title
part toc,title
preface toc,title
qandadiv toc
qandaset toc
reference toc,title
sect1 toc
sect2 toc
sect3 toc
sect4 toc
sect5 toc
section toc
set toc,title
&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>This parameter has a structured value. It is a table of space-delimited
path/value pairs. Each path identifies some element in the source document
using a restricted subset of XPath (only the implicit child axis, no wildcards,
no predicates). Paths can be either relative or absolute.</para>
<para>When processing a particular element, the stylesheets consult this table to
determine if a ToC (or LoT(s)) should be generated.</para>
<para>For example, consider the entry:</para>
<screen>book toc,figure</screen>
<para>This indicates that whenever a <tag>book</tag> is formatted, a
Table Of Contents and a List of Figures should be generated. Similarly,</para>
<screen>/chapter toc</screen>
<para>indicates that whenever a document <emphasis>that has a root
of</emphasis> <tag>chapter</tag> is formatted, a Table of
Contents should be generated. The entry <literal>chapter</literal> would match
all chapters, but <literal>/chapter</literal> matches only <tag>chapter</tag>
document elements.</para>
<para>Generally, the longest match wins. So, for example, if you want to distinguish
articles in books from articles in parts, you could use these two entries:</para>
<screen>book/article toc,figure
part/article toc</screen>
<para>Note that an article in a part can never match a <literal>book/article</literal>,
so if you want nothing to be generated for articles in parts, you can simply leave
that rule out.</para>
<para>If you want to leave the rule in, to make it explicit that you're turning
something off, use the value <quote>nop</quote>. For example, the following
entry disables ToCs and LoTs for articles:</para>
<screen>article nop</screen>
<para>Do not simply leave the word <quote>article</quote> in the file
without a matching value. That'd be just begging the silly little
path/value parser to get confused.</para>
<para>Section ToCs are further controlled by the
<parameter>generate.section.toc.level</parameter> parameter.
For a given section level to have a ToC, it must have both an entry in
<parameter>generate.toc</parameter> and be within the range enabled by
<parameter>generate.section.toc.level</parameter>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="generate.section.toc.level">
<refmeta>
<refentrytitle>generate.section.toc.level</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>generate.section.toc.level</refname>
<refpurpose>Control depth of TOC generation in sections</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="generate.section.toc.level.frag">
&lt;xsl:param name="generate.section.toc.level" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>generate.section.toc.level</parameter> parameter
controls the depth of <tag>section</tag> in which TOCs will be generated. Note
that this is related to, but not the same as
<parameter>toc.section.depth</parameter>, which controls the depth to
which TOC entries will be generated in a given TOC.</para>
<para>If, for example, <parameter>generate.section.toc.level</parameter>
is <literal>3</literal>, TOCs will be generated in first, second, and third
level sections, but not in fourth level sections.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="generate.index">
<refmeta>
<refentrytitle>generate.index</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>generate.index</refname>
<refpurpose>Do you want an index?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="generate.index.frag">&lt;xsl:param name="generate.index" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specify if an index should be generated. </para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.method">
<refmeta>
<refentrytitle>index.method</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">basic</refmiscinfo>
<refmiscinfo class="other" otherclass="value">kosek</refmiscinfo>
<refmiscinfo class="other" otherclass="value">kimber</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.method</refname>
<refpurpose>Select method used to group index entries in an index</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.method.frag">
&lt;xsl:param name="index.method"&gt;basic&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>This parameter lets you select which method to use for sorting and grouping
index entries in an index.
Indexes in Latin-based languages that have accented characters typically
sort together accented words and unaccented words.
Thus <quote>&#193;</quote> (U+00C1 LATIN CAPITAL LETTER A WITH ACUTE) would sort together
with <quote>A</quote> (U+0041 LATIN CAPITAL LETTER A), so both would appear in the <quote>A</quote>
section of the index.
Languages using other alphabets (such as Russian, which is written in the Cyrillic alphabet)
and languages using ideographic chararacters (such as Japanese)
require grouping specific to the languages and alphabets.
</para>
<para>The default indexing method is limited.
It can group accented characters in Latin-based languages only.
It cannot handle non-Latin alphabets or ideographic languages.
The other indexing methods require extensions of one type or
another, and do not work with
all XSLT processors, which is why they are not used by default.</para>
<para>The three choices for indexing method are:</para>
<variablelist>
<varlistentry>
<term><literal>basic</literal></term>
<listitem>
<para>
(default) Sort and groups words based only on the Latin alphabet.
Words with accented Latin letters will group and sort with
their respective primary letter, but
words in non-Latin alphabets will be
put in the <quote>Symbols</quote> section of the index.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>kosek</literal></term>
<listitem>
<para>
This method sorts and groups words based on letter groups configured in
the DocBook locale file for the given language.
See, for example, the French locale file <filename>common/fr.xml</filename>.
This method requires that the XSLT processor
supports the EXSLT extensions (most do).
It also requires support for using
user-defined functions in xsl:key (xsltproc does not).
</para>
<para>This method is suitable for any language for which you can
list all the individual characters that should appear
in each letter group in an index.
It is probably not practical to use it for ideographic languages
such as Chinese that have hundreds or thousands of characters.
</para>
<para>To use the kosek method, you must:</para>
<orderedlist>
<listitem>
<para>Use a processor that supports its extensions, such as
Saxon 6 or Xalan (xsltproc and Saxon 8 do not).
</para>
</listitem>
<listitem>
<para>Set the index.method parameter's value to <quote>kosek</quote>.
</para>
</listitem>
<listitem>
<para>Import the appropriate index extensions stylesheet module
<filename>fo/autoidx-kosek.xsl</filename> or
<filename>html/autoidx-kosek.xsl</filename> into your
customization.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>kimber</literal></term>
<listitem>
<para>
This method uses extensions to the Saxon processor to implement
sophisticated indexing processes. It uses its own
configuration file, which can include information for any number of
languages. Each language's configuration can group
words using one of two processes. In the
enumerated process similar to that used in the kosek method,
you indicate the groupings character-by-character.
In the between-key process, you specify the
break-points in the sort order that should start a new group.
The latter configuration is useful for ideographic languages
such as Chinese, Japanese, and Korean.
You can also define your own collation algorithms and how you
want mixed Latin-alphabet words sorted.</para>
<itemizedlist>
<listitem>
<para>For a whitepaper describing the extensions, see:
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf">http://www.innodata-isogen.com/knowledge_center/white_papers/back_of_book_for_xsl_fo.pdf</link>.
</para>
</listitem>
<listitem>
<para>To download the extension library, see
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport">http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport</link>.
</para>
</listitem>
</itemizedlist>
<para>To use the kimber method, you must:</para>
<orderedlist>
<listitem>
<para>Use Saxon (version 6 or 8) as your XSLT processor.
</para>
</listitem>
<listitem>
<para>Install and configure the Innodata Isogen library, using
the documentation that comes with it.
</para>
</listitem>
<listitem>
<para>Set the index.method parameter's value to <quote>kimber</quote>.
</para>
</listitem>
<listitem>
<para>Import the appropriate index extensions stylesheet module
<filename>fo/autoidx-kimber.xsl</filename> or
<filename>html/autoidx-kimber.xsl</filename> into your
customization.
</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.on.type">
<refmeta>
<refentrytitle>index.on.type</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.on.type</refname>
<refpurpose>Select indexterms based on <tag class="attribute">type</tag>
attribute value</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.on.type.frag">
&lt;xsl:param name="index.on.type" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>
If non-zero,
then an <tag>index</tag> element that has a
<tag class="attribute">type</tag> attribute
value will contain only those <tag>indexterm</tag>
elements with a matching <tag class="attribute">type</tag> attribute value.
If an <tag>index</tag> has no <tag class="attribute">type</tag>
attribute or it is blank, then the index will contain
all <tag>indexterm</tag>s in the current scope.
</para>
<para>
If <literal>index.on.type</literal> is zero, then the
<tag class="attribute">type</tag> attribute has no effect
on selecting indexterms for an index.
</para>
<para>For those using DocBook version 4.2 or earlier,
the <tag class="attribute">type</tag> attribute is not available
for index terms. However, you can achieve the same
effect by using the <tag class="attribute">role</tag> attribute
in the same manner on <tag>indexterm</tag>
and <tag>index</tag>, and setting the stylesheet parameter
<parameter>index.on.role</parameter> to a nonzero value.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.on.role">
<refmeta>
<refentrytitle>index.on.role</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.on.role</refname>
<refpurpose>Select indexterms based on <tag class="attribute">role</tag> value</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.on.role.frag">
&lt;xsl:param name="index.on.role" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>
If non-zero,
then an <tag>index</tag> element that has a
<tag class="attribute">role</tag> attribute
value will contain only those <tag>indexterm</tag>
elements with a matching role value.
If an <tag>index</tag> has no <tag class="attribute">role</tag>
attribute or it is blank, then the index will contain
all <tag>indexterm</tag>s in the current scope.
</para>
<para>
If <literal>index.on.role</literal> is zero, then the
<tag class="attribute">role</tag> attribute has no effect
on selecting indexterms for an index.
</para>
<para>If you are using DocBook version 4.3 or later, you should
use the <tag class="attribute">type</tag> attribute instead of <tag class="attribute">role</tag>
on <tag>indexterm</tag> and <tag>index</tag>,
and set the <parameter>index.on.type</parameter> to a nonzero
value.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.links.to.section">
<refmeta>
<refentrytitle>index.links.to.section</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.links.to.section</refname>
<refpurpose>HTML index entries link to container section title</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.links.to.section.frag">
&lt;xsl:param name="index.links.to.section" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If zero, then an index entry in an index links
directly to the location of the
generated <tag>anchor</tag> that is output
for the indexterm. If two identical indexterm elements
exist in the same section, then both entries appear
in the index with the same title but link to different
locations.</para>
<para>If non-zero, then an index entry in an index links to the
section title containing the <tag>indexterm</tag>, rather than
directly to the <tag>anchor</tag> output for the indexterm.
Duplicate indexterm entries in the same section are dropped.
</para>
<para>The default value is 1, so index entries link to
section titles by default.</para>
<para>In both cases, the link text in an index entry is the
title of the section containing the indexterm.
That is because HTML does not have numbered pages.
It also provides the reader with context information
for each link.</para>
<para>This parameter lets you choose which style of
index linking you want. </para>
<itemizedlist>
<listitem>
<para>When set to 0, an index entry takes you
to the precise location of its corresponding indexterm.
However, if you have a lot of duplicate
entries in sections, then you have a lot of duplicate
titles in the index, which makes it more cluttered.
The reader may not recognize why duplicate titles
appear until they follow the links. Also, the links
may land the reader in the middle of a section where the
section title is not visible, which may also be
confusing to the reader.</para>
</listitem>
<listitem>
<para>When set to 1, an index entry link is
less precise, but duplicate titles in the
index entries are eliminated.
Landing on the section title location may confirm the reader's
expectation that a link that
shows a section title will take them to that section title,
not a location within the section.
</para>
</listitem>
</itemizedlist>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.prefer.titleabbrev">
<refmeta>
<refentrytitle>index.prefer.titleabbrev</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.prefer.titleabbrev</refname>
<refpurpose>Should abbreviated titles be used as back references?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.prefer.titleabbrev.frag">
&lt;xsl:param name="index.prefer.titleabbrev" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, and if a <tag>titleabbrev</tag> is defined, the abbreviated title
is used as the link text of a back reference in the index.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.term.separator">
<refmeta>
<refentrytitle>index.term.separator</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.term.separator</refname>
<refpurpose>Override for punctuation separating an index term
from its list of page references in an index</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.term.separator.frag">
&lt;xsl:param name="index.term.separator"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>This parameter permits you to override
the text to insert between
the end of an index term and its list of page references.
Typically that might be a comma and a space.
</para>
<para>Because this text may be locale dependent,
this parameter's value is normally taken from a gentext
template named 'term-separator' in the
context 'index' in the stylesheet
locale file for the language
of the current document.
This parameter can be used to override the gentext string,
and would typically be used on the command line.
This parameter would apply to all languages.
</para>
<para>So this text string can be customized in two ways.
You can reset the default gentext string using
the <parameter>local.l10n.xml</parameter> parameter, or you can
fill in the content for this normally empty
override parameter.
The content can be a simple string, or it can be
something more complex such as a call-template.
For fo output, it could be an <tag>fo:leader</tag>
element to provide space of a specific length, or a dot leader.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.number.separator">
<refmeta>
<refentrytitle>index.number.separator</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.number.separator</refname>
<refpurpose>Override for punctuation separating page numbers in index</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.number.separator.frag">
&lt;xsl:param name="index.number.separator"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>This parameter permits you to override the text to insert between
page references in a formatted index entry. Typically
that would be a comma and a space.
</para>
<para>Because this text may be locale dependent,
this parameter's value is normally taken from a gentext
template named 'number-separator' in the
context 'index' in the stylesheet
locale file for the language
of the current document.
This parameter can be used to override the gentext string,
and would typically be used on the command line.
This parameter would apply to all languages.
</para>
<para>So this text string can be customized in two ways.
You can reset the default gentext string using
the <parameter>local.l10n.xml</parameter> parameter, or you can
override the gentext with the content of this parameter.
The content can be a simple string, or it can be
something more complex such as a call-template.
</para>
<para>In HTML index output, section title references are used instead of
page number references. This punctuation appears between
such section titles in an HTML index.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="index.range.separator">
<refmeta>
<refentrytitle>index.range.separator</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>index.range.separator</refname>
<refpurpose>Override for punctuation separating the two numbers
in a page range in index</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="index.range.separator.frag">
&lt;xsl:param name="index.range.separator"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>This parameter permits you
to override the text to insert between
the two numbers of a page range in an index.
This parameter is only used by those XSL-FO processors
that support an extension for generating such page ranges
(such as XEP).</para>
<para>Because this text may be locale dependent,
this parameter's value is normally taken from a gentext
template named 'range-separator' in the
context 'index' in the stylesheet
locale file for the language
of the current document.
This parameter can be used to override the gentext string,
and would typically be used on the command line.
This parameter would apply to all languages.
</para>
<para>So this text string can be customized in two ways.
You can reset the default gentext string using
the <parameter>local.l10n.xml</parameter> parameter, or you can
override the gentext with the content of this parameter.
The content can be a simple string, or it can be
something more complex such as a call-template.
</para>
<para>In HTML index output, section title references are used instead of
page number references. So there are no page ranges
and this parameter has no effect.
</para>
</refsection>
</refentry>
</reference>
<reference xml:id="dbk_ext"><title>Stylesheet Extensions</title>
<refentry version="5.0" xml:id="linenumbering.everyNth">
<refmeta>
<refentrytitle>linenumbering.everyNth</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>linenumbering.everyNth</refname>
<refpurpose>Indicate which lines should be numbered</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="linenumbering.everyNth.frag">
&lt;xsl:param name="linenumbering.everyNth"&gt;5&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If line numbering is enabled, everyNth line will be
numbered. Note that numbering is one based, not zero based.
</para>
<para>See also <parameter>linenumbering.extension</parameter>,
<parameter>linenumbering.separator</parameter>,
<parameter>linenumbering.width</parameter> and
<parameter>use.extensions</parameter></para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="linenumbering.extension">
<refmeta>
<refentrytitle>linenumbering.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>linenumbering.extension</refname>
<refpurpose>Enable the line numbering extension</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="linenumbering.extension.frag">
&lt;xsl:param name="linenumbering.extension" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, verbatim environments (<tag>address</tag>, <tag>literallayout</tag>,
<tag>programlisting</tag>, <tag>screen</tag>, <tag>synopsis</tag>) that specify line numbering will
have line numbers.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="linenumbering.separator">
<refmeta>
<refentrytitle>linenumbering.separator</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>linenumbering.separator</refname>
<refpurpose>Specify a separator between line numbers and lines</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="linenumbering.separator.frag">
&lt;xsl:param name="linenumbering.separator"&gt;&lt;xsl:text&gt; &lt;/xsl:text&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The separator is inserted between line numbers and lines in the
verbatim environment. The default value is a single white space.
Note the interaction with <parameter>linenumbering.width</parameter>
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="linenumbering.width">
<refmeta>
<refentrytitle>linenumbering.width</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>linenumbering.width</refname>
<refpurpose>Indicates the width of line numbers</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="linenumbering.width.frag">
&lt;xsl:param name="linenumbering.width"&gt;3&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If line numbering is enabled, line numbers will appear right
justified in a field "width" characters wide.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="tablecolumns.extension">
<refmeta>
<refentrytitle>tablecolumns.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>tablecolumns.extension</refname>
<refpurpose>Enable the table columns extension function</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="tablecolumns.extension.frag">
&lt;xsl:param name="tablecolumns.extension" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>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.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="textinsert.extension">
<refmeta>
<refentrytitle>textinsert.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>textinsert.extension</refname>
<refpurpose>Enables the textinsert extension element</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="textinsert.extension.frag">
&lt;xsl:param name="textinsert.extension" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The textinsert extension element inserts the contents of
a file into the result tree (as text).</para>
<note>
<para>To use the textinsert extension element, you must use
either Saxon or Xalan as your XSLT processor (it doesn&#8217;t
work with xsltproc), along with either the DocBook Saxon
extensions or DocBook Xalan extensions (for more
information about those extensions, see <link xmlns:xlink="http://www.w3.org/1999/xlink" role="tcg" xlink:href="InstallingAProcessor.html#SaxonExtensions">DocBook Saxon Extensions</link> and <link xmlns:xlink="http://www.w3.org/1999/xlink" role="tcg" xlink:href="InstallingAProcessor.html#XalanExtensions">DocBook Xalan Extensions</link>), and you must set both
the <parameter>use.extensions</parameter> and
<parameter>textinsert.extension</parameter> parameters to
<literal>1</literal>.</para>
<para>As an alternative to using the textinsert element,
consider using an Xinclude element with the
<literal>parse="text"</literal> attribute and value
specified, as detailed in <link xmlns:xlink="http://www.w3.org/1999/xlink" role="tcg" xlink:href="ExternalCode.html#XIncludeCode">Using XInclude for text inclusions</link>.</para>
</note>
</refsection>
<refsection><info><title>See Also</title></info>
<para>You can also use the <tag class="xmlpi">dbhtml-include&#160;href</tag> processing
instruction to insert external files &#8212; both files containing
plain text and files with markup content (including HTML
content).</para>
</refsection>
<refsection><info><title>More information</title></info>
<para>For how-to documentation on inserting contents of
external code files and other text files into output, see
<link xmlns:xlink="http://www.w3.org/1999/xlink" role="tcg" xlink:href="ExternalCode.html">External code files</link>.</para>
<para>For guidelines on inserting contents of
HTML files into output, see <link xmlns:xlink="http://www.w3.org/1999/xlink" role="tcg" xlink:href="InsertExtHtml.html">Inserting external HTML code</link>.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="textdata.default.encoding">
<refmeta>
<refentrytitle>textdata.default.encoding</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>textdata.default.encoding</refname>
<refpurpose>Default encoding of external text files which are included
using textdata element</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="textdata.default.encoding.frag">
&lt;xsl:param name="textdata.default.encoding"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies the encoding of any external text files included using
<tag>textdata</tag> element. This value is used only when you do
not specify encoding by the appropriate attribute
directly on textdata. An empty string is interpreted as the system
default encoding.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="graphicsize.extension">
<refmeta>
<refentrytitle>graphicsize.extension</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>graphicsize.extension</refname>
<refpurpose>Enable the getWidth()/getDepth() extension functions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="graphicsize.extension.frag">
&lt;xsl:param name="graphicsize.extension" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero (and if <parameter>use.extensions</parameter> is non-zero
and if you're using a processor that supports extension functions), the
<function>getWidth</function> and <function>getDepth</function> functions
will be used to extract image sizes from graphics.</para>
<para>The main supported image formats are GIF, JPEG, and PNG. Somewhat cruder
support for EPS and PDF images is also available.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="graphicsize.use.img.src.path">
<refmeta>
<refentrytitle>graphicsize.use.img.src.path</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>graphicsize.use.img.src.path</refname>
<refpurpose>Prepend <parameter>img.src.path</parameter> before
filenames passed to extension functions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="graphicsize.use.img.src.path.frag">
&lt;xsl:param name="graphicsize.use.img.src.path" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero <parameter>img.src.path</parameter> parameter will
be appended before filenames passed to extension functions for
measuring image dimensions.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="use.extensions">
<refmeta>
<refentrytitle>use.extensions</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>use.extensions</refname>
<refpurpose>Enable extensions</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="use.extensions.frag">
&lt;xsl:param name="use.extensions" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, extensions may be used. Each extension is
further controlled by its own parameter. But if
<parameter>use.extensions</parameter> is zero, no extensions will
be used.
</para>
</refsection>
</refentry>
</reference>
<reference xml:id="labels"><title>Automatic labelling</title>
<refentry version="5.0" xml:id="chapter.autolabel">
<refmeta>
<refentrytitle>chapter.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">0<alt>none</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">1<alt>1,2,3...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">A<alt>A,B,C...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">a<alt>a,b,c...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">i<alt>i,ii,iii...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">I<alt>I,II,III...</alt></refmiscinfo>
</refmeta>
<refnamediv>
<refname>chapter.autolabel</refname>
<refpurpose>Specifies the labeling format for Chapter titles</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="chapter.autolabel.frag">
&lt;xsl:param name="chapter.autolabel" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, then chapters will be numbered using the parameter
value as the number format if the value matches one of the following:
</para>
<variablelist>
<varlistentry>
<term>1 or arabic</term>
<listitem>
<para>Arabic numeration (1, 2, 3 ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>A or upperalpha</term>
<listitem>
<para>Uppercase letter numeration (A, B, C ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>a or loweralpha</term>
<listitem>
<para>Lowercase letter numeration (a, b, c ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>I or upperroman</term>
<listitem>
<para>Uppercase roman numeration (I, II, III ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i or lowerroman</term>
<listitem>
<para>Lowercase roman letter numeration (i, ii, iii ...).</para>
</listitem>
</varlistentry>
</variablelist>
<para>Any nonzero value other than the above will generate
the default number format (arabic).
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="appendix.autolabel">
<refmeta>
<refentrytitle>appendix.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">0<alt>none</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">1<alt>1,2,3...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">A<alt>A,B,C...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">a<alt>a,b,c...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">i<alt>i,ii,iii...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">I<alt>I,II,III...</alt></refmiscinfo>
</refmeta>
<refnamediv>
<refname>appendix.autolabel</refname>
<refpurpose>Specifies the labeling format for Appendix titles</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="appendix.autolabel.frag">
&lt;xsl:param name="appendix.autolabel"&gt;A&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, then appendices will be numbered using the
parameter value as the number format if the value matches one of the
following:
</para>
<variablelist>
<varlistentry>
<term>1 or arabic</term>
<listitem>
<para>Arabic numeration (1, 2, 3 ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>A or upperalpha</term>
<listitem>
<para>Uppercase letter numeration (A, B, C ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>a or loweralpha</term>
<listitem>
<para>Lowercase letter numeration (a, b, c ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>I or upperroman</term>
<listitem>
<para>Uppercase roman numeration (I, II, III ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i or lowerroman</term>
<listitem>
<para>Lowercase roman letter numeration (i, ii, iii ...).</para>
</listitem>
</varlistentry>
</variablelist>
<para>Any nonzero value other than the above will generate
the default number format (upperalpha).
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="part.autolabel">
<refmeta>
<refentrytitle>part.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">0<alt>none</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">1<alt>1,2,3...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">A<alt>A,B,C...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">a<alt>a,b,c...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">i<alt>i,ii,iii...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">I<alt>I,II,III...</alt></refmiscinfo>
</refmeta>
<refnamediv>
<refname>part.autolabel</refname>
<refpurpose>Specifies the labeling format for Part titles</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="part.autolabel.frag">
&lt;xsl:param name="part.autolabel"&gt;I&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, then parts will be numbered using the parameter
value as the number format if the value matches one of the following:
</para>
<variablelist>
<varlistentry>
<term>1 or arabic</term>
<listitem>
<para>Arabic numeration (1, 2, 3 ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>A or upperalpha</term>
<listitem>
<para>Uppercase letter numeration (A, B, C ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>a or loweralpha</term>
<listitem>
<para>Lowercase letter numeration (a, b, c ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>I or upperroman</term>
<listitem>
<para>Uppercase roman numeration (I, II, III ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i or lowerroman</term>
<listitem>
<para>Lowercase roman letter numeration (i, ii, iii ...).</para>
</listitem>
</varlistentry>
</variablelist>
<para>Any nonzero value other than the above will generate
the default number format (upperroman).
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="reference.autolabel">
<refmeta>
<refentrytitle>reference.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">0<alt>none</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">1<alt>1,2,3...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">A<alt>A,B,C...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">a<alt>a,b,c...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">i<alt>i,ii,iii...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">I<alt>I,II,III...</alt></refmiscinfo>
</refmeta>
<refnamediv>
<refname>reference.autolabel</refname>
<refpurpose>Specifies the labeling format for Reference titles</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="reference.autolabel.frag">
&lt;xsl:param name="reference.autolabel"&gt;I&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, references will be numbered using the parameter
value as the number format if the value matches one of the
following:
</para>
<variablelist>
<varlistentry>
<term>1 or arabic</term>
<listitem>
<para>Arabic numeration (1, 2, 3 ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>A or upperalpha</term>
<listitem>
<para>Uppercase letter numeration (A, B, C ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>a or loweralpha</term>
<listitem>
<para>Lowercase letter numeration (a, b, c ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>I or upperroman</term>
<listitem>
<para>Uppercase roman numeration (I, II, III ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i or lowerroman</term>
<listitem>
<para>Lowercase roman letter numeration (i, ii, iii ...).</para>
</listitem>
</varlistentry>
</variablelist>
<para>Any non-zero value other than the above will generate
the default number format (upperroman).
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="preface.autolabel">
<refmeta>
<refentrytitle>preface.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">0<alt>none</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">1<alt>1,2,3...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">A<alt>A,B,C...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">a<alt>a,b,c...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">i<alt>i,ii,iii...</alt></refmiscinfo>
<refmiscinfo class="other" otherclass="value">I<alt>I,II,III...</alt></refmiscinfo>
</refmeta>
<refnamediv>
<refname>preface.autolabel</refname>
<refpurpose>Specifices the labeling format for Preface titles</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="preface.autolabel.frag">&lt;xsl:param name="preface.autolabel" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero then prefaces will be numbered using the parameter
value as the number format if the value matches one of the following:
</para>
<variablelist>
<varlistentry>
<term>1 or arabic</term>
<listitem>
<para>Arabic numeration (1, 2, 3 ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>A or upperalpha</term>
<listitem>
<para>Uppercase letter numeration (A, B, C ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>a or loweralpha</term>
<listitem>
<para>Lowercase letter numeration (a, b, c ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>I or upperroman</term>
<listitem>
<para>Uppercase roman numeration (I, II, III ...).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i or lowerroman</term>
<listitem>
<para>Lowercase roman letter numeration (i, ii, iii ...).</para>
</listitem>
</varlistentry>
</variablelist>
<para>Any nonzero value other than the above will generate
the default number format (arabic).
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="qandadiv.autolabel">
<refmeta>
<refentrytitle>qandadiv.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>qandadiv.autolabel</refname>
<refpurpose>Are divisions in QAndASets enumerated?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="qandadiv.autolabel.frag">&lt;xsl:param name="qandadiv.autolabel" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, unlabeled qandadivs will be enumerated.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="section.autolabel">
<refmeta>
<refentrytitle>section.autolabel</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>section.autolabel</refname>
<refpurpose>Are sections enumerated?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="section.autolabel.frag">&lt;xsl:param name="section.autolabel" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If true (non-zero), unlabeled sections will be enumerated.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="section.autolabel.max.depth">
<refmeta>
<refentrytitle>section.autolabel.max.depth</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo>
</refmeta>
<refnamediv>
<refname>section.autolabel.max.depth</refname>
<refpurpose>The deepest level of sections that are numbered.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="section.autolabel.max.depth.frag">
&lt;xsl:param name="section.autolabel.max.depth"&gt;8&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>When section numbering is turned on by the
<parameter>section.autolabel</parameter> parameter, then this
parameter controls the depth of <tag>section</tag> nesting that is
numbered. Sections nested to a level deeper than this value will not
be numbered.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="section.label.includes.component.label">
<refmeta>
<refentrytitle>section.label.includes.component.label</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>section.label.includes.component.label</refname>
<refpurpose>Do section labels include the component label?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="section.label.includes.component.label.frag">&lt;xsl:param name="section.label.includes.component.label" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, section labels are prefixed with the label of the
component that contains them.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="label.from.part">
<refmeta>
<refentrytitle>label.from.part</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>label.from.part</refname>
<refpurpose>Renumber components in each part?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="label.from.part.frag">
&lt;xsl:param name="label.from.part" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>label.from.part</parameter> is non-zero, then
numbering of components &#8212; <tag>preface</tag>,
<tag>chapter</tag>, <tag>appendix</tag>, and
<tag>reference</tag> (when <tag>reference</tag> occurs at the
component level) &#8212; is re-started within each
<tag>part</tag>.</para>
<para>If <parameter>label.from.part</parameter> is zero (the
default), numbering of components is <emphasis>not</emphasis>
re-started within each <tag>part</tag>; instead, components are
numbered sequentially throughout each <tag>book</tag>,
regardless of whether or not they occur within <tag>part</tag>
instances.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="component.label.includes.part.label">
<refmeta>
<refentrytitle>component.label.includes.part.label</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>component.label.includes.part.label</refname>
<refpurpose>Do component labels include the part label?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="component.label.includes.part.label.frag">&lt;xsl:param name="component.label.includes.part.label" select="0"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, number labels for <tag>chapter</tag>,
<tag>appendix</tag>, and other component elements are prefixed with
the label of the part element that contains them. So you might see
Chapter II.3 instead of Chapter 3. Also, the labels for formal
elements such as <tag>table</tag> and <tag>figure</tag> will include
the part label. If there is no part element container, then no prefix
is generated.
</para>
<para>
This feature is most useful when the
<parameter>label.from.part</parameter> parameter is turned on.
In that case, there would be more than one <tag>chapter</tag>
<quote>1</quote>, and the extra part label prefix will identify
each chapter unambiguously.
</para>
</refsection>
</refentry>
</reference>
<reference xml:id="html"><title>HTML</title>
<refentry version="5.0" xml:id="html.base">
<refmeta>
<refentrytitle>html.base</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">uri</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.base</refname>
<refpurpose>An HTML base URI</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.base.frag">
&lt;xsl:param name="html.base"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If html.base is set, it is used for the <tag>base</tag> element
in the <tag>head</tag> of the html documents. The parameter specifies
the base URL for all relative URLs in the document. This is useful
for dynamically served html where the base URI needs to be
shifted.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.stylesheet">
<refmeta>
<refentrytitle>html.stylesheet</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.stylesheet</refname>
<refpurpose>Name of the stylesheet(s) to use in the generated HTML</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.stylesheet.frag">
&lt;xsl:param name="html.stylesheet"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>html.stylesheet</parameter> parameter is either
empty, indicating that no stylesheet <tag>link</tag> tag should be
generated in the html output, or it is a list of one or more
stylesheet files.</para>
<para>Multiple stylesheets are space-delimited. If you need to
reference a stylesheet URI that includes a space, encode it with
<literal>%20</literal>. A separate html <literal>link</literal> element will
be generated for each stylesheet in the order they are listed in the
parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.stylesheet.type">
<refmeta>
<refentrytitle>html.stylesheet.type</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.stylesheet.type</refname>
<refpurpose>The type of the stylesheet used in the generated HTML</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.stylesheet.type.frag">&lt;xsl:param name="html.stylesheet.type"&gt;text/css&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The type of the stylesheet to place in the HTML <tag>link</tag> tag.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="css.decoration">
<refmeta>
<refentrytitle>css.decoration</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>css.decoration</refname>
<refpurpose>Enable CSS decoration of elements</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="css.decoration.frag">
&lt;xsl:param name="css.decoration" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>
If non-zero, then html elements produced by the stylesheet may be
decorated with <literal>style</literal> attributes. For example, the
<literal>li</literal> tags produced for list items may include a
fragment of CSS in the <literal>style</literal> attribute which sets
the CSS property "list-style-type".
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.script">
<refmeta>
<refentrytitle>html.script</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.script</refname>
<refpurpose>Name of the script(s) to use in the generated HTML</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.script.frag">
&lt;xsl:param name="html.script"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>html.script</parameter> parameter is either
empty (default), indicating that no <tag>script</tag> element should be
generated in the html output, or it is a list of one or more
script locations.</para>
<para>Multiple script locations are space-delimited. If you need to
reference a script URI that includes a space, encode it with
<literal>%20</literal>. A separate html <literal>script</literal> element will
be generated for each script in the order they are listed in the
parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.script.type">
<refmeta>
<refentrytitle>html.script.type</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.script.type</refname>
<refpurpose>The type of script used in the generated HTML</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.script.type.frag">&lt;xsl:param name="html.script.type"&gt;text/javascript&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The type of script to place in the HTML <tag>script</tag> element.
Specifically, the value of the <tag>script</tag> element's <tag>type</tag>
attribute.
The default value is <literal>text/javascript</literal>.
This param is used only when the stylesheet parameter
<tag>html.script</tag> is non-blank and specifies the location of a script.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="spacing.paras">
<refmeta>
<refentrytitle>spacing.paras</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>spacing.paras</refname>
<refpurpose>Insert additional &lt;p&gt; elements for spacing?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="spacing.paras.frag">
&lt;xsl:param name="spacing.paras" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>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.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="emphasis.propagates.style">
<refmeta>
<refentrytitle>emphasis.propagates.style</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>emphasis.propagates.style</refname>
<refpurpose>Pass emphasis role attribute through to HTML?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="emphasis.propagates.style.frag">
&lt;xsl:param name="emphasis.propagates.style" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, the <literal>role</literal> attribute of
<tag>emphasis</tag> elements will be passed through to the HTML as a
class attribute on a <literal>span</literal> that surrounds the
emphasis.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="para.propagates.style">
<refmeta>
<refentrytitle>para.propagates.style</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>para.propagates.style</refname>
<refpurpose>Pass para role attribute through to HTML?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="para.propagates.style.frag">
&lt;xsl:param name="para.propagates.style" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If true, the role attribute of <tag>para</tag> elements
will be passed through to the HTML as a class attribute on the
<tag>p</tag> generated for the paragraph.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="phrase.propagates.style">
<refmeta>
<refentrytitle>phrase.propagates.style</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>phrase.propagates.style</refname>
<refpurpose>Pass phrase role attribute through to HTML?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="phrase.propagates.style.frag">
&lt;xsl:param name="phrase.propagates.style" select="1"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, the role attribute of <tag>phrase</tag> elements
will be passed through to the HTML as a <literal>class</literal>
attribute on a <literal>span</literal> that surrounds the
phrase.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="entry.propagates.style">
<refmeta>
<refentrytitle>entry.propagates.style</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>entry.propagates.style</refname>
<refpurpose>Pass entry role attribute through to HTML?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="entry.propagates.style.frag">
&lt;xsl:param name="entry.propagates.style" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If true, the role attribute of <tag>entry</tag> elements
will be passed through to the HTML as a class attribute on the
<tag>td</tag> or <tag>th</tag> generated for the table
cell.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.longdesc">
<refmeta>
<refentrytitle>html.longdesc</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.longdesc</refname>
<refpurpose>Should longdesc URIs be created?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.longdesc.frag">
&lt;xsl:param name="html.longdesc" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, HTML files will be created for the
<literal>longdesc</literal> attribute. These files
are created from the <tag>textobject</tag>s in
<tag>mediaobject</tag>s and
<tag>inlinemediaobject</tag>.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.longdesc.link">
<refmeta>
<refentrytitle>html.longdesc.link</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.longdesc.link</refname>
<refpurpose>Should a link to the longdesc be included in the HTML?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.longdesc.link.frag">
&lt;xsl:param name="html.longdesc.link" select="$html.longdesc"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, links will be created to the
HTML files created for the
<literal>longdesc</literal> attribute. It makes no
sense to enable this option without also enabling the
<parameter>html.longdesc</parameter> parameter.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="make.valid.html">
<refmeta>
<refentrytitle>make.valid.html</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>make.valid.html</refname>
<refpurpose>Attempt to make sure the HTML output is valid HTML</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="make.valid.html.frag">
&lt;xsl:param name="make.valid.html" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>make.valid.html</parameter> is true, the stylesheets take
extra effort to ensure that the resulting HTML is valid. This may mean that some
<tag>para</tag> tags are translated into HTML <tag>div</tag>s or
that other substitutions occur.</para>
<para>This parameter is different from <parameter>html.cleanup</parameter>
because it changes the resulting markup; it does not use extension functions
to manipulate result-tree-fragments and is therefore applicable to any
XSLT processor.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.cleanup">
<refmeta>
<refentrytitle>html.cleanup</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.cleanup</refname>
<refpurpose>Attempt to clean up the resulting HTML?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.cleanup.frag">
&lt;xsl:param name="html.cleanup" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, and if the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.exslt.org/">EXSLT</link>
extensions are supported by your processor, the resulting HTML will be
<quote>cleaned up</quote>. This improves the chances that the
resulting HTML will be valid. It may also improve the formatting of
some elements.</para>
<para>This parameter is different from <parameter>make.valid.html</parameter>
because it uses extension functions to manipulate result-tree-fragments.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="html.append">
<refmeta>
<refentrytitle>html.append</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>html.append</refname>
<refpurpose>Specifies content to append to HTML output</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="html.append.frag">&lt;xsl:param name="html.append"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Specifies content to append to the end of HTML files output by
the <filename>html/docbook.xsl</filename> stylesheet, after the
closing <code>&lt;html&gt;</code> tag. You probably don&#8217;t want to set any
value for this parameter; but if you do, the only value it should ever
be set to is a newline character: <code>&amp;#x0a;</code> or
<code>&amp;#10;</code></para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="draft.mode">
<refmeta>
<refentrytitle>draft.mode</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo>
<refmiscinfo class="other" otherclass="value">no</refmiscinfo>
<refmiscinfo class="other" otherclass="value">yes</refmiscinfo>
<refmiscinfo class="other" otherclass="value">maybe</refmiscinfo>
</refmeta>
<refnamediv>
<refname>draft.mode</refname>
<refpurpose>Select draft mode</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="draft.mode.frag">
&lt;xsl:param name="draft.mode"&gt;no&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>Selects draft mode. If <parameter>draft.mode</parameter> is
<quote><literal>yes</literal></quote>, the entire document will be treated
as a draft. If it is <quote><literal>no</literal></quote>, the entire document
will be treated as a final copy. If it is <quote><literal>maybe</literal></quote>,
individual sections will be treated as draft or final independently, depending
on how their <literal>status</literal> attribute is set.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="draft.watermark.image">
<refmeta>
<refentrytitle>draft.watermark.image</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">uri</refmiscinfo>
</refmeta>
<refnamediv>
<refname>draft.watermark.image</refname>
<refpurpose>The URI of the image to be used for draft watermarks</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="draft.watermark.image.frag">
&lt;xsl:param name="draft.watermark.image"&gt;images/draft.png&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The image to be used for draft watermarks.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="generate.id.attributes">
<refmeta>
<refentrytitle>generate.id.attributes</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>generate.id.attributes</refname>
<refpurpose>Generate ID attributes on container elements?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="generate.id.attributes.frag">
&lt;xsl:param name="generate.id.attributes" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, the HTML stylesheet will generate ID attributes on
containers. For example, the markup:</para>
<screen>&lt;section id="foo"&gt;&lt;title&gt;Some Title&lt;/title&gt;
&lt;para&gt;Some para.&lt;/para&gt;
&lt;/section&gt;</screen>
<para>might produce:</para>
<screen>&lt;div class="section" id="foo"&gt;
&lt;h2&gt;Some Title&lt;/h2&gt;
&lt;p&gt;Some para.&lt;/p&gt;
&lt;/div&gt;</screen>
<para>The alternative is to generate anchors:</para>
<screen>&lt;div class="section"&gt;
&lt;h2&gt;&lt;a name="foo"&gt;&lt;/a&gt;Some Title&lt;/h2&gt;
&lt;p&gt;Some para.&lt;/p&gt;
&lt;/div&gt;</screen>
<para>Because the <tag class="attribute">name</tag> attribute of
the <tag>a</tag> element and the <tag class="attribute">id</tag>
attribute of other tags are both of type <quote>ID</quote>, producing both
generates invalid documents.</para>
<para>As of version 1.50, you can use this switch to control which type of
identifier is generated. For backwards-compatibility, generating
<tag>a</tag> anchors is preferred.</para>
<para>Note: at present, this switch is incompletely implemented.
Disabling ID attributes will suppress them, but enabling ID attributes
will not suppress the anchors.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="generate.consistent.ids">
<refmeta>
<refentrytitle>generate.consistent.ids</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>generate.consistent.ids</refname>
<refpurpose>Generate consistent id values if document is unchanged</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="generate.consistent.ids.frag">
&lt;xsl:param name="generate.consistent.ids" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>When the stylesheet assigns an id value to an output element,
the generate-id() function may be used. That function may not
produce consistent values between runs. Version control
systems may misidentify the changing id values as changes
to the document.</para>
<para>If you set this parameter's value to 1, then the
template named <literal>object.id</literal> will replace
the use of the function generate-id() with
<literal>&lt;xsl:number level="multiple" count="*"/&gt;</literal>.
This counts preceding elements to generate a unique number for
the id value.</para>
<caution>
<para>This param does not associate permanent unique id values
with particular elements.
The id values are consistent only as long as the document
structure does not change.
If the document structure changes, then the counting
of elements changes, and all id values after
the first such change may be different, even when there is
no change to the element itself or its output.
</para>
</caution>
<para>The default value of this parameter is zero, so generate-id() is used
by default.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="generate.meta.abstract">
<refmeta>
<refentrytitle>generate.meta.abstract</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>generate.meta.abstract</refname>
<refpurpose>Generate HTML <tag>META</tag> element from <tag>abstract</tag>?</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="generate.meta.abstract.frag">
&lt;xsl:param name="generate.meta.abstract" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If non-zero, document abstracts will be reproduced in the HTML
<literal>head</literal>, with <literal>&gt;meta name="description" content="..."</literal></para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="make.clean.html">
<refmeta>
<refentrytitle>make.clean.html</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>make.clean.html</refname>
<refpurpose>Make HTML conform to modern coding standards</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="make.clean.html.frag">
&lt;xsl:param name="make.clean.html" select="0"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>If <parameter>make.clean.html</parameter> is true, the stylesheets take
extra effort to ensure that the resulting HTML is conforms to
modern HTML coding standards. In addition to eliminating
excessive and noncompliant coding, it moves presentation
HTML coding to a CSS stylesheet.</para>
<para>The resulting HTML is dependent on
CSS for formatting, and so the stylesheet is capable of
generating a supporting CSS file. The <parameter>docbook.css.source</parameter>
and <parameter>custom.css.source</parameter> parameters control
how a CSS file is generated.</para>
<para>If you require your CSS to reside in the HTML
<tag>head</tag> element, then the <parameter>generate.css.header</parameter>
can be used to do that.</para>
<para>The <parameter>make.clean.html</parameter> parameter is
different from <parameter>html.cleanup</parameter>
because the former changes the resulting markup; it does not use extension functions
like the latter to manipulate result-tree-fragments,
and is therefore applicable to any XSLT processor.</para>
<para>If <parameter>make.clean.html</parameter> is set to zero (the default),
then the stylesheet retains its original
<quote>old style</quote>
HTML formatting features.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="docbook.css.source">
<refmeta>
<refentrytitle>docbook.css.source</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>docbook.css.source</refname>
<refpurpose>Name of the default CSS input file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="docbook.css.source.frag">&lt;xsl:param name="docbook.css.source"&gt;docbook.css.xml&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>docbook.css.source</parameter> parameter
specifies the name of the file containing the default DocBook
CSS styles. Those styles are necessary when the
<parameter>make.clean.html</parameter> parameter is nonzero.</para>
<para>The file is a well-formed XML file that
must consist of a single <tag>style</tag> root
element that contains CSS styles as its text content.
The default value of the parameter (and filename)
is <literal>docbook.css.xml</literal>.
The stylesheets ship with the default file. You can substitute
your own and specify its path in this parameter.</para>
<para>If <parameter>docbook.css.source</parameter> is not blank,
and <parameter>make.clean.html</parameter> is nonzero, then
the stylesheet takes the following actions:</para>
<orderedlist>
<listitem>
<para>The stylesheet uses the XSLT <literal>document()</literal>
function to open the file specified by the parameter and
load it into a variable.</para>
</listitem>
<listitem>
<para>The stylesheet forms an output pathname consisting of the
value of the <parameter>base.dir</parameter> parameter (if it is set)
and the value of <parameter>docbook.css.source</parameter>,
with the <literal>.xml</literal> suffix stripped off.
</para>
</listitem>
<listitem>
<para>The stylesheet removes the <tag>style</tag>
wrapper element and writes just the CSS text content to the output file.</para>
</listitem>
<listitem>
<para>The stylesheet adds a <tag>link</tag> element to the
HTML <tag>HEAD</tag> element to reference the external CSS stylesheet.
For example:</para>
<programlisting>&lt;link rel="stylesheet" href="docbook.css" type="text/css"&gt;
</programlisting>
<para>However, if the <parameter>docbook.css.link</parameter>
parameter is set to zero, then no <tag>link</tag> is written
for the default CSS file. That is useful if a custom
CSS file will import the default CSS stylesheet to ensure
proper cascading of styles.</para>
</listitem>
</orderedlist>
<para>If the <parameter>docbook.css.source</parameter> parameter
is changed from its default <literal>docbook.css.xml</literal> to blank,
then no default CSS is generated. Likewise if the
<parameter>make.clean.html</parameter> parameter is set to zero,
then no default CSS is generated. The
<parameter>custom.css.source</parameter> parameter can be used
instead to generate a complete custom CSS file.</para>
<para>You can use the <parameter>generate.css.header</parameter>
parameter to instead write the CSS to each HTML <tag>HEAD</tag>
element in a <tag>style</tag> tag instead of an external CSS file.</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="docbook.css.link">
<refmeta>
<refentrytitle>docbook.css.link</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>docbook.css.link</refname>
<refpurpose>Insert a link referencing the default CSS stylesheet</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="docbook.css.link.frag">
&lt;xsl:param name="docbook.css.link" select="1"&gt;&lt;/xsl:param&gt;
</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The stylesheets are capable of generating a default
CSS stylesheet file. The parameters
<parameter>make.clean.html</parameter> and
<parameter>docbook.css.source</parameter> control that feature.</para>
<para>Normally if a default CSS file is generated, then
the stylesheet inserts a <tag>link</tag> tag in the HTML
<tag>HEAD</tag> element to reference it.
However, you can omit that <tag>link</tag> reference if
you set the <parameter>docbook.css.link</parameter> to zero
(1 is the default).</para>
<para>This parameter is useful when you want to import the
default CSS into a custom CSS file generated using the
<parameter>custom.css.source</parameter> parameter.
</para>
</refsection>
</refentry>
<refentry version="5.0" xml:id="custom.css.source">
<refmeta>
<refentrytitle>custom.css.source</refentrytitle>
<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
</refmeta>
<refnamediv>
<refname>custom.css.source</refname>
<refpurpose>Name of a custom CSS input file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting xml:id="custom.css.source.frag">&lt;xsl:param name="custom.css.source"&gt;&lt;/xsl:param&gt;</programlisting>
</refsynopsisdiv>
<refsection><info><title>Description</title></info>
<para>The <parameter>custom.css.source</parameter>
parameter enables you to add CSS styles to DocBook's
HTML output.</para>
<para>The parameter
specifies the name of a file containing custom
CSS styles. The file must be a well-formed XML file that
consists of a single <tag>style</tag> root
element that contains CSS styles as its text content.
For example:</para>
<programlisting>&lt;?xml version="1.0"?&gt;
&lt;style&gt;
h2 {
font-weight: bold;
color: blue;
}
...
&lt;/style&gt;
</programlisting>
<para>The filename specified by the parameter
should have a <literal>.xml</literal>
filename suffix, although that is not required.
The default value of this parameter is blank.</para>
<para>If <parameter>custom.css.source</parameter> is not blank, then
the stylesheet takes the following actions.
These actions take place regardless of the value of
the <parameter>make.clean.html</parameter> parameter.</para>
<orderedlist>
<listitem>
<para>The stylesheet uses the XSLT <literal>document()</literal>
function to open the file specified by the parameter and
load it into a variable.</para>
</listitem>
<listitem>
<para>The stylesheet forms an output pathname consisting of the
value of the <parameter>base.dir</parameter> parameter (if it is set)
and the value of <parameter>custom.css.source</parameter>,
with the <literal>.xml</literal> suffix stripped off.
</para>
</listitem>
<listitem>
<para>The stylesheet removes the <tag>style</tag>
wrapper element and writes just the CSS text content to the output file.</para>
</listitem>
<listitem>
<para>The stylesheet adds a <tag>link</tag> element to the
HTML <tag>HEAD</tag> element to reference this external CSS stylesheet.
For example:
<programlisting>&lt;link rel="stylesheet" href="custom.css" type="text/css"&gt;
</programlisting>
</para>
</listitem>
</orderedlist>
<para>If the <parameter>make.clean.html</parameter> parameter is nonzero
(the default is zero),
and if the <parameter>docbook.css.source</parameter> parameter
is not blank (the default is not blank),
then the stylesheet will also generate a default CSS file
and add a <tag>link</tag>