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.
Pass the files and generate list files that may be needed by other activity.(Implemented by ANT extension with Java.)
Filter the source
files according to the input
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 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 the index entries contained in the <topicmeta> tag into the relevant topics referred to in the ditamap.(Implemented by ANT extension with Java.)
Pass all the files which used conref and resolve the conref.(Implemented by XSL-T)
Pull the navtitle and topicmeta from topics to ditamap(Implemented by XSL-T)
Pull metadata for <link> and <xref> element(Implemented by XSL-T)
Find and generate related link information into maplinks.unordered for every topic referred to in the ditamap (Implemented by XSL-T)
Move the related link information from the maplinks.unordered to every topic (Implemented in ANT extension with Java)