DITA is designed to enable the production of 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 XML elements that
can provide appropriate rendition distinctions. Because the use of specializations does not
impede interchange or interoperability, DITA users can safely create the specializations that
are 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 DITA topic or 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 have key words be displayed
differently in different deliverables. It also allows a single link to resolve to different
targets in different deliverables.
@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 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 tables. When there is a reasonable expectation that such basic
document components be rendered consistently, the DITA specification defines default or suggested
renderings.