Skip to content

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.

  • dita.xsl.maplink

    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.

<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.example.brandheader">
  <feature extension="dita.xsl.xhtml" file="xsl/header.xsl"/>
</plugin>
<?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>