code-srv-test/dita-ot-3.6/doc/reference/architecture.html
2021-03-23 22:38:58 +00:00

13 lines
No EOL
8.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="DITA Open Toolkit is an open-source implementation of the OASIS specification for the Darwin Information Typing Architecture. The toolkit uses Ant, XSLT, and Java to transform DITA content (maps and topics) into different deliverable formats."><meta name="keywords" content="authoring formats, DITA, OASIS, architecture, Ant, Java, XSLT, DITA-OT architecture"><link rel="stylesheet" type="text/css" href="../css/commonltr.css"><link rel="stylesheet" type="text/css" href="../css/dita-ot-doc.css"><title>DITA Open Toolkit Architecture</title></head><body id="ditaotarch"><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></li><li><a href="../topics/troubleshooting-overview.html">Troubleshooting</a></li><li><a href="../reference/index.html">Reference</a><ul><li class="active"><a href="../reference/architecture.html">DITA-OT architecture</a><ul><li><a href="../reference/processing-structure.html">Processing structure</a></li><li><a href="../reference/map-first-preprocessing.html">Map-first preprocessing</a></li><li><a href="../reference/processing-pipeline-modules.html">Processing modules</a></li><li><a href="../reference/processing-order.html">Processing order</a></li><li><a href="../reference/store-api.html">Store API</a></li><li><a href="../reference/preprocessing.html">Pre-processing modules</a></li><li><a href="../reference/html-based-processing.html">HTML-based processing modules</a></li><li><a href="../reference/pdf-transform.html">PDF processing modules</a></li></ul></li><li><a href="../reference/dita-spec-support.html">DITA specification support</a></li><li><a href="../extension-points/plugin-extension-points.html">Extension points</a></li><li><a href="../reference/license.html">License</a></li><li><a href="../reference/glossary.html#glossary">Glossary</a></li></ul></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">DITA Open Toolkit Architecture</h1>
<p class="shortdesc">DITA Open Toolkit is an open-source implementation of the OASIS specification for the Darwin Information
Typing Architecture. The toolkit uses Ant, XSLT, and Java to transform DITA content (maps and topics) into different
deliverable formats.</p>
<nav role="navigation" class="related-links"><ul class="ullinks"><li class="link ulchildlink"><strong><a href="../reference/processing-structure.html">Processing structure</a></strong><br>DITA-OT implements a multi-stage, map-driven architecture to process DITA content. Each stage in the process examines some or all of the content; some stages result in temporary files that are used by later steps, while others stages result in updated copies of the DITA content. Most of the processing takes place in a temporary working directory; the source files themselves are never modified.</li><li class="link ulchildlink"><strong><a href="../reference/map-first-preprocessing.html">Map-first preprocessing</a></strong><br><span class="ph">DITA-OT 3.0 provides a map-first preprocessing option as an alternative to the default <code class="ph codeph">preprocess</code> operation. The method, which was introduced in DITA-OT 2.5 as an experimental feature, has been improved and is ready for use in many production scenarios. Map-first-preprocessing provides the same functionality as the default <code class="ph codeph">preprocess</code>, but takes a different approach.</span></li><li class="link ulchildlink"><strong><a href="../reference/processing-pipeline-modules.html">Processing modules</a></strong><br>The DITA-OT processing pipeline is implemented using Ant. Individual modules within the Ant script are implemented in either Java or XSLT, depending on such factors as performance or requirements for customization. Virtually all Ant and XSLT modules can be extended by adding a plug-in to the toolkit; new Ant targets may be inserted before or after common processing, and new rules may be imported into common XSLT modules to override default processing.</li><li class="link ulchildlink"><strong><a href="../reference/processing-order.html">Processing order</a></strong><br>The order of processing is often significant when evaluating DITA content. Although the DITA specification does not mandate a specific order for processing, DITA-OT has determined that performing filtering before conref resolution best meets user expectations. Switching the order of processing, while legal, may give different results.</li><li class="link ulchildlink"><strong><a href="../reference/store-api.html">Store API Processing in memory</a></strong><br>DITA-OT originally assumed resources would be available on disk and available from file paths. Recent versions added URI input, so HTTPS resources could be used, but temporary and output resources were still file-based. DITA-OT 3.6 introduces a new Store API that can process temporary resources in memory instead of writing them to disk.</li><li class="link ulchildlink"><strong><a href="../reference/preprocessing.html">Pre-processing modules</a></strong><br>The pre-processing operation is a set of steps that typically runs at the beginning of every DITA-OT transformation. Each step or stage corresponds to an Ant target in the build pipeline; the <code class="ph codeph">preprocess</code> target calls the entire set of steps.</li><li class="link ulchildlink"><strong><a href="../reference/html-based-processing.html">HTML-based processing modules</a></strong><br>DITA-OT ships with several varieties of HTML output, each of which follows roughly the same path through the processing pipeline. All HTML-based transformations begin with the same call to the pre-processing module, after which they generate HTML files and then branch to create the transformation-specific navigation files.</li><li class="link ulchildlink"><strong><a href="../reference/pdf-transform.html">PDF processing modules</a></strong><br>The <span class="keyword option">PDF</span> (formerly known as <span class="keyword option">PDF2</span>) transformation process runs the pre-processing routine and follows it by a series of additional targets. These steps work together to create a merged set of content, convert the merged content to XSL-FO, and then format the XSL-FO file to PDF.</li></ul><div class="familylinks"><div class="parentlink"><strong>Parent topic:</strong> <a class="link" href="../reference/index.html" title="The Reference topics provide more advanced information about the DITA-OT architecture, OASIS specification support, and licensing.">Reference</a></div></div><div class="linklist relinfo"><strong>Related information</strong><br><ul class="linklist"><li class="linklist"><a class="link" href="https://www.oxygenxml.com/events/2014/dita-ot_day.html#Looking_under_the_hood_of_the_DITA_Open_Toolkit" target="_blank" rel="external noopener" title="Participate in a deeper, more technical dive with the primary DITA-OT developer. This session will cover the pre-processing architecture of the DITA-OT and information about the output transformations.">Looking under the hood of the DITA Open Toolkit</a></li></ul></div></nav></article></main></body></html>