Requirements for specialized element types and attributes
A specialized element:
- Must have a properly formed @class attribute specifying inheritance from its parent.
- Must not have a more inclusive content model than its parent has.
- Must not have attributes that its parent lacks.
- Must not have values or value ranges of these attributes that are more extensive than those in the parent.
An attribute specialized from the @props or @base attribute:
- Must follow the rules for attribute domain specialization.
- Must not have values or value ranges that are more extensive than those of the parent.
- Must conform to the rules for conditional processing values, that is, alphanumeric space-delimited values. In generalized form, the values must conform to the rules for attribute generalization.
- Must be declared as a global attribute. Attribute specializations cannot be limited to specific element types.
DITA elements are never in a namespace. Only the @DITAArchVersion attribute is in a DITA-defined namespace. All other attributes, except for those defined by the XML standard, are in no namespace.
This limitation is imposed by the details of the @class attribute syntax, which makes it impractical to have namespace-qualified names for either vocabulary modules or individual element types or attributes. Elements included as descendants of the DITA <foreign> element type may be in any namespace.