47 lines
No EOL
6.5 KiB
HTML
47 lines
No EOL
6.5 KiB
HTML
<!DOCTYPE html
|
|
SYSTEM "about:legacy-compat">
|
|
<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 2020"><meta name="generator" content="DITA-OT"><meta name="description" content="To dynamically adjust the names and locations of output files in the map-first pre-processing routine (preprocess2), you can create a custom plug-in and specify the code that contains your custom rewrite rules."><meta name="keywords" content=", result.rewrite-rule.xsl, result.rewrite-rule.class, rewriting file names"><link rel="stylesheet" type="text/css" href="../css/commonltr.css"><link rel="stylesheet" type="text/css" href="../css/dita-ot-doc.css"><title>Adjusting file names in map-first pre-processing</title></head><body id="ID"><header role="banner"><div class="header">
|
|
<p>DITA Open Toolkit</p>
|
|
<hr>
|
|
</div></header><nav role="toc"><ul><li><a href="../index.html">DITA Open Toolkit 3.6</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/building-output.html">Building output</a></li><li><a href="../topics/input-formats.html">Authoring formats</a></li><li><a href="../topics/output-formats.html">Output formats</a></li><li><a href="../parameters/index.html">Parameters</a></li><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/adding-plugins.html">Adding plug-ins</a></li><li><a href="../topics/custom-plugins.html">Creating plug-ins</a><ul><li><a href="../topics/plugin-benefits.html">Plug-in benefits</a></li><li><a href="../topics/plugin-configfile.html">Plug-in descriptor file</a></li><li><a href="../topics/plugin-coding-conventions.html">Coding conventions</a></li><li><a href="../topics/plugin-dependencies.html">Plug-in dependencies</a></li><li><a href="../topics/plugin-use-cases.html">Plug-in use cases</a><ul><li><a href="../topics/plugin-set-parameters.html">Setting parameters</a></li><li><a href="../topics/plugin-anttarget.html">Adding a new Ant target</a></li><li><a href="../topics/plugin-antpreprocess.html">Adding a pre-processing step</a></li><li><a href="../topics/plugin-newtranstype.html">Adding a new output format</a></li><li><a href="../topics/plugin-xsltparams.html">Adding new parameters</a></li><li><a href="../topics/plugin-overridestyle.html">Overriding XSLT steps</a></li><li><a href="../topics/plugin-javalib.html">Adding a Java library</a></li><li><a href="../topics/plugin-messages.html">Adding new messages</a></li><li><a href="../topics/plugin-newextensions.html">New extension points</a></li><li><a href="../topics/plugin-xmlcatalog.html">Extending an XML catalog file</a></li><li class="active"><a href="../topics/plugin-rewrite-rules.html">Rewriting file names</a></li><li><a href="../topics/implement-saxon-customizations.html">Saxon customizations</a></li></ul></li><li><a href="../topics/html-customization-plugins.html">Custom HTML plug-ins</a></li><li><a href="../topics/pdf-customization-plugins.html">Custom PDF plug-ins</a></li><li><a href="../topics/globalization.html">Globalizing DITA content</a></li><li><a href="../topics/migration.html">Migrating customizations</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">
|
|
<h1 class="title topictitle1" id="ariaid-title1">Adjusting file names in map-first pre-processing</h1>
|
|
|
|
|
|
|
|
<div class="body conbody"><p class="shortdesc">To dynamically adjust the names and locations of output files in the map-first pre-processing routine
|
|
(<code class="ph codeph">preprocess2</code>), you can create a custom plug-in and specify the code that contains your custom
|
|
rewrite rules.</p>
|
|
<p class="p">For example, set the <span class="keyword parmname">result.rewrite-rule.xsl</span> parameter to specify a bundled XSLT stylesheet
|
|
that contains your custom rewrite rules.</p>
|
|
<div class="p">
|
|
<pre class="pre codeblock language-xml normalize-space show-line-numbers show-whitespace"><code><?xml version='1.0' encoding='UTF-8'?>
|
|
<project name="com.example.rewrite.pdf">
|
|
<target name="dita2rewrite.pdf.init">
|
|
<property name="customization.dir"
|
|
location="${dita.plugin.com.example.rewrite.pdf.dir}/cfg"/>
|
|
<strong class="ph b"><property name="result.rewrite-rule.xsl"
|
|
value="${dita.plugin.com.example.rewrite.pdf.dir}/custom-rules.xsl"/></strong>
|
|
</target>
|
|
<target name="dita2rewrite.pdf"
|
|
depends="dita2rewrite.pdf.init, dita2production.pdf, dita2pdf2"/>
|
|
</project></code></pre>
|
|
</div>
|
|
<p class="p">Your plug-in would also include a <span class="ph filepath">custom-rules.xsl</span> file, which might contain templates like
|
|
this to move all image files to an <span class="ph filepath">images</span> subdirectory:</p>
|
|
<div class="p">
|
|
<pre class="pre codeblock language-xml normalize-space show-line-numbers show-whitespace"><code><xsl:template match="node() | @*">
|
|
<xsl:copy>
|
|
<xsl:apply-template select="node() | @*"/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="file[@format = 'image']/@result">
|
|
<xsl:attribute name="{local-name()}" select="concat('images/', .)"/>
|
|
</xsl:template></code></pre>
|
|
</div>
|
|
<div class="note note note_note"><span class="note__title">Note:</span> If your rewrite rules are contained in a Java class, you can set the
|
|
<span class="keyword parmname">result.rewrite-rule.class</span> parameter instead, and pass the name of your Java class in the
|
|
<code class="keyword markupname xmlatt">@value attribute.</code> The custom class should implement the
|
|
<code class="ph codeph">org.dita.dost.module.RewriteRule</code> interface.</div>
|
|
</div>
|
|
<nav role="navigation" class="related-links"><div class="familylinks"><div class="parentlink"><strong>Parent topic:</strong> <a class="link" href="../topics/plugin-use-cases.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 use cases</a></div></div></nav></article></main></body></html> |