Ramon
Casellas
19992000
Norman Walsh
Common Template Reference
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 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 :-)
Tests if a given node is a component-level element
This template returns '1' if the specified node is a component
(Chapter, Appendix, etc.), and '0' otherwise.
node
The node which is to be tested.
This template returns '1' if the specified node is a component
(Chapter, Appendix, etc.), and '0' otherwise.
1
0
Tests if a given node is a section-level element
This template returns '1' if the specified node is a section
(Section, Sect1, Sect2, etc.), and '0' otherwise.
node
The node which is to be tested.
This template returns '1' if the specified node is a section
(Section, Sect1, Sect2, etc.), and '0' otherwise.
1
0
Returns the hierarchical level of a section.
This template calculates the hierarchical level of a section.
Hierarchically, components are top level
, so a
sect1 is at level 2, sect3 is
at level 3, etc.
Recursive sections are calculated down to the sixth level.
node
The section node for which the level should be calculated.
Defaults to the context node.
The section level, 2
, 3
, etc.
2
3
4
5
6
6
5
4
3
2
3
4
5
6
6
6
5
4
3
2
2
Returns the hierarchical level of a QandASet.
This template calculates the hierarchical level of a QandASet.
The level, 1
, 2
, etc.
1
.
,
,
and
[
]
{
}
[
]
...
|
4pi
Provides access to element labels
Processing an element in the
label.content mode produces the
element label.
If the label is non-null, either because the
label attribute was present on the
element or the stylesheet automatically generated a label, trailing
punctuation is automatically added.
Request for label of unexpected element:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
label.content: this can't happen!
.
.
.
.
.
.
.
.
Returns true if $section should be labelled
Returns true if the specified section should be labelled.
By default, this template simply returns $section.autolabel, but
custom stylesheets may override it to get more selective behavior.
Provides access to element titles
Processing an element in the
title.content mode produces the
title of the element. This does not include the label. If
text-only is true, the text of the title
is returned, without inline markup, otherwise inline markup is processed
(in the default mode). By default, text-only
is false.
Request for title of unexpected element:
???TITLE???
REFENTRY WITHOUT TITLE???
Provides access to element subtitles
Processing an element in the
subtitle.content mode produces the
subtitle of the element. If
text-only is true, the text of the title
is returned, without inline markup, otherwise inline markup is processed
(in the default mode). By default, text-only
is false.
Request for subtitle of unexpected element:
???SUBTITLE???
Provides reference text for an element
Processing an element in the
title.ref mode produces the
label and title of the element.
text-only
If
text-only is true, the text of the title
is returned, without inline markup, otherwise inline markup is processed
(in the default mode). By default, text-only
is false.
label-wrapper
If label-wrapper is not the emtpy string,
it must be the name of an element. The element so named will be wrapped
around labels on output.
title-wrapper
If title.wrapper is not the emtpy string,
it must be the name of an element. The element so named will be wrapped
around titles on output.
label-wrapper-class
If a label-wrapper is provided and
label-wrapper-class is not the emtpy string,
it be used as the value for a class
attribute on the label-wrapper element.
This is a dirty hack because it only makes sense for the HTML
stylesheet (there's no class attribute
on the FO elements). What I'd really like to do is pass an attribute
set as a parameter, but I can't.
title-wrapper-class
If a title-wrapper is provided and
title-wrapper-class is not the emtpy string,
it be used as the value for a class
attribute on the title-wrapper element.
This is a dirty hack because it only makes sense for the HTML
stylesheet (there's no class attribute
on the FO elements). What I'd really like to do is pass an attribute
set as a parameter, but I can't.
%g
%t
%n
Selects an appropriate media object from a list
This template examines a list of media objects (usually the
children of a mediaobject or inlinemediaobject) and processes
the "right" object.
This template relies on a template named "is.acceptable.mediaobject"
to determine if a given object is an acceptable graphic. The semantics
of media objects is that the first acceptable graphic should be used.
If no acceptable object is located, nothing happens.
olist
The node list of potential objects to examine.
Calls <xsl:apply-templates> on the selected object.
1
0
1
1
Returns '1' if the specified media object is recognized.
This template examines a media object and returns '1' if the
object is recognized as a graphic.
object
The media object to consider.
0 or 1
1
1
0
1
1
.
.
Warn users about references to non-unique IDs
If passed an ID in linkend,
check.id.unique prints
a warning message to the user if either the ID does not exist or
the ID is not unique.
Error: no ID for constraint linkend:
.
Warning: multiple "IDs" for constraint linkend:
.
Warn users about incorrectly typed references
If passed an ID in linkend,
check.idref.targets makes sure that the element
pointed to by the link is one of the elements listed in
element-list and warns the user otherwise.
Error: linkend (
) points to "
" not (one of):