plugin-extension-points-xslt-import.html 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <!DOCTYPE html
  2. SYSTEM "about:legacy-compat">
  3. <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="UTF-8"><meta name="copyright" content="(C) Copyright 2016"><meta name="DC.rights.owner" content="(C) Copyright 2016"><meta name="DC.Type" content="reference"><meta name="description" content="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."><meta name="DC.Relation" scheme="URI" content="../dev_ref/plugin-extension-points.html"><meta name="DC.Format" content="XHTML"><meta name="DC.Identifier" content="plugin-extension-points-xslt-import"><link rel="stylesheet" type="text/css" href="../css/commonltr.css"><link rel="stylesheet" type="text/css" href="../css/dita-ot-doc.css"><title>XSLT-import extension points</title></head><body id="plugin-extension-points-xslt-import"><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 2.3</a></li><li><a href="../release-notes/index.html">Release Notes</a></li><li><a href="../getting-started/index.html">Getting Started</a></li><li><a href="../user-guide/index.html">User Guide</a></li><li><a href="../parameters/index.html">Parameter Reference</a></li><li><a href="../dev_ref/index.html">Developer Reference</a><ul><li><a href="../dev_ref/DITA-OTArchitecture.html">DITA-OT Architecture</a></li><li><a href="../dev_ref/extending-the-ot.html">Extending the DITA-OT</a></li><li><a href="../dev_ref/plugin-creating.html">Creating plug-ins</a></li><li><a href="../dev_ref/plugin-extension-points.html">Extension points</a><ul><li><a href="../dev_ref/plugin-extension-points-general.html">General extension points</a></li><li><a href="../dev_ref/plugin-extension-points-pre-processing.html">Pre-processing extension points</a></li><li class="active"><a href="../dev_ref/plugin-extension-points-xslt-import.html">XSLT-import extension points</a></li><li><a href="../dev_ref/plugin-extension-points-xslt-parameters.html">XSLT-parameter extension points</a></li><li><a href="../dev_ref/plugin-extension-points-support.html">Version and support information</a></li><li><a href="../extension-points/all-extension-points.html">All extension points</a></li></ul></li><li><a href="../dev_ref/pdf-customization.html">Customizing PDF output</a></li><li><a href="../dev_ref/migration.html">Migrating customizations</a></li></ul></li><li><a href="../user-guide/dita-and-dita-ot-resources.html">DITA Resources</a></li></ul></nav><main role="main"><article role="article" aria-labelledby="ariaid-title1">
  7. <h1 class="title topictitle1" id="ariaid-title1">XSLT-import extension points</h1>
  8. <div class="body refbody"><p class="shortdesc">You can use these extension points to override XSLT processing steps in pre-processing and certain
  9. transformation types. The value of the <code class="keyword markupname xmlatt">@file</code> attribute in the <code class="keyword markupname xmlelement">&lt;feature&gt;</code>
  10. element specifies a relative path to an XSL file in the current plug-in. The plug-in installer adds a XSL import
  11. statement to the default DITA-OT code, so that the XSL override becomes part of the normal build.</p>
  12. <section class="section"><h2 class="title sectiontitle">Pre-processing</h2>
  13. <p class="p">You can use the following extension points to add XSLT processing to modules in the pre-processing
  14. pipeline:</p>
  15. <dl class="dl">
  16. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.conref</span></dt>
  17. <dd class="dd">Overrides the pre-processing step that resolves conref.</dd>
  18. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.maplink</span></dt>
  19. <dd class="dd">Overrides the <code class="ph codeph">maplink</code> step in the pre-processing pipeline. This is the step that
  20. generates map-based links.</dd>
  21. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.mappull</span></dt>
  22. <dd class="dd">Overrides the <code class="ph codeph">mappull</code> step in the pre-processing pipeline. This is the step that updates
  23. navigation titles in maps and causes attributes to cascade.</dd>
  24. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.mapref</span></dt>
  25. <dd class="dd">Overrides the <code class="ph codeph">mapref</code> step in the pre-processing pipeline. This is the step that resolves
  26. references to other maps.</dd>
  27. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.topicpull</span></dt>
  28. <dd class="dd">Overrides the <code class="ph codeph">topicpull</code> step in the pre-processing pipeline. This is the step that pulls
  29. text into <code class="keyword markupname xmlelement">&lt;xref&gt;</code> elements, as well as performing other tasks.</dd>
  30. </dl>
  31. </section>
  32. <section class="section"><h2 class="title sectiontitle">Transformations</h2>
  33. <p class="p">You can use the following extension points to add XSLT processing to modules in DITA-OT transformations:</p>
  34. <dl class="dl">
  35. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.docbook</span></dt>
  36. <dd class="dd">Overrides the default DocBook transformation.</dd>
  37. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.eclipse.plugin</span></dt>
  38. <dd class="dd">Overrides the step that generates the <span class="ph filepath">plugin.xml</span> file for Eclipse Help.</dd>
  39. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.rtf</span></dt>
  40. <dd class="dd">Overrides the default rich-text format (RTF) transformation.</dd>
  41. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.troff-ast</span></dt>
  42. <dd class="dd">Overrides the intermediate block-and-phrase format that is generated as input to troff processing.</dd>
  43. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.troff</span></dt>
  44. <dd class="dd">Overrides the XSL that converts block-and-phrase intermediate markup into troff. </dd>
  45. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.xhtml</span></dt>
  46. <dd class="dd">Overrides the default HTML or XHTML transformation, including HTML Help and Eclipse Help. The referenced
  47. file is integrated directly into the XSLT step that generates XHTML.</dd>
  48. <dt class="dt dlterm"><span class="keyword parmname">dita.xsl.xslfo</span></dt>
  49. <dd class="dd">Overrides the default PDF transformation (formerly known as PDF2). The referenced XSL file is integrated
  50. directly into the XSLT step that generates the XSL-FO.</dd>
  51. </dl>
  52. </section>
  53. <div class="example"><h2 class="title sectiontitle">Example</h2>
  54. <p class="p">The following two files represent a complete (albeit simple) plug-in that adds a company
  55. banner to the XHTML output. The <span class="ph filepath">plugin.xml</span> file declares an XSLT file
  56. that extends the XHTML processing; the <span class="ph filepath">xsl/header.xsl</span> file overrides
  57. the default header processing to provide a company banner.</p>
  58. <figure class="fig fignone"><figcaption><span class="fig--title-label">Figure 1. </span>Contents of the <span class="ph filepath">plugin.xml</span> file</figcaption>
  59. <pre class="pre codeblock"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  60. &lt;plugin id="com.example.brandheader"&gt;
  61. &lt;feature extension="dita.xsl.xhtml" file="xsl/header.xsl"/&gt;
  62. &lt;/plugin&gt;</code></pre>
  63. </figure>
  64. <figure class="fig fignone"><figcaption><span class="fig--title-label">Figure 2. </span>Contents of the <span class="ph filepath">xsl/header.xsl</span> file</figcaption>
  65. <pre class="pre codeblock"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  66. &lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
  67. &lt;xsl:template name="gen-user-header"&gt;
  68. &lt;div&gt;
  69. &lt;img src="http://www.example.com/company_banner.jpg" alt="Example Company Banner"/&gt;
  70. &lt;/div&gt;
  71. &lt;/xsl:template&gt;
  72. &lt;/xsl:stylesheet&gt;</code></pre>
  73. </figure>
  74. </div>
  75. </div>
  76. <nav role="navigation" class="related-links"><div class="familylinks"><div class="parentlink"><strong>Parent topic:</strong> <a class="link" href="../dev_ref/plugin-extension-points.html" title="The DITA Open Toolkit provides a series of extension points that can be used to integrate changes into the core code. Extension points are defined in the plugin.xml file for each plug-in. When plug-ins are installed, the DITA-OT makes each extension visible to the rest of the toolkit.">Extension points</a></div></div></nav></article></main></body></html>