The specialization feature of DITA
allows for the creation of new element types and attributes that are explicitly and
formally derived from existing types. This facilitates interchange of conforming DITA
content and ensures a minimum level of common processing for all DITA content. It also
allows specialization-aware processors to add specialization-specific processing to
existing base processing.
188.8.131.52 Overview of specialization
Specialization allows information architects to define new kinds of information (new structural types or new domains of information), while reusing as much of existing design and code as possible, and minimizing or eliminating the costs of interchange, migration, and maintenance.
Modularization is at the core of DITA design and implementation. It enables reuse and extension of the DITA specialization hierarchy.
184.108.40.206 Vocabulary modules
A DITA element type or attribute is declared in exactly one vocabulary module.
220.127.116.11 Specialization rules for element types
There are certain rules that apply to element type specializations.
18.104.22.168 Specialization rules for attributes
There are certain rules that apply to attribute specializations.
22.214.171.124 class attribute rules and syntax
The specialization hierarchy of each DITA element is declared as the value of the
@class attribute. The
@class attribute provides a mapping from the current name of the element to its more general equivalents, but it also can provide a mapping from the current name to more specialized equivalents. All specialization-aware processing can be defined in terms of
@class attribute values.
126.96.36.199 domains attribute rules and syntax
@domains attribute enables processors to determine whether two elements or two documents use compatible domains. The attribute is declared on the root element for each topic or map type. Each structural, domain, and constraint module defines its ancestry as a parenthesized sequence of space-separated module names; the effective value of the
@domains attribute is composed of these parenthesized sequences.
188.8.131.52 Specializing to include non-DITA content
You can extend DITA to incorporate standard vocabularies for non-textual content, such as MathML and SVG, as markup within DITA documents. This is done by specializing the
184.108.40.206 Sharing elements across specializations
Specialization enables easy reuse of elements from ancestor specializations. However, it is also possible to reuse elements from non-ancestor specializations, as long as the dependency is properly declared in order to prevent invalid generalization or conref processing.