DITA pre-processing architecture This document describes the different steps in preprocessing for DITA topics. This topic was lasted updated for an earlier release of the toolkit, and no longer includes all steps in the pre-process pipeline; we expect to correct the documentation in the DITA-OT 1.5.2 release.

The DITA Open Toolkit implements a two-pass, map-driven architecture that resolves any conditional properties and content references on the first pass, then applies transformations to the normalized files on the second pass. The stages of this pre-processing pipeline are described below.

genlist: generate list files of map and topic

Pass the files and generate list files that may be needed by other activity.(Implemented by ANT extension with Java.)

filtering:

Filter the source files according to the input .ditaval file. Based on the specified action, either flag or exclude the content according to the %select-atts. (Implemented by ANT extension with Java.)

insert debug information (merged into filtering):

Add @xtrf and @xtrc attribute with proper values into each element.(Implemented by ANT extension with Java.)

The output of this step is directed to a temp directory.

adjust column names of table (merged into conref resolve activity):

Adjust all of the column names of the tables to "col1, col2, col3 ..." to enable conref between tables.(Implemented by ANT extension with Java.)

The colname attribute is adjusted in the content that was conrefed during the process of resolving conref.

move index entries:

Move the index entries contained in the <topicmeta> tag into the relevant topics referred to in the ditamap.(Implemented by ANT extension with Java.)

resolve conref:

Pass all the files which used conref and resolve the conref.(Implemented by XSL-T)

mappull:

Pull the navtitle and topicmeta from topics to ditamap(Implemented by XSL-T)

topicpull:

Pull metadata for <link> and <xref> element(Implemented by XSL-T)

maplink:

Find and generate related link information into maplinks.unordered for every topic referred to in the ditamap (Implemented by XSL-T)

movelink:

Move the related link information from the maplinks.unordered to every topic (Implemented in ANT extension with Java)