DITA is designed to produce multiple deliverable formats from a single set of DITA
content. This means that many rendition details are specified neither in the DITA specification
nor in the DITA content; the rendition details are defined and controlled by the
processors.
Like many XML-based applications for human-readable documentation, DITA supports the separation
of content from presentation. This is necessary when content is used in different contexts, since
authors cannot predict how or where the material that they author will be used. The following
features and mechanisms enable users to produce different deliverable formats from a
single source:
- DITA maps
- Different DITA maps can be optimized for different delivery formats. For example, you might
have a book map for printed output and another DITA map to generate online help; each map uses
the same content set.
- Specialization
- The DITA specialization facility enables users to create the XML elements needed by a
particular information set in order to provide appropriate rendition distinctions. In
XML-based systems where presentation details are defined as styles bound to elements, the more
precise and detailed the markup, the easier it is to define presentation rendering. Because
the use of arbitrary specializations does not impede interchange or interoperability, DITA
users can safely create the specializations demanded by their local delivery and rendition
requirements, with a minimum of additional impact on the systems and business processes that
depend on or use the content. While general XML practices suggest that element types should be
semantic, specialization can be used to define element types that are purely presentational in
nature. The highlighting domain is an example of such a specialization.
- Conditional processing
- Conditional processing makes it possible to have a topic or DITA map that contains
delivery-specific content.
- Content referencing
- The conref mechanism makes it possible to construct delivery-specific maps or topics from a
combination of generic components and delivery-context-specific components.
- Key referencing
- The keyref mechanism makes it possible to change variables for volatile content, redirect
links, and reap the benefits of indirect addressing.
- @outputclass attribute
- The @outputclass attribute provides a mechanism whereby authors can indicate specific
rendition intent where necessary. Note that the DITA specification does not define any values
for the @outputclass attribute; the use of the @outputclass attribute is, by nature, processor
specific.
While DITA is independent of any particular delivery format, it is a standard that supports the
creation of human-readable content. As such, it defines some fundamental document components
including paragraphs, lists, and table. When there is a reasonable expectation that such basic
document components be rendered consistently, the DITA specification defines default or suggested
renderings.