Changes that do not comply with the DITA standardThe DITA-OT makes certain changes to documents during the pre-processing operation, in order to
simplify or optimize later stages in the processing chain. These changes result in temporary
files that do not comply with the DITA standard.Robert, I don't think that the first two items are correctly phrased.
I couldn't manage to generate either the image or mapclass attributes in my intermediate
files ...
- Image attributes
- If the document contains images, the DITA-OT adds @dita-ot:image-width and
@dita-ot:image-height attributes to the <image> elements. These attributes enable
scaling when the images are finally rendered.
- @mapclass attribute on generated links
- When links are generated based on information in the DITA map, a @mapclass attribute
is added to the <link> element that indicates the class of the <topicref>
element used to create the map. This attribute can be used to sort links or filter how
links are displayed in output.
- Flagging
- The flagging stage of the pre-processing operation creates pseudo-specializations of
the <foreign> element which contain flagging information. Flagging some elements,
such as <topic> and <row>, results in markup where the pseudo-specialization of
the <foreign> element is the first and last child of the element.
Changes that might not comply with restrictive specializationsSome changes made during the pre-processing operation might not comply with restrictive
specialization. Most of these changes are listed here, athough the list is not exhaustive.
If you develop an output transformation for a restrictive specialization, you should be
aware of these changes. If necessary, you can customize the pre-processing operation to
avoid these changes.
- Related links
- The maplink step of the pre-processing operation generates contextual links based on
the maps, for example, next and previous links; this step uses the <related-links>
element to contain the contextual links. This can cause unexpected output if a
specialized document type has removed the <related-links> element.
- Cascade of map metadata
- When metadata is specified in a map, it generally cascades to nested <topicref>
elements and the referenced topics. If the map contains specialized metadata elements
or attributes, the metadata might cascade to <topicref> elements or topic
<prolog> elements that are not intended to have the metadata. If a topic document
type has been specialized to disallow metadata, metadata specified in the map might
nonetheless cascade into the topic <prolog> element.
- Title text in links
- By default, links or cross references without link text are updated to include link
text. The link text is generally generated by using the title of the referenced topic.
This can cause unexpected output if cross references or links have been specialized
and the specialized content model does not allow text.
- @xtrf and @xtrc elements
- The pre-processing operation adds these two attributes to every element, in order to
provide trace-back information in case of errors. These attributes are added even for
specializations that forgot to define these attributes.
Changes or files that are not intended to comply with existing document typesSome processes in the toolkit are not designed to produce documents that comply fully with a DITA
DTD or XSD.
- Topic merge
- The topicmerge process is used by the PDF, ODT, and RTF transformations to produce a
single document that contains all of the content that is referenced by the master map.
This file is not DITA and is specific to the DITA-OT. Its purpose is to simplify
processing for output transformations that result in a single document.
- Chunking
- When the @chunk attribute is used in a map, DITA documents might be split or merged
in a way that does not comply with any existing document type. For example, merging
documents might result in a topic that nests concept, task, and specialized
troubleshooting topics, even if no existing DTD or Schema permits that combination in
a document.