The XSLT import extension points are used to override various
steps of XSLT processing. For this, the extension attribute
indicates the step that the override applies to; the file attribute
is a relative path to the override within the current plugin. The plugin
installer will add an XSL import statement to the default code so
that your override becomes a part of the normal build.
The following XSLT steps are available to override
in the core toolkit:
- dita.xsl.xhtml
- Overrides default (X)HTML output (including HTML Help and Eclipse
Help). The referenced file is integrated directly into the XSLT step
that generates XHTML.
- dita.xsl.xslfo
- Overrides default PDF output (formerly known as PDF2). The referenced
file is integrated directly into the XSLT step that generates XSL-FO
for PDF.
- dita.xsl.docbook
- Overrides default DocBook output.
- dita.xsl.rtf
- Overrides default RTF output.
- dita.xsl.eclipse.plugin
- Overrides the step that generates plugin.xml for Eclipse.
- dita.xsl.conref
- Overrides the preprocess step that resolves conref.
- dita.xsl.topicpull
- Overrides the preprocess step "topicpull" (the step that pulls
text into <xref> elements, among other things).
- dita.xsl.mapref
- Overrides the preprocess step "mapref" (the step that resolves
references to other maps).
- dita.xsl.mappull
- Overrides the preprocess step "mappull" (the step that updates
navtitles in maps and causes attributes to cascade).
- dita.xsl.maplink
- Overrides the preprocess step "maplink" (the step that generates
map-based links).
- dita.xsl.fo
- Override the (now deprecated) original PDF output, which is still
available with the transform type "legacypdf".
Example
The following two files represent
a complete, simple style plug-in. The plugin.xml file
declares an XSLT file that extends XHTML processing; the XSLT file
overrides default header processing to provide a (theoretical) banner.
plugin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.example.brandheader">
<feature extension="dita.xsl.xhtml" file="xsl/header.xsl"/>
</plugin>
xsl/header.xsl:
<?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>