HTML Parameter Reference
$Id: param.xweb,v 1.75 2003/11/29 21:45:22 kosek Exp $
Walsh
Norman
1999
2000
2001
Norman Walsh
Introduction
This is technical reference documentation for the DocBook XSL
Stylesheets; it documents (some of) the parameters, templates, and
other elements of the stylesheets.
This reference describes each of the HTML Stylesheet parameters.
These are the easily customizable
parts of the stylesheet.
If you want to specify an alternate value for one or more of these
parameters, you can do so in a driver
stylesheet.
For example, if you want to change the html.stylesheet
to reference.css, you might create a driver
stylesheet like this:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version='1.0'>
<xsl:import href="http://docbook.sourceforge.net/release/xsl/snapshot/html/docbook.xsl"/>
<xsl:param name="html.stylesheet">reference.css</xsl:param>
</xsl:stylesheet>
Naturally, you have to change the
href attribute on
<xsl:import> to point to
docbook.xsl on your system. (Or
chunk.xsl, if you're using chunking.)
This is not intended to be user
documentation.
It is provided for developers writing customization layers for the
stylesheets, and for anyone who's interested in how it
works
.
Although I am trying to be thorough, this documentation is known
to be incomplete. Don't forget to read the source, too :-)
Admonitions
admon.graphics.extension
string
admon.graphics.extension
Extension for admonition graphics
<xsl:param name="admon.graphics.extension" select="'.png'"></xsl:param>
Description
Sets the extension to use on admonition graphics.
admon.graphics.path
string
admon.graphics.path
Path to admonition graphics
<xsl:param name="admon.graphics.path">images/</xsl:param>
Description
Sets the path, probably relative to the directory where the HTML
files are created, to the admonition graphics.
admon.graphics
boolean
admon.graphics
Use graphics in admonitions?
<xsl:param name="admon.graphics" select="0"></xsl:param>
Description
If true (non-zero), admonitions are presented in an alternate style that uses
a graphic. Default graphics are provided in the distribution.
admon.textlabel
boolean
admon.textlabel
Use text label in admonitions?
<xsl:param name="admon.textlabel" select="1"></xsl:param>
Description
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.
admon.style
string
admon.style
CSS style attributes for admonitions
<xsl:param name="admon.style">
<xsl:text>margin-left: 0.5in; margin-right: 0.5in;</xsl:text>
</xsl:param>
Description
Specifies the value of the STYLE
attribute that should be added to admonitions.
Callouts
callout.defaultcolumn
integer
callout.defaultcolumn
Indicates what column callouts appear in by default
<xsl:param name="callout.defaultcolumn" select="'60'"></xsl:param>
Description
If a callout does not identify a column (for example, if it uses
the linerange unit),
it will appear in the default column.
callout.graphics.extension
string
callout.graphics.extension
Extension for callout graphics
<xsl:param name="callout.graphics.extension" select="'.png'"></xsl:param>
Description
Sets the extension to use on callout graphics.
callout.graphics.number.limit
integer
callout.graphics.number.limit
Number of the largest callout graphic
<xsl:param name="callout.graphics.number.limit" select="'10'"></xsl:param>
Description
If callout.graphics
is non-zero, graphics are used to represent
callout numbers. The value of
callout.graphics.number.limit
is
the largest number for which a graphic exists. If the callout number
exceeds this limit, the default presentation "(nnn)" will always
be used.
callout.graphics.path
string
callout.graphics.path
Path to callout graphics
<xsl:param name="callout.graphics.path" select="'images/callouts/'"></xsl:param>
Description
Sets the path, probably relative to the directory where the HTML
files are created, to the callout graphics.
callout.graphics
boolean
callout.graphics
Use graphics for callouts?
<xsl:param name="callout.graphics" select="'1'"></xsl:param>
Description
If non-zero, callouts are presented with graphics (e.g., reverse-video
circled numbers instead of "(1)", "(2)", etc.).
Default graphics are provided in the distribution.
callout.list.table
boolean
callout.list.table
Present callout lists using a table?
<xsl:param name="callout.list.table" select="'1'"></xsl:param>
Description
The default presentation of CalloutLists uses
an HTML DL. Some browsers don't align DLs very well
if callout.graphics are used. With this option
turned on, CalloutLists are presented in an HTML
TABLE, which usually results in better alignment
of the callout number with the callout description.
callout.unicode.number.limit
integer
callout.unicode.number.limit
Number of the largest callout graphic
<xsl:param name="callout.unicode.number.limit" select="'10'"></xsl:param>
Description
If callout.unicode
is non-zero, unicode characters are used to represent
callout numbers. The value of
callout.unicode.number.limit
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.
callout.unicode.start.character
integer
callout.unicode.start.character
First Unicode character to use, decimal value.
<xsl:param name="callout.unicode.start.character" select="10102"></xsl:param>
Description
If callout.graphics is zero and callout.unicode
is non-zero, unicode characters are used to represent
callout numbers. The value of
callout.unicode.start.character
is the decimal unicode value used for callout number one. Currently,
only 10102 is supported in the stylesheets for this parameter.
callout.unicode
boolean
callout.unicode
Use Unicode characters rather than images for callouts.
<xsl:param name="callout.unicode" select="0"></xsl:param>
Description
The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. Use this to select the Unicode character option.
callouts.extension
boolean
callouts.extension
Enable the callout extension
<xsl:param name="callouts.extension" select="'1'"></xsl:param>
Description
The callouts extension processes areaset
elements in ProgramListingCO and other text-based
callout elements.
EBNF
ebnf.table.bgcolor
string
ebnf.table.bgcolor
Background color for EBNF tables
<xsl:param name="ebnf.table.bgcolor" select="'#F5DCB3'"></xsl:param>
Description
Sets the background color for EBNF tables. No bgcolor
attribute is output if ebnf.table.bgcolor is set to
the null string. The default value matches the value used in recent
online versions of the W3C's XML Spec productions.
ebnf.table.border
ebnf.table.border
Selects border on EBNF tables
<xsl:param name="ebnf.table.border" select="1"></xsl:param>
Description
Selects the border on EBNF tables. If non-zero, the tables have
borders, otherwise they don't.
ebnf.assignment
rtf
ebnf.assignment
The EBNF production assignment operator
<xsl:param name="ebnf.assignment">
<tt>::=</tt>
</xsl:param>
Description
The ebnf.assignment parameter determines what
text is used to show assignment
in productions
in productionsets.
While ::=
is common, so are several
other operators.
ebnf.statement.terminator
rtf
ebnf.statement.terminator
Punctuation that ends an EBNF statement.
<xsl:param name="ebnf.statement.terminator"></xsl:param>
Description
The ebnf.statement.terminator parameter determines what
text is used to terminate each production
in productionset.
Some notations end each statement with a period.
ToC/LoT/Index Generation
annotate.toc
boolean
annotate.toc
Annotate the Table of Contents?
<xsl:param name="annotate.toc" select="1"></xsl:param>
Description
If true, TOCs will be annotated. At present, this just means
that the RefPurpose of RefEntry
TOC entries will be displayed.
autotoc.label.separator
string
autotoc.label.separator
Separator between labels and titles in the ToC
<xsl:param name="autotoc.label.separator" select="'. '"></xsl:param>
Description
String to use to seperate labels and title in a table of contents.
process.source.toc
boolean
process.source.toc
FIXME:
<xsl:param name="process.source.toc" select="0"></xsl:param>
Description
FIXME:
process.empty.source.toc
boolean
process.empty.source.toc
FIXME:
<xsl:param name="process.empty.source.toc" select="0"></xsl:param>
Description
FIXME:
bridgehead.in.toc
boolean
bridgehead.in.toc
Should bridgehead elements appear in the TOC?
<xsl:param name="bridgehead.in.toc" select="0"></xsl:param>
Description
If non-zero, bridgeheads appear in the TOC. Note that this option
is not fully supported and may be removed in a future version of the
stylesheets.
manual.toc
string
manual.toc
An explicit TOC to be used for the TOC
<xsl:param name="manual.toc" select="''"></xsl:param>
Description
The manual.toc identifies an explicit TOC that
will be used for building the printed TOC.
toc.list.type
list
dl
ul
ol
toc.list.type
Type of HTML list element to use for Tables of Contents
<xsl:param name="toc.list.type">dl</xsl:param>
Description
When an automatically generated Table of Contents (or List of Titles)
is produced, this HTML element will be used to make the list.
toc.section.depth
integer
toc.section.depth
How deep should recursive sections appear
in the TOC?
<xsl:param name="toc.section.depth">2</xsl:param>
Description
Specifies the depth to which recursive sections should appear in the
TOC.
toc.max.depth
integer
toc.max.depth
How maximaly deep should be each TOC?
<xsl:param name="toc.max.depth">8</xsl:param>
Description
Specifies the maximal depth of TOC on all levels.
generate.toc
table
generate.toc
Control generation of ToCs and LoTs
<xsl:param name="generate.toc">
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
</xsl:param>
Description
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.
When processing a particular element, the stylesheets consult this table to
determine if a ToC (or LoT(s)) should be generated.
For example, consider the entry:
book toc,figure
This indicates that whenever a book is formatted, a
Table Of Contents and a List of Figures should be generated. Similarly,
/chapter toc
indicates that whenever a document that has a root
of chapter is formatted, a Table of
Contents should be generated. The entry chapter would match
all chapters, but /chapter matches only chapter
document elements.
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:
book/article toc,figure
part/article toc
Note that an article in a part can never match a book/article,
so if you want nothing to be generated for articles in parts, you can simply leave
that rule out.
If you want to leave the rule in, to make it explicit that you're turning
something off, use the value nop
. For example, the following
entry disables ToCs and LoTs for articles:
article nop
Do not simply leave the word article
in the file
without a matching value. That'd be just begging the silly little
path/value parser to get confused.
Section ToCs are further controlled by the
generate.section.toc.level parameter.
For a given section level to have a ToC, it must have both an entry in
generate.toc and be within the range enabled by
generate.section.toc.level.
generate.section.toc.level
integer
generate.section.toc.level
Control depth of TOC generation in sections
<xsl:param name="generate.section.toc.level" select="0"></xsl:param>
Description
The generate.section.toc.level parameter
controls the depth of section in which TOCs will be generated. Note
that this is related to, but not the same as
toc.section.depth, which controls the depth to
which TOC entries will be generated in a given TOC.
If, for example, generate.section.toc.level
is 3, TOCs will be generated in first, second, and third
level sections, but not in fourth level sections.
generate.index
boolean
generate.index
Do you want an index?
<xsl:param name="generate.index" select="1"></xsl:param>
Description
Specify if an index should be generated.
Extensions
linenumbering.everyNth
integer
linenumbering.everyNth
Indicate which lines should be numbered
<xsl:param name="linenumbering.everyNth" select="'5'"></xsl:param>
Description
If line numbering is enabled, everyNth line will be numbered.
linenumbering.extension
boolean
linenumbering.extension
Enable the line numbering extension
<xsl:param name="linenumbering.extension" select="'1'"></xsl:param>
Description
If true, verbatim environments (elements that have the
format='linespecific' notation attribute: address, literallayout,
programlisting, screen, synopsis) that specify line numbering will
have, surprise, line numbers.
linenumbering.separator
string
linenumbering.separator
Specify a separator between line numbers and lines
<xsl:param name="linenumbering.separator" select="' '"></xsl:param>
Description
The separator is inserted between line numbers and lines in
the verbatim environment.
linenumbering.width
integer
linenumbering.width
Indicates the width of line numbers
<xsl:param name="linenumbering.width" select="'3'"></xsl:param>
Description
If line numbering is enabled, line numbers will appear right
justified in a field "width" characters wide.
tablecolumns.extension
boolean
tablecolumns.extension
Enable the table columns extension function
<xsl:param name="tablecolumns.extension" select="'1'"></xsl:param>
Description
The table columns extension function adjusts the widths of table
columns in the HTML result to more accurately reflect the specifications
in the CALS table.
textinsert.extension
boolean
textinsert.extension
Enable the textinsert extension element
<xsl:param name="textinsert.extension" select="'1'"></xsl:param>
Description
The textinsert extension element inserts the contents of a
a file into the result tree (as text).
graphicsize.extension
boolean
graphicsize.extension
Enable the getWidth()/getDepth() extension functions
<xsl:param name="graphicsize.extension" select="1"></xsl:param>
Description
If non-zero (and if use.extensions is non-zero
and if you're using a processor that supports extension functions), the
getWidth and getDepth functions
will be used to extract image sizes from graphics.
use.extensions
boolean
use.extensions
Enable extensions
<xsl:param name="use.extensions" select="'0'"></xsl:param>
Description
If non-zero, extensions may be used. Each extension is
further controlled by its own parameter. But if
use.extensions is zero, no extensions will
be used.
Automatic labelling
chapter.autolabel
boolean
chapter.autolabel
Are chapters automatically enumerated?
<xsl:param name="chapter.autolabel" select="1"></xsl:param>
Description
If true (non-zero), unlabeled chapters will be enumerated.
appendix.autolabel
boolean
appendix.autolabel
Are Appendixes automatically enumerated?
<xsl:param name="appendix.autolabel" select="1"></xsl:param>
Description
If true (non-zero), unlabeled appendixes will be
enumerated.
part.autolabel
boolean
part.autolabel
Are parts and references enumerated?
<xsl:param name="part.autolabel" select="1"></xsl:param>
Description
If true (non-zero), unlabeled parts and references will be enumerated.
preface.autolabel
boolean
preface.autolabel
Are prefaces enumerated?
<xsl:param name="preface.autolabel" select="0"></xsl:param>
Description
If true (non-zero), unlabeled prefaces will be enumerated.
qandadiv.autolabel
boolean
qandadiv.autolabel
Are divisions in QAndASets enumerated?
<xsl:param name="qandadiv.autolabel" select="1"></xsl:param>
Description
If true (non-zero), unlabeled qandadivs will be enumerated.
section.autolabel
boolean
section.autolabel
Are sections enumerated?
<xsl:param name="section.autolabel" select="0"></xsl:param>
Description
If true (non-zero), unlabeled sections will be enumerated.
section.label.includes.component.label
boolean
section.label.includes.component.label
Do section labels include the component label?
<xsl:param name="section.label.includes.component.label" select="0"></xsl:param>
Description
If true (non-zero), section labels are prefixed with the label of the
component that contains them.
label.from.part
boolean
label.from.part
Renumber chapters in each part?
<xsl:param name="label.from.part" select="'0'"></xsl:param>
Description
If label.from.part is non-zero, components
(chapters, appendixes, etc.)
will be numbered from 1 in each part. Otherwise,
they will be numbered monotonically throughout each
book.
HTML
html.base
uri
html.base
An HTML base URI
<xsl:param name="html.base"></xsl:param>
Description
If html.base is set, it is used for the BASE
element in the HEAD of the HTML documents.
This is useful for dynamically served HTML where the base URI needs
to be shifted.
html.stylesheet.type
string
html.stylesheet.type
The type of the stylesheet used in the generated HTML
<xsl:param name="html.stylesheet.type">text/css</xsl:param>
Description
The type of the stylesheet to place in the HTML link tag.
html.stylesheet
string
html.stylesheet
Name of the stylesheet(s) to use in the generated HTML
<xsl:param name="html.stylesheet" select="''"></xsl:param>
Description
The html.stylesheet parameter is either empty,
indicating that no stylesheet LINK tag should be generated
in the HTML output, or it is a list of one or more stylesheets.
Multiple stylesheets are space-delimited. If you need to
reference a stylesheet URI that includes a space, encode it with
%20. A seprate HTML LINK element will
be generated for each stylesheet in the order they are listed in the
parameter.
use.id.as.filename
boolean
use.id.as.filename
Use ID value of chunk elements as the filename?
<xsl:param name="use.id.as.filename" select="'0'"></xsl:param>
Description
If use.id.as.filename
is non-zero, the filename of chunk elements that have IDs will be
derived from the ID value.
css.decoration
boolean
css.decoration
Enable CSS decoration of elements
<xsl:param name="css.decoration" select="1"></xsl:param>
Description
If css.decoration is turned on, then HTML elements
produced by the
stylesheet may be decorated with STYLE attributes. For example, the
LI tags produced for list items may include a fragment of CSS in the
STYLE attribute which sets the CSS property "list-style-type".
spacing.paras
boolean
spacing.paras
Insert additional <p> elements for spacing?
<xsl:param name="spacing.paras" select="'0'"></xsl:param>
Description
When non-zero, additional, empty paragraphs are inserted in
several contexts (for example, around informal figures), to create a
more pleasing visual appearance in many browsers.
emphasis.propagates.style
boolean
emphasis.propagates.style
Pass emphasis role attribute through to HTML?
<xsl:param name="emphasis.propagates.style" select="1"></xsl:param>
Description
If true, the role attribute of emphasis elements
will be passed through to the HTML as a class attribute on a
span that surrounds the emphasis.
para.propagates.style
boolean
para.propagates.style
Pass para role attribute through to HTML?
<xsl:param name="para.propagates.style" select="1"></xsl:param>
Description
If true, the role attribute of para elements
will be passed through to the HTML as a class attribute on the
p generated for the paragraph.
phrase.propagates.style
boolean
phrase.propagates.style
Pass phrase role attribute through to HTML?
<xsl:param name="phrase.propagates.style" select="1"></xsl:param>
Description
If true, the role attribute of phrase elements
will be passed through to the HTML as a class attribute on a
span that surrounds the phrase.
entry.propagates.style
boolean
entry.propagates.style
Pass entry role attribute through to HTML?
<xsl:param name="entry.propagates.style" select="1"></xsl:param>
Description
If true, the role attribute of entry elements
will be passed through to the HTML as a class attribute on the
td or th generated for the table
cell.
html.longdesc
boolean
html.longdesc
Should longdesc URIs be created?
<xsl:param name="html.longdesc" select="1"></xsl:param>
Description
If non-zero, HTML files will be created for the
longdesc attribute. These files
are created from the textobjects in
mediaobjects and
inlinemediaobject.
html.longdesc.link
boolean
html.longdesc.link
Should a link to the longdesc be included in the HTML?
<xsl:param name="html.longdesc.link" select="$html.longdesc"></xsl:param>
Description
If non-zero, links will be created to the
HTML files created for the
longdesc attribute. It makes no
sense to turn enable this option without also enabling the
$html.longdesc parameter.
The longdesc.link named template is called
to construct the link.
make.valid.html
boolean
make.valid.html
Attempt to make sure the HTML output is valid HTML
<xsl:param name="make.valid.html" select="0"></xsl:param>
Description
If make.valid.html is true, the stylesheets take
extra effort to ensure that the resulting HTML is valid. This may mean that some
para tags are translated into HTML divs or
that other substitutions occur.
This parameter is different from html.cleanup
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.
html.cleanup
boolean
html.cleanup
Attempt to clean up the resulting HTML?
<xsl:param name="html.cleanup" select="1"></xsl:param>
Description
If non-zero, and if the EXSLT
extensions are supported by your processor, the resulting HTML will be
cleaned up
. This improves the chances that the
resulting HTML will be valid. It may also improve the formatting of
some elements.
This parameter is different from make.valid.html
because it uses extension functions to manipulate result-tree-fragments.
draft.mode
list
draft.mode
Select draft mode
<xsl:param name="draft.mode" select="'maybe'"></xsl:param>
Description
Selects draft mode. If draft.mode is
yes
, the entire document will be treated
as a draft. If it is no
, the entire document
will be treated as a final copy. If it is maybe
,
individual sections will be treated as draft or final independently, depending
on how their status attribute is set.
draft.watermark.image
uri
draft.watermark.image
The URI of the image to be used for draft watermarks
<xsl:param name="draft.watermark.image" select="'http://docbook.sourceforge.net/release/images/draft.png'"></xsl:param>
Description
The image to be used for draft watermarks.
generate.id.attributes
generate.id.attributes
<xsl:param name="generate.id.attributes" select="0"></xsl:param>
Description
If non-zero, the HTML stylesheet will generate ID attributes on
containers. For example, the markup:
<section id="foo"><title>Some Title</title>
<para>Some para.</para>
</section>
might produce:
<div class="section" id="foo">
<h2>Some Title</h2>
<p>Some para.</p>
</div>
The alternative is to generate anchors:
<div class="section">
<h2><a name="foo"></a>Some Title</h2>
<p>Some para.</p>
</div>
Because the name attribute of
the a element and the id
attribute of other tags are both of type ID
, producing both
generates invalid documents.
As of version 1.50, you can use this switch to control which type of
identifier is generated. For backwards-compatibility, generating
a anchors is preferred.
Note: at present, this switch is incompletely implemented.
Disabling ID attributes will suppress them, but enabling ID attributes
will not suppress the anchors.
generate.meta.abstract
boolean
generate.meta.abstract
Generate HTML META element from abstract?
<xsl:param name="generate.meta.abstract" select="1"></xsl:param>
Description
If non-zero, document abstracts will be reproduced in the HTML
HEAD with meta name="description" content="...".
XSLT Processing
rootid
string
rootid
Specify the root element to format
<xsl:param name="rootid" select="''"></xsl:param>
Description
If rootid is specified, it must be the
value of an ID that occurs in the document being formatted. The entire
document will be loaded and parsed, but formatting will begin at the
element identified, rather than at the root. For example, this allows
you to process only chapter 4 of a book.
Because the entire document is available to the processor, automatic
numbering, cross references, and other dependencies are correctly
resolved.
suppress.navigation
boolean
suppress.navigation
Disable header and footer navigation
<xsl:param name="suppress.navigation">0</xsl:param>
Description
If suppress.navigation is turned on, header and
footer navigation will be suppressed.
Meta/*Info
inherit.keywords
boolean
inherit.keywords
Inherit keywords from ancestor elements?
<xsl:param name="inherit.keywords" select="'1'"></xsl:param>
Description
If inherit.keywords
is non-zero, the keyword META for each HTML
HEAD element will include all of the keywords from
ancestral elements. Otherwise, only the keywords from the current section
will be used.
make.single.year.ranges
boolean
make.single.year.ranges
Print single-year ranges (e.g., 1998-1999)
<xsl:param name="make.single.year.ranges" select="0"></xsl:param>
Description
If non-zero, year ranges that span a single year will be printed
in range notation (1998-1999) instead of discrete notation
(1998, 1999).
make.year.ranges
boolean
make.year.ranges
Collate copyright years into ranges?
<xsl:param name="make.year.ranges" select="0"></xsl:param>
Description
If non-zero, copyright years will be collated into ranges.
author.othername.in.middle
boolean
author.othername.in.middle
Is othername in author a
middle name?
<xsl:param name="author.othername.in.middle" select="1"></xsl:param>
Description
If true (non-zero), the othername of an author
appears between the firstname and
surname. Otherwise, othername
is suppressed.
generate.legalnotice.link
boolean
generate.legalnotice.link
TBD
<xsl:param name="generate.legalnotice.link" select="0"></xsl:param>
Description
TBD
Reference Pages
funcsynopsis.decoration
boolean
funcsynopsis.decoration
Decorate elements of a FuncSynopsis?
<xsl:param name="funcsynopsis.decoration" select="1"></xsl:param>
Description
If true (non-zero), elements of the FuncSynopsis will be decorated (e.g. bold or
italic). The decoration is controlled by functions that can be redefined
in a customization layer.
funcsynopsis.style
list
ansi
kr
funcsynopsis.style
What style of 'FuncSynopsis' should be generated?
<xsl:param name="funcsynopsis.style">kr</xsl:param>
Description
If funcsynopsis.style is ansi,
ANSI-style function synopses are generated for a
funcsynopsis, otherwise K&R-style
function synopses are generated.
funcsynopsis.tabular.threshold
integer
funcsynopsis.tabular.threshold
Width beyond which a tabular presentation will be used
<xsl:param name="funcsynopsis.tabular.threshold" select="40"></xsl:param>
Description
If funcsynopsis.tabular.threshold is greater than
zero then if a funcprototype is wider than the threshold
value, it will be presented in a table.
function.parens
boolean
function.parens
Generate parens after a function?
<xsl:param name="function.parens">0</xsl:param>
Description
If not 0, the formatting of
a function element will include
generated parenthesis.
refentry.generate.name
boolean
refentry.generate.name
Output NAME header before 'RefName'(s)?
<xsl:param name="refentry.generate.name" select="1"></xsl:param>
Description
If true (non-zero), a "NAME" section title is output before the list
of 'RefName's. This parameter and
refentry.generate.title are mutually
exclusive. This means that if you change this parameter to zero, you
should set refentry.generate.title to 1 unless
you want get quite strange output.
refentry.generate.title
boolean
refentry.generate.title
Output title before 'RefName'(s)?
<xsl:param name="refentry.generate.title" select="0"></xsl:param>
Description
If true (non-zero), the reference page title or first name is
output before the list of 'RefName's. This parameter and
refentry.generate.name are mutually exclusive.
This means that if you change this parameter to 1, you
should set refentry.generate.name to 0 unless
you want get quite strange output.
refentry.xref.manvolnum
boolean
refentry.xref.manvolnum
Output manvolnum as part of
refentry cross-reference?
<xsl:param name="refentry.xref.manvolnum" select="1"></xsl:param>
Description
if true (non-zero), the manvolnum is used when cross-referencing
refentrys, either with xref
or citerefentry.
citerefentry.link
boolean
citerefentry.link
Generate URL links when cross-referencing RefEntrys?
<xsl:param name="citerefentry.link" select="'0'"></xsl:param>
Description
If true, a web link will be generated, presumably
to an online man->HTML gateway. The text of the link is
generated by the generate.citerefentry.link template.
refentry.separator
boolean
refentry.separator
Generate a separator between consecutive RefEntry elements?
<xsl:param name="refentry.separator" select="'1'"></xsl:param>
Description
If true, a separator will be generated between consecutive
reference pages.
Tables
default.table.width
length
default.table.width
The default width of tables
<xsl:param name="default.table.width" select="''"></xsl:param>
Description
If specified, this value will be used for the WIDTH attribute on
tables that do not specify an alternate width (with the dbhtml processing
instruction).
nominal.table.width
length
nominal.table.width
The (absolute) nominal width of tables
<xsl:param name="nominal.table.width" select="'6in'"></xsl:param>
Description
In order to convert CALS column widths into HTML column widths, it
is sometimes necessary to have an absolute table width to use for conversion
of mixed absolute and relative widths. This value must be an absolute
length (not a percentag).
table.borders.with.css
boolean
table.borders.with.css
Use CSS to specify table, row, and cell borders?
<xsl:param name="table.borders.with.css" select="0"></xsl:param>
Description
If true (non-zero), CSS will be used to draw table borders.
table.cell.border.style
table.cell.border.style
<xsl:param name="table.cell.border.style" select="'solid'"></xsl:param>
Description
FIXME:
table.cell.border.thickness
table.cell.border.thickness
<xsl:param name="table.cell.border.thickness" select="'0.5pt'"></xsl:param>
Description
FIXME:
table.cell.border.color
table.cell.border.color
<xsl:param name="table.cell.border.color" select="''"></xsl:param>
Description
FIXME:
table.frame.border.style
table.frame.border.style
<xsl:param name="table.frame.border.style" select="'solid'"></xsl:param>
Description
FIXME:
table.frame.border.thickness
table.frame.border.thickness
Specifies the thickness of the frame border
<xsl:param name="table.frame.border.thickness" select="'0.5pt'"></xsl:param>
Description
Specifies the thickness of the border on the table's frame.
table.frame.border.color
table.frame.border.color
<xsl:param name="table.frame.border.color" select="''"></xsl:param>
Description
FIXME:
html.cellspacing
integer
html.cellspacing
Default value for cellspacing in HTML tables
<xsl:param name="html.cellspacing" select="''"></xsl:param>
Description
If specified, this value will be used as the default cellspacing value
in HTML tables.
html.cellpadding
integer
html.cellpadding
Default value for cellpadding in HTML tables
<xsl:param name="html.cellpadding" select="''"></xsl:param>
Description
If specified, this value will be used as the default cellpadding value
in HTML tables.
QAndASet
qanda.defaultlabel
boolean
qanda.defaultlabel
Sets the default for defaultlabel on QandASet.
<xsl:param name="qanda.defaultlabel">number</xsl:param>
Description
If no defaultlabel attribute is specified on a QandASet, this
value is used. It must be one of the legal values for the defaultlabel
attribute.
qanda.inherit.numeration
boolean
qanda.inherit.numeration
Does enumeration of QandASet components inherit the numeration of parent elements?
<xsl:param name="qanda.inherit.numeration" select="1"></xsl:param>
Description
If true (non-zero), numbered QandADiv elements and Questions and Answers inherit
the numeration of the ancestors of the QandASet.
Linking
target.database.document
uri
target.database.document
Name of master database file for resolving
olinks
<xsl:param name="target.database.document" select="''"></xsl:param>
Description
To resolve olinks between documents, the stylesheets use
a master database document that identifies the target datafiles for all the documents within the scope
of the olinks. This parameter value is the URI of
the master document to be read during processing to resolve olinks.
The default value is olinkdb.xml.
The data structure of the file is defined in the targetdatabase.dtd DTD. The database file provides the high level elements to record the identifiers, locations, and relationships of documents. The cross reference data for individual documents is generally pulled into the database using system entity references or XIncludes. See also targets.filename.
targets.filename
string
targets.filename
Name of cross reference targets data file
<xsl:param name="targets.filename" select="'target.db'"></xsl:param>
Description
In order to resolve olinks efficiently, the stylesheets can
generate an external data file containing information about
all potential cross reference endpoints in a document.
This parameter lets you change the name of the generated
file from the default name target.db.
The name must agree with that used in the target database
used to resolve olinks during processing.
See also target.database.document.
collect.xref.targets
string
collect.xref.targets
Controls whether cross reference data is
collected
<xsl:param name="collect.xref.targets" select="'no'"></xsl:param>
Description
In order to resolve olinks efficiently, the stylesheets can
generate an external data file containing information about
all potential cross reference endpoints in a document.
This parameter determines whether the collection process is run when the document is processed by the stylesheet. The default value is no, which means the data file is not generated during processing. The other choices are yes, which means the data file is created and the document is processed for output, and only, which means the data file is created but the document is not processed for output.
See also targets.filename.
olink.base.uri
uri
olink.base.uri
Base URI used in olink hrefs
<xsl:param name="olink.base.uri" select="''"></xsl:param>
Description
When cross reference data is collected for resolving olinks, it may be necessary to prepend a base URI to each target's href. This parameter lets you set that base URI when cross reference data is collected. This feature is needed when you want to link to a document that is processed without chunking. The output filename for such a document is not known to the XSL stylesheet; the only target information consists of fragment identifiers such as #idref. To enable the resolution of olinks between documents, you should pass the name of the HTML output file as the value of this parameter. Then the hrefs recorded in the cross reference data collection look like outfile.html#idref, which can be reached as links from other documents.
use.local.olink.style
boolean
use.local.olink.style
Process olinks using xref style of current
document
<xsl:param name="use.local.olink.style" select="0"></xsl:param>
Description
When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. Other fields record the separate title, number, and element name of each target. When an olink is formed to a target from another document, the olink resolves to that preassembled string by default. If the use.local.olink.style parameter is set to non-zero, then instead the cross
reference string is formed again from the target title, number, and
element name, using the stylesheet processing the targeting document.
Then olinks will match the xref style in the targeting document
rather than in the target document. If both documents are processed
with the same stylesheet, then the results will be the same.
current.docid
string
current.docid
targetdoc identifier for the document being
processed
<xsl:param name="current.docid" select="''"></xsl:param>
Description
When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. The stylesheet needs to know the targetdoc identifiers for both documents, as they appear in the target.database.document database file. This parameter passes to the stylesheet
the targetdoc identifier of the current document, since that
identifier does not appear in the document itself.
This parameter can also be used for print output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's title to the generated olink text. That identifies to the reader that the link is to a different document, not the current document. See also olink.doctitle to enable that feature.
olink.doctitle
boolean
olink.doctitle
show the document title for external olinks?
<xsl:param name="olink.doctitle" select="0"></xsl:param>
Description
When olinks between documents are resolved for print output, the generated text may not make it clear that the reference is to another document. It is possible for the stylesheets to append the other document's title to external olinks. For this to happen, two parameters must be set. The olink.doctitle parameter should be set to nonzero to enable this
feature. And you should set the current.docid parameter to the document id for the document currently
being processed for output. If an olink's targetdoc id differs from the current.docid, then the stylesheet can append the target document's
title to the generated olink text.
link.mailto.url
string
link.mailto.url
Mailto URL for the LINK REL=made HTML HEAD element
<xsl:param name="link.mailto.url"></xsl:param>
Description
If not the empty string, this address will be used for the
REL=made LINK element in the HTML HEAD.
ulink.target
string
ulink.target
The HTML anchor target for ULinks
<xsl:param name="ulink.target" select="'_top'"></xsl:param>
Description
If ulink.target is set, its value will
be used for the target attribute
on anchors generated for ulinks.
olink.fragid
string
olink.fragid
Names the fragment identifier portion of an OLink resolver query
<xsl:param name="olink.fragid" select="'fragid='"></xsl:param>
Description
FIXME:
olink.outline.ext
string
olink.outline.ext
The extension of OLink outline files
<xsl:param name="olink.outline.ext" select="'.olink'"></xsl:param>
Description
FIXME:
olink.pubid
string
olink.pubid
Names the public identifier portion of an OLink resolver query
<xsl:param name="olink.pubid" select="'pubid='"></xsl:param>
Description
FIXME:
olink.sysid
string
olink.sysid
Names the system identifier portion of an OLink resolver query
<xsl:param name="olink.sysid" select="'sysid='"></xsl:param>
Description
FIXME:
olink.resolver
olink.resolver
The root name of the OLink resolver (usually a script)
<xsl:param name="olink.resolver" select="'/cgi-bin/olink'"></xsl:param>
Description
FIXME:
Bibliography
biblioentry.item.separator
string
biblioentry.item.separator
Text to separate bibliography entries
<xsl:param name="biblioentry.item.separator">. </xsl:param>
Description
Text to separate bibliography entries
bibliography.collection
string
bibliography.collection
Name of the bibliography collection file
<xsl:param name="bibliography.collection" select="'http://docbook.sourceforge.net/release/bibliography/bibliography.xml'"></xsl:param>
Description
Maintaining bibliography entries across a set of documents is tedious, time
consuming, and error prone. It makes much more sense, usually, to store all of
the bibliography entries in a single place and simply extract
the ones you need in each document.
That's the purpose of the
bibliography.collection parameter. To setup a global
bibliography database
, follow these steps:
First, create a stand-alone bibliography document that contains all of
the documents that you wish to reference. Make sure that each bibliography
entry (whether you use biblioentry or bibliomixed)
has an ID.
My global bibliography, ~/bibliography.xml begins
like this:
<!DOCTYPE bibliography
PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<bibliography><title>References</title>
<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray,
Jean Paoli, C. M. Sperberg-McQueen, and Eve Maler, editors.
<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup
Language (XML) 1.0 Second Edition</ulink></citetitle>.
World Wide Web Consortium, 2000.
</bibliomixed>
<bibliomixed id="xml-names"><abbrev>Namespaces</abbrev>Tim Bray,
Dave Hollander,
and Andrew Layman, editors.
<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in
XML</ulink></citetitle>.
World Wide Web Consortium, 1999.
</bibliomixed>
<!-- ... -->
</bibliography>
When you create a bibliography in your document, simply
provide empty bibliomixed
entries for each document that you wish to cite. Make sure that these
elements have the same ID as the corresponding real
entry in your global bibliography.
For example:
<bibliography><title>Bibliography</title>
<bibliomixed id="xml-rec"/>
<bibliomixed id="xml-names"/>
<bibliomixed id="DKnuth86">Donald E. Knuth. <citetitle>Computers and
Typesetting: Volume B, TeX: The Program</citetitle>. Addison-Wesley,
1986. ISBN 0-201-13437-3.
</bibliomixed>
<bibliomixed id="relaxng"/>
</bibliography>
Note that it's perfectly acceptable to mix entries from your
global bibliography with normal
entries. You can use
xref or other elements to cross-reference your
bibliography entries in exactly the same way you do now.
Finally, when you are ready to format your document, simply set the
bibliography.collection parameter (in either a
customization layer or directly through your processor's interface) to
point to your global bibliography.
The stylesheets will format the bibliography in your document as if
all of the entries referenced appeared there literally.
bibliography.numbered
boolean
bibliography.numbered
Should bibliography entries be numbered?
<xsl:param name="bibliography.numbered" select="0"></xsl:param>
Description
If non-zero bibliography entries will be numbered
Glossary
glossterm.auto.link
boolean
glossterm.auto.link
Generate links from glossterm to glossentry automaticaly?
<xsl:param name="glossterm.auto.link" select="0"></xsl:param>
Description
If true, a link will be automatically created from glossterm
to glossentry for that glossary term. This is usefull when your
glossterm names are consistent and you don't want to add links
manually.
If there is linkend on
glossterm then is used instead of autogeneration of
link.
firstterm.only.link
boolean
firstterm.only.link
Does automatic glossterm linking only apply to firstterms?
<xsl:param name="firstterm.only.link" select="0"></xsl:param>
Description
If true, only firstterms will be automatically linked
to the glossary. If glossary linking is not enabled, this parameter
has no effect.
glossary.collection
string
glossary.collection
Name of the glossary collection file
<xsl:param name="glossary.collection" select="''"></xsl:param>
Description
Glossaries maintained independently across a set of documents
are likely to become inconsistent unless considerable effort is
expended to keep them in sync. It makes much more sense, usually, to
store all of the glossary entries in a single place and simply
extract
the ones you need in each document.
That's the purpose of the
glossary.collection parameter. To setup a global
glossary database
, follow these steps:
Setting Up the Glossary Database
First, create a stand-alone glossary document that contains all of
the entries that you wish to reference. Make sure that each glossary
entry has an ID.
Here's an example glossary:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE glossary
PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<glossary>
<glossaryinfo>
<editor><firstname>Eric</firstname><surname>Raymond</surname></editor>
<title>Jargon File 4.2.3 (abridged)</title>
<releaseinfo>Just some test data</releaseinfo>
</glossaryinfo>
<glossdiv><title>0</title>
<glossentry>
<glossterm>0</glossterm>
<glossdef>
<para>Numeric zero, as opposed to the letter `O' (the 15th letter of
the English alphabet). In their unmodified forms they look a lot
alike, and various kluges invented to make them visually distinct have
compounded the confusion. If your zero is center-dotted and letter-O
is not, or if letter-O looks almost rectangular but zero looks more
like an American football stood on end (or the reverse), you're
probably looking at a modern character display (though the dotted zero
seems to have originated as an option on IBM 3270 controllers). If
your zero is slashed but letter-O is not, you're probably looking at
an old-style ASCII graphic set descended from the default typewheel on
the venerable ASR-33 Teletype (Scandinavians, for whom /O is a letter,
curse this arrangement). (Interestingly, the slashed zero long
predates computers; Florian Cajori's monumental "A History of
Mathematical Notations" notes that it was used in the twelfth and
thirteenth centuries.) If letter-O has a slash across it and the zero
does not, your display is tuned for a very old convention used at IBM
and a few other early mainframe makers (Scandinavians curse <emphasis>this</emphasis>
arrangement even more, because it means two of their letters collide).
Some Burroughs/Unisys equipment displays a zero with a <emphasis>reversed</emphasis>
slash. Old CDC computers rendered letter O as an unbroken oval and 0
as an oval broken at upper right and lower left. And yet another
convention common on early line printers left zero unornamented but
added a tail or hook to the letter-O so that it resembled an inverted
Q or cursive capital letter-O (this was endorsed by a draft ANSI
standard for how to draw ASCII characters, but the final standard
changed the distinguisher to a tick-mark in the upper-left corner).
Are we sufficiently confused yet?</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>1TBS</glossterm>
<glossdef>
<para role="accidence">
<phrase role="pronounce"></phrase>
<phrase role="partsofspeach">n</phrase>
</para>
<para>The "One True Brace Style"</para>
<glossseealso>indent style</glossseealso>
</glossdef>
</glossentry>
<!-- ... -->
</glossdiv>
<!-- ... -->
</glossary>
Marking Up Glossary Terms
That takes care of the glossary database, now you have to get the entries
into your document. Unlike bibliography entries, which can be empty, creating
placeholder
glossary entries would be very tedious. So instead,
support for glossary.collection relies on implicit linking.
In your source document, simply use firstterm and
glossterm to identify the terms you wish to have included
in the glossary. The stylesheets assume that you will either set the
baseform attribute correctly, or that the
content of the element exactly matches a term in your glossary.
If you're using a glossary.collection, don't
make explicit links on the terms in your document.
So, in your document, you might write things like this:
<para>This is dummy text, without any real meaning.
The point is simply to reference glossary terms like <glossterm>0</glossterm>
and the <firstterm baseform="1TBS">One True Brace Style (1TBS)</firstterm>.
The <glossterm>1TBS</glossterm>, as you can probably imagine, is a nearly
religious issue.</para>
If you set the firstterm.only.link parameter,
only the terms marked with firstterm will be links.
Otherwise, all the terms will be linked.
Marking Up the Glossary
The glossary itself has to be identified for the stylesheets. For lack
of a better choice, the role is used.
To identify the glossary as the target for automatic processing, set
the role to auto
. The title of this
glossary (and any other information from the glossaryinfo
that's rendered by your stylesheet) will be displayed, but the entries will
come from the database.
Unfortunately, the glossary can't be empty, so you must put in
at least one glossentry. The content of this entry
is irrelevant, it will not be rendered:
<glossary role="auto">
<glossentry>
<glossterm>Irrelevant</glossterm>
<glossdef>
<para>If you can see this, the document was processed incorrectly. Use
the <parameter>glossary.collection</parameter> parameter.</para>
</glossdef>
</glossentry>
</glossary>
What about glossary divisions? If your glossary database has glossary
divisions and your automatic glossary contains at least
one glossdiv, the automic glossary will have divisions.
If the glossdiv is missing from either location, no divisions
will be rendered.
Glossary entries (and divisions, if appropriate) in the glossary will
occur in precisely the order they occur in your database.
Formatting the Document
Finally, when you are ready to format your document, simply set the
glossary.collection parameter (in either a
customization layer or directly through your processor's interface) to
point to your global glossary.
The stylesheets will format the glossary in your document as if
all of the entries implicilty referenced appeared there literally.
Limitations
Glossary cross-references within the glossary are
not supported. For example, this will not work:
<glossentry>
<glossterm>gloss-1</glossterm>
<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para>
<glossseealso>gloss-2</glossseealso>
</glossdef>
</glossentry>
If you put glossary cross-references in your glossary that way,
you'll get the cryptic error: Warning:
glossary.collection specified, but there are 0 automatic
glossaries.
Instead, you must do two things:
Markup your glossary using glossseealso:
<glossentry>
<glossterm>gloss-1</glossterm>
<glossdef><para>A description that references <glossterm>gloss-2</glossterm>.</para>
<glossseealso>gloss-2</glossseealso>
</glossdef>
</glossentry>
Make sure there is at least one glossterm reference to
gloss-2 in your document. The
easiest way to do that is probably within a remark in your
automatic glossary:
<glossary role="auto">
<remark>Make sure there's a reference to <glossterm>gloss-2</glossterm>.</remark>
<glossentry>
<glossterm>Irrelevant</glossterm>
<glossdef>
<para>If you can see this, the document was processed incorrectly. Use
the <parameter>glossary.collection</parameter> parameter.</para>
</glossdef>
</glossentry>
</glossary>
glossentry.show.acronym
list
glossentry.show.acronym
Display glossentry acronyms?
<xsl:param name="glossentry.show.acronym" select="'no'"></xsl:param>
Description
A setting of yes
means they should be displayed;
no
means they shouldn't. If primary
is used,
then they are shown as the primary text for the entry.
This setting controls both acronym and
abbrev elements in the glossentry.
Miscellaneous
formal.procedures
boolean
formal.procedures
Selects formal or informal procedures
<xsl:param name="formal.procedures" select="1"></xsl:param>
Description
Formal procedures are numbered and always have a title.
formal.title.placement
formal.title.placement
<xsl:param name="formal.title.placement">
figure before
example before
equation before
table before
procedure before
task before
</xsl:param>
Description
Specifies where formal object titles should occur. For each formal object
type (figure,
example,
equation,
table, and procedure)
you can specify either the keyword
before
or
after
.
runinhead.default.title.end.punct
string
runinhead.default.title.end.punct
Default punctuation character on a run-in-head
<xsl:param name="runinhead.default.title.end.punct" select="'.'"></xsl:param>
Description
FIXME:
runinhead.title.end.punct
string
runinhead.title.end.punct
Characters that count as punctuation on a run-in-head
<xsl:param name="runinhead.title.end.punct" select="'.!?:'"></xsl:param>
Description
FIXME:
show.revisionflag
boolean
show.revisionflag
Enable decoration of elements that have a revisionflag
<xsl:param name="show.revisionflag">0</xsl:param>
Description
If show.revisionflag is turned on, then the stylesheets
may produce additional markup designed to allow a CSS stylesheet to
highlight elements that have specific revisionflag settings.
The markup inserted will be usually be either a <span> or <div>
with an appropriate class attribute. (The value of
the class attribute will be the same as the value of the revisionflag
attribute). In some contexts, for example tables, where extra markup
would be structurally illegal, the class attribute will be added to the
appropriate container element.
In general, the stylesheets only test for revisionflag in contexts
where an importing stylesheet would have to redefine whole templates.
Most of the revisionflag processing is expected to be done by another
stylesheet, for example changebars.xsl.
shade.verbatim
boolean
shade.verbatim
Should verbatim environments be shaded?
<xsl:param name="shade.verbatim" select="0"></xsl:param>
Description
FIXME:
shade.verbatim.style
shade.verbatim.style
Properties that specify the style of shaded verbatim listings
<xsl:attribute-set name="shade.verbatim.style">
<xsl:attribute name="border">0</xsl:attribute>
<xsl:attribute name="bgcolor">#E0E0E0</xsl:attribute>
</xsl:attribute-set>
Description
FIXME:
punct.honorific
string
punct.honorific
Punctuation after an honorific in a personal name.
<xsl:param name="punct.honorific" select="'.'"></xsl:param>
Description
This parameter specifies the punctuation that should be added after an
honorific in a personal name.
segmentedlist.as.table
boolean
segmentedlist.as.table
Format segmented lists as tables?
<xsl:param name="segmentedlist.as.table" select="0"></xsl:param>
Description
If non-zero, segmentedlists will be formatted as
tables.
variablelist.as.table
boolean
variablelist.as.table
Format variablelists as tables?
<xsl:param name="variablelist.as.table" select="0"></xsl:param>
Description
If non-zero, variablelists will be formatted as
tables.
This parameter only applys to the HTML transformations. In the
FO case, proper list markup is robust enough to handle the formatting.
But see also variablelist.as.blocks.
tex.math.in.alt
string
tex.math.in.alt
TeX notation used for equations
<xsl:param name="tex.math.in.alt" select="''"></xsl:param>
Description
If you want type math directly in TeX notation in equations,
this parameter specifies notation used. Currently are supported two
values -- plain and latex. Empty
value means that you are not using TeX math at all.
Preferred way for including TeX alternative of math is inside of
textobject element. Eg.:
<inlineequation>
<inlinemediaobject>
<imageobject>
<imagedata fileref="eq1.gif"/>
</imageobject>
<textobject><phrase>E=mc squared</phrase></textobject>
<textobject role="tex"><phrase>E=mc^2</phrase></textobject>
</inlinemediaobject>
</inlineequation>
If you are using graphic element, you can
store TeX inside alt element:
<inlineequation>
<alt role="tex">a^2+b^2=c^2</alt>
<graphic fileref="a2b2c2.gif"/>
</inlineequation>
If you want use this feature, you should process your FO with
PassiveTeX, which only supports TeX math notation. When calling
stylsheet, don't forget to specify also
passivetex.extensions=1.
If you want equations in HTML, just process generated file
tex-math-equations.tex by TeX or LaTeX. Then run
dvi2bitmap program on result DVI file. You will get images for
equations in your document.
tex.math.file
string
tex.math.file
Name of temporary file for generating images from equations
<xsl:param name="tex.math.file" select="'tex-math-equations.tex'"></xsl:param>
Description
Name of auxiliary file for TeX equations. This file can be
processed by dvi2bitmap to get bitmap versions of equations for HTML
output.
tex.math.delims
boolean
tex.math.delims
Should be equations outputed for processing by TeX
automatically surrounded by math mode delimiters
<xsl:param name="tex.math.delims" select="'1'"></xsl:param>
Description
For compatibility with DSSSL based DBTeXMath from Allin Cottrell
you should set this parameter to 0.
pixels.per.inch
integer
pixels.per.inch
How many pixels are there per inch?
<xsl:param name="pixels.per.inch" select="90"></xsl:param>
Description
When lengths are converted to pixels, this value is used to
determine the size of a pixel. The default value is taken from the
XSL
Recommendation.
points.per.em
number
points.per.em
Specify the nominal size of an em-space in points
<xsl:param name="points.per.em" select="10"></xsl:param>
Description
FIXME:
use.svg
boolean
use.svg
Allow SVG in the result tree?
<xsl:param name="use.svg" select="1"></xsl:param>
Description
If non-zero, SVG will be considered an acceptable image format. SVG
is passed through to the result tree, so correct rendering of the resulting
diagram depends on the formatter (FO processor or web browser) that is used
to process the output from the stylesheet.
use.role.as.xrefstyle
boolean
use.role.as.xrefstyle
Use role attribute for
xrefstyle on xref?
<xsl:param name="use.role.as.xrefstyle" select="1"></xsl:param>
Description
If non-zero, the role attribute on
xref will be used to select the cross reference style.
The DocBook
Technical Committee recently added an
xrefstyle attribute for this purpose.
If the xrefstyle attribute
is present, role will be ignored, regardless
of this setting.
Until an official DocBook release that includes the new
attribute, this flag allows role
to serve that purpose.
Example
The following small stylesheet shows how to configure the stylesheets to make
use of the cross reference style:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:import href="../xsl/html/docbook.xsl"/>
<xsl:output method="html"/>
<xsl:param name="local.l10n.xml" select="document('')"/>
<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en">
<l:context name="xref">
<l:template name="chapter" style="title" text="Chapter %n, %t"/>
<l:template name="chapter" text="Chapter %n"/>
</l:context>
</l:l10n>
</l:i18n>
</xsl:stylesheet>
With this stylesheet, the cross references in the following document:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book id="book"><title>Book</title>
<preface>
<title>Preface</title>
<para>Normal: <xref linkend="ch1"/>.</para>
<para>Title: <xref xrefstyle="title" linkend="ch1"/>.</para>
</preface>
<chapter id="ch1">
<title>First Chapter</title>
<para>Irrelevant.</para>
</chapter>
</book>
will appear as:
Normal: Chapter 1.
Title: Chapter 1, First Chapter.
default.float.class
string
default.float.class
Specifies the default float class
<xsl:param name="default.float.class" select="'before'"></xsl:param>
Description
FIXME:
xref.with.number.and.title
boolean
xref.with.number.and.ti