When you specialize one element from another, or a new attribute from @props or @base, the new element or attribute must obey certain rules in order to be a conforming specialization.
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.