Specialization is expressed in content through the use of two attributes:
the class attribute and the domain attribute. These are not typically present
in the document instance, but are provided by default values expressed in
a DTD or schema.
Why specialization in content?
Specialization attributes let processes and tools know what set of rules your markup conforms to. This allows reuse of tools and processes for unfamiliar markup.
The class attribute
Each element declared in the DITA architecture has a class attribute. This attribute provides a mapping between the element's current name and its more general equivalents. The more specialized the element type, the longer its class attribute value.
Class attribute syntax
The class attribute has a particular syntax that must be followed for it to be processed correctly.
The domains attribute
The domains attribute lists the names of the domains in use by the current document type, and the ancestry for each domain. The domains attribute is declared on the root element for each topic type.
Specialization validity
When you specialize one element from another the new element must obey certain rules in order to be a valid specialization.
Generalization
Specialized content can be generalized to any ancestor type. The generalization process can preserve information about the former level of specialization to allow round-tripping between specialized and unspecialized forms of the same content.