Passing parameters to existing XSLT steps
Plug-ins can define new parameters to be passed from the Ant build into existing XSLT pipeline stages, usually to have those parameters available as global <xsl:param>
values within XSLT overrides.
To create new parameters, create a file named insertParameters.xml, which contains one or more Ant <param>
elements. It also needs a <dummy>
wrapper element around the parameters. For example, the following parameter will be passed in to the XSLT file with a value of ${antProperty}
, but only if that parameter is defined:
<dummy>
<!-- Any Ant code allowed in xslt task is possible. Common example: -->
<param name="paramNameinXSLT" expression="${antProperty}" if="antProperty"/>
</dummy>
Pass the value using the following extensions:
dita.conductor.html.param
: Pass parameters to HTML and HTML Help XSLT
dita.conductor.xhtml.param
: Pass parameters to XHTML and Eclipse Help XSLT
dita.conductor.xhtml.toc.param
: Pass parameters to XHTML TOC XSLT
dita.conductor.eclipse.toc.param
: Pass parameters to Eclipse Help TOC XSLT
dita.preprocess.conref.param
: Pass parameters to conref XSLT
dita.preprocess.mapref.param
: Pass parameters to mapref XSLT
dita.preprocess.mappull.param
: Pass parameters to mappull XSLT
dita.preprocess.topicpull.param
: Pass parameters to topicpull XSLT
dita.conductor.pdf2.param
: Pass parameters to PDF2 XSLT
Example
The following plug-in will pass the parameters defined in the insertParameters.xml file as input to the XHTML process. Generally, an additional XSLT override will make use of the parameter to do something new with the generated content.
<plugin id="com.example.newparam">
<feature extension="dita.conductor.xhtml.param" file="insertParameters.xml"/>
</plugin>