DITA provides three extension facilities: configuration, constraint, and
specialization. In addition, generalization augments specialization.
- Configuration
- Configuration enables the definition of DITA document types that include only the
vocabulary modules that are required for a given set of documents. There is no need to
modify the vocabulary modules. Configurations are implemented as document type
shells.
- Specialization
- Specialization enables the creation of new element types in a way
that preserves the ability to interchange those new element types with conforming DITA
applications. Specializations are implemented as vocabulary modules, which are
integrated into document-type shells.
Specializations are implemented as sets of
vocabulary modules, each of which declares the markup and entities that are unique to a
specialization. The separation of the vocabulary and its declarations into modules makes
it easy to extend existing modules, because new modules can be added without affecting
existing document types. It also makes it easy to assemble elements from different
sources into a single document-type shell and to reuse specific parts of the
specialization hierarchy in more than one document-type shell.
- Generalization
- Generalization is the process of reversing a specialization. It converts specialized
elements or attributes into the original types from which they were derived.
- Constraint
- Constraint enables the restriction of content models and
attribute lists for individual elements. There is no need to modify the vocabulary
modules. Constraints are implemented as constraint modules, which are integrated into
document-type shells.