DITA Open Toolkit Architecture
Processing structure
The DITA Open Toolkit implements a multi-stage, map-driven architecture to process DITA content. Each step in the process examines some or all of the content; some steps result in temporary files used by later steps, while others 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).
Transformations in the toolkit are designed like a pipeline. Most of the pipeline is common between all output formats, and is known as the "pre-process" stage. In general, any DITA process begins with this common set of pre-processing routines. Once the pre-processing is completed, the pipeline diverges based on the desired output format. Some processing is still common to multiple output formats; for example, Eclipse Help and HTML Help both use the same routines to generate XHTML topics, after which the two pipelines branch to create a different set of navigation files.
The following image illustrates how the pipeline works for some common output types.
![Diagram of some possible paths through the transform pipeline. Diagram of some possible paths through the transform pipeline.](/sample/5519ce99e4b01d09a0fbc4eb/dev_ref/images/mainarch.gif)