plugin-xsltparams.html 9.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <!DOCTYPE html
  2. SYSTEM "about:legacy-compat">
  3. <html lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C) Copyright 2019"><meta name="DC.rights.owner" content="(C) Copyright 2019"><meta name="DC.type" content="task"><meta name="description" content="You can pass parameters from the Ant build to existing XSLT steps in both the pre-processing pipeline and certain DITA-OT transformations. This can be useful if you want to make the parameters available as global xsl:param values within XSLT overrides."><meta name="DC.subject" content=", xsl:param, param, dummy, plug-ins, parameters, adding, XSLT"><meta name="keywords" content=", xsl:param, param, dummy, plug-ins, parameters, adding, XSLT"><meta name="DC.relation" scheme="URI" content="../topics/plugin-applications.html"><meta name="DC.relation" scheme="URI" content="../extension-points/plugin-extension-points-xslt-parameters.html"><meta name="DC.relation" scheme="URI" content="../topics/plugins-installing.html"><meta name="DC.format" content="HTML5"><meta name="DC.identifier" content="plugin-xsltparams"><meta name="DC.language" content="en-US"><link rel="stylesheet" type="text/css" href="../css/commonltr.css"><link rel="stylesheet" type="text/css" href="../css/dita-ot-doc.css"><title>Adding parameters to existing XSLT steps</title></head><body id="plugin-xsltparams"><header role="banner"><div class="header">
  4. <p>DITA Open Toolkit</p>
  5. <hr>
  6. </div></header><nav role="toc"><ul><li><a href="../index.html">DITA Open Toolkit 3.3</a></li><li><a href="../release-notes/index.html">Release Notes</a></li><li><a href="../topics/installing-client.html">Installing DITA-OT</a></li><li><a href="../topics/alternative-input-formats.html">Authoring formats</a></li><li><a href="../topics/building-output.html">Building output</a></li><li><a href="../parameters/index.html">Setting parameters</a></li><li><a href="../topics/customizing.html">Customizing DITA-OT</a><ul><li><a href="../topics/html-customization.html">Customizing HTML</a></li><li><a href="../topics/pdf-customization.html">Customizing PDF</a></li><li><a href="../topics/custom-plugins.html">Working with plug-ins</a><ul><li><a href="../topics/plugins-installing.html">Installing plug-ins</a></li><li><a href="../topics/plugins-removing.html">Removing plug-ins</a></li><li><a href="../topics/plugins-registry.html">Plug-in registry</a></li><li><a href="../topics/plugin-configfile.html">Plug-in descriptor file</a></li><li><a href="../topics/plugin-dependencies.html">Plug-in dependencies</a></li><li><a href="../topics/plugin-applications.html">Plug-in applications</a><ul><li><a href="../topics/plugin-xmlcatalog.html">Extending an XML catalog file</a></li><li><a href="../topics/plugin-anttarget.html">Adding a new target to the Ant build process</a></li><li><a href="../topics/plugin-antpreprocess.html">Adding an Ant target to the pre-processing pipeline</a></li><li><a href="../topics/plugin-newtranstype.html">Adding a new transformation type</a></li><li><a href="../topics/plugin-overridestyle.html">Overriding an XSLT-processing step</a></li><li><a href="../topics/using-plugin-URI-extension.html">Referencing files from other plug-ins</a></li><li class="active"><a href="../topics/plugin-xsltparams.html">Adding parameters to existing XSLT steps</a></li><li><a href="../topics/plugin-javalib.html">Adding a Java library to the classpath</a></li><li><a href="../topics/plugin-messages.html">Adding new diagnostic messages</a></li><li><a href="../topics/plugin-newextensions.html">Creating a new plug-in extension point</a></li><li><a href="../topics/implement-saxon-customizations.html">Adding Saxon customizations</a></li></ul></li><li><a href="../topics/plugin-sample.html">Example plugin.xml file</a></li><li><a href="../topics/plugin-best-practices.html">Best practices</a></li><li><a href="../topics/plugin-coding-conventions.html">Coding conventions</a></li></ul></li><li><a href="../extension-points/plugin-extension-points.html">Extension points</a></li><li><a href="../topics/migration.html">Migrating customizations</a></li><li><a href="../topics/globalization.html">Globalizing DITA content</a></li><li><a href="../topics/rebuilding-docs.html">Rebuilding documentation</a></li></ul></li><li><a href="../topics/troubleshooting-overview.html">Troubleshooting</a></li><li><a href="../reference/index.html">Reference</a></li><li><a href="../topics/dita-and-dita-ot-resources.html">Resources</a></li></ul></nav><main role="main"><article role="article" aria-labelledby="ariaid-title1">
  7. <h1 class="title topictitle1" id="ariaid-title1">Adding parameters to existing XSLT steps</h1>
  8. <div class="body taskbody"><p class="shortdesc">You can pass parameters from the Ant build to existing XSLT steps in both the pre-processing pipeline and
  9. certain DITA-OT transformations. This can be useful if you want to make the parameters available as global
  10. <code class="keyword markupname xmlelement">&lt;xsl:param&gt;</code> values within XSLT overrides.</p>
  11. <section><div class="tasklabel"><h2 class="sectiontitle tasklabel">Procedure</h2></div><ol class="ol steps"><li class="li step stepexpand" id="plugin-xsltparams__create-xml-file">
  12. <span class="ph cmd">Create an XML file that contains one or more Ant <code class="keyword markupname xmlelement">&lt;param&gt;</code> elements nested within a
  13. <code class="keyword markupname xmlelement">&lt;dummy&gt;</code> wrapper element.</span>
  14. <div class="itemgroup stepxmp">
  15. <pre class="pre codeblock language-xml normalize-space show-line-numbers show-whitespace"><code>&lt;dummy&gt;
  16. <em class="ph i">&lt;!-- Any Ant code allowed in xslt task is possible. Example: --&gt;</em>
  17. &lt;param name="paramNameinXSLT" expression="${antProperty}"
  18. if="antProperty"/&gt;
  19. &lt;/dummy&gt;</code></pre>
  20. </div>
  21. </li><li class="li step stepexpand">
  22. <span class="ph cmd">Construct a <span class="ph filepath">plugin.xml</span> file that contains the following content:</span>
  23. <div class="itemgroup info"><pre class="pre codeblock language-xml normalize-space show-line-numbers show-whitespace"><code>&lt;plugin id="<var class="keyword varname">plugin-id</var>"&gt;
  24. &lt;feature extension="<var class="keyword varname">extension-point</var>" file="<var class="keyword varname">file</var>"/&gt;
  25. &lt;/plugin&gt;</code></pre>where:
  26. <ul class="ul">
  27. <li class="li"><var class="keyword varname">plugin-id</var> is the plug-in identifier, for example,
  28. <code class="ph codeph">com.example.newparam</code>.</li>
  29. <li class="li"><var class="keyword varname">extension-point</var> is the DITA-OT extension point, for example,<code class="ph codeph">
  30. dita.conductor.xhtml.param</code>. This indicates the DITA-OT processing step where the parameters
  31. will be available.</li>
  32. <li class="li"><var class="keyword varname">file</var> is the name of the XML file that you created in step
  33. <a class="xref" href="#plugin-xsltparams__create-xml-file">1</a>, for example, <span class="ph filepath">insertParameters.xml</span>.
  34. </li>
  35. </ul></div>
  36. </li><li class="li step stepexpand">
  37. <span class="ph cmd">Install the plug-in.</span>
  38. </li></ol></section>
  39. <section class="section result"><div class="tasklabel"><h2 class="sectiontitle tasklabel">Results</h2></div>The <span class="ph filepath">plugin.xml</span> file passes the parameters to the specified transformation or
  40. pre-processing module.</section>
  41. <section class="example"><h2 class="title sectiontitle">Example</h2>
  42. <p class="p">The following plug-in passes the parameters defined in the <span class="ph filepath">insertParameters.xml</span> file as
  43. input to the XHTML process. Generally, an additional XSLT override will make use of the parameters to do
  44. something new with the generated content.</p>
  45. <pre class="pre codeblock language-xml normalize-space show-line-numbers show-whitespace"><code>&lt;plugin id="com.example.newparam"&gt;
  46. &lt;feature extension="dita.conductor.xhtml.param"
  47. file="insertParameters.xml"/&gt;
  48. &lt;/plugin&gt;</code></pre>
  49. </section>
  50. </div>
  51. <nav role="navigation" class="related-links"><div class="familylinks"><div class="parentlink"><strong>Parent topic:</strong> <a class="link" href="../topics/plugin-applications.html" title="Plug-ins allow you to extend the functionality of DITA-OT. This might entail adding support for specialized document types, integrating processing overrides, or defining new output transformations.">Plug-in applications</a></div></div><div class="linklist relinfo reltasks"><strong>Related tasks</strong><br><ul class="linklist"><li class="linklist"><a class="link" href="../topics/plugins-installing.html" title="Use the dita command to install a plug-in.">Installing plug-ins</a></li></ul></div><div class="linklist relinfo relref"><strong>Related reference</strong><br><ul class="linklist"><li class="linklist"><a class="link" href="../extension-points/plugin-extension-points-xslt-parameters.html" title="You can use these extension points to pass parameters into existing XSLT steps in both the pre-processing pipeline and DITA-OT transformation. The parameters generally will be available as global xsl:param values with XSLT overrides.">XSLT-parameter extension points</a></li></ul></div></nav></article></main></body></html>