Common Template Reference
Norman Walsh
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 :-)
is.component
Name
is.component — Tests if a given node is a component-level element
Synopsis
<xsl:template name="is.component">
<xsl:param name="node" select="."/>
...
</xsl:template>
This template returns '1' if the specified node is a component
(Chapter, Appendix, etc.), and '0' otherwise.
Parameters
- node
-
The node which is to be tested.
Returns
This template returns '1' if the specified node is a component
(Chapter, Appendix, etc.), and '0' otherwise.
is.section
Name
is.section — Tests if a given node is a section-level element
Synopsis
<xsl:template name="is.section">
<xsl:param name="node" select="."/>
...
</xsl:template>
This template returns '1' if the specified node is a section
(Section, Sect1, Sect2, etc.), and '0' otherwise.
Parameters
- node
-
The node which is to be tested.
Returns
This template returns '1' if the specified node is a section
(Section, Sect1, Sect2, etc.), and '0' otherwise.
section.level
Name
section.level — Returns the hierarchical level of a section.
Synopsis
<xsl:template name="section.level">
<xsl:param name="node" select="."/>
...
</xsl:template>
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.
Parameters
- node
-
The section node for which the level should be calculated.
Defaults to the context node.
Returns
The section level, “2”, “3”, etc.
qanda.section.level
Name
qanda.section.level — Returns the hierarchical level of a QandASet.
Synopsis
<xsl:template name="qanda.section.level"/>
This template calculates the hierarchical level of a QandASet.
Returns
The level, “1”, “2”, etc.
select.mediaobject
Name
select.mediaobject — Selects an appropriate media object from a list
Synopsis
<xsl:template name="select.mediaobject">
<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/>
<xsl:param name="count">1</xsl:param>
...
</xsl:template>
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.
Parameters
- olist
-
The node list of potential objects to examine.
Returns
Calls <xsl:apply-templates> on the selected object.
is.acceptable.mediaobject
Name
is.acceptable.mediaobject — Returns '1' if the specified media object is recognized.
Synopsis
<xsl:template name="is.acceptable.mediaobject">
<xsl:param name="object"/>
...
</xsl:template>
This template examines a media object and returns '1' if the
object is recognized as a graphic.
Parameters
- object
-
The media object to consider.
check.id.unique
Name
check.id.unique — Warn users about references to non-unique IDs
Synopsis
<xsl:template name="check.id.unique">
<xsl:param name="linkend"/>
...
</xsl:template>
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.
check.idref.targets
Name
check.idref.targets — Warn users about incorrectly typed references
Synopsis
<xsl:template name="check.idref.targets">
<xsl:param name="linkend"/>
<xsl:param name="element-list"/>
...
</xsl:template>
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.