The architectural attributes should not be marked up in the source DITA map and topic instances. Instead, the values of the architectural attributes are handled by the processor when the content is processed, preferably through defaults set in the DTD or Schema declaration. This practice ensures that the DITA content instances do not specify invalid values for the architectural attributes.
The architectural attributes are as follows:
- This attribute identifies the specialization modules for the element type as well as its ancestors. Every DITA element (except the <dita> element that is used as the root of a ditabase document) has a @class attribute.
- This attribute identifies the domain specialization modules used in a map or topic and, for each domain module, its module dependencies. The root element of every topic and map has a @domains attribute.
- This attribute identifies the version of the DITA architecture used by the DTD or schema. The root element of every topic and map has a @DITAArchVersion attribute. The attribute is declared in a DITA namespace to allow namespace-sensitive tools to detect DITA markup.
To make the document instance usable in the absence of a DTD or Schema declaration, a normalization process may set the architectural attributes in the document instance.