XSLT-import extension points

You can use these extension points to override XSLT processing steps in pre-processing and certain transformation types. The value of the @file attribute in the <feature> element specifies a relative path to an XSL file in the current plug-in. The plug-in installer adds a XSL import statement to the default DITA-OT code, so that the XSL override becomes part of the normal build.

Pre-processing

You can use the following extension points to add XSLT processing to modules in the pre-processing pipeline:

dita.xsl.conref
Overrides the pre-processing step that resolves conref.
Overrides the maplink step in the pre-processing pipeline. This is the step that generates map-based links.
dita.xsl.mappull
Overrides the mappull step in the pre-processing pipeline. This is the step that updates navigation titles in maps and causes attributes to cascade.
dita.xsl.mapref
Overrides the mapref step in the pre-processing pipeline. This is the step that resolves references to other maps.
dita.xsl.topicpull
Overrides the topicpull step in the pre-processing pipeline. This is the step that pulls text into <xref> elements, as well as performing other tasks.

Transformations

You can use the following extension points to add XSLT processing to modules in DITA-OT transformations:

dita.map.eclipse.index.pre
Runs an Ant target before the Eclipse index extraction process.
dita.xsl.eclipse.plugin
Overrides the default XSLT step that generates the plugin.xml file for Eclipse Help.
dita.xsl.eclipse.toc
Overrides the default XSLT step that generates the Eclipse Help table of contents (TOC).
dita.xsl.html.cover
Overrides the default HTML cover page generation process.
dita.xsl.htmltoc
Overrides the default XSLT step that generates the HTML table of contents (TOC).
dita.xsl.html5
Overrides the default HTML5 transformation. The referenced file is integrated directly into the XSLT step that generates HTML5.
dita.xsl.html5.cover
Overrides the default HTML5 cover page generation process.
dita.xsl.html5.toc
Overrides the default XSLT step that generates the HTML5 table of contents (TOC).
dita.xsl.htmlhelp.map2hhc
Overrides the default XSLT step that generates the HTML Help contents (.hhc) file.
dita.xsl.htmlhelp.map2hhp
Overrides the default XSLT step that generates the HTML Help project (.hhp) file.
dita.xsl.xhtml
Overrides the default HTML or XHTML transformation, including HTML Help and Eclipse Help. The referenced file is integrated directly into the XSLT step that generates XHTML.
dita.xsl.xslfo
Overrides the default PDF transformation. The referenced XSL file is integrated directly into the XSLT step that generates the XSL-FO.

Example

The following two files represent a complete (albeit simple) plug-in that adds a company banner to the XHTML output. The plugin.xml file declares an XSLT file that extends the XHTML processing; the xsl/header.xsl file overrides the default header processing to provide a company banner.

Figure 1. Contents of the plugin.xml file
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.example.brandheader">
  <feature extension="dita.xsl.xhtml" file="xsl/header.xsl"/>
</plugin>
Figure 2. Contents of the xsl/header.xsl file
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template name="gen-user-header">
    <div>
      <img src="http://www.example.com/company_banner.jpg" 
           alt="Example Company Banner"/>
    </div>
  </xsl:template>
</xsl:stylesheet>