Description: 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.

# 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 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.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.maplink.param`
  Pass parameters to maplink XSLT
`dita.preprocess.topicpull.param`
  Pass parameters to topicpull XSLT

## Example

The following plug-in will pass the parameters defined inside of insertParameter.xml 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>

Parent topic: Creating DITA-OT plug-ins