$Id$ Walsh Norman 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):