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.