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 valid specialization.
- A new element must have a content model that is equivalent to or more
restrictive than its parent.
- A new element must have attributes that are equivalent to or a subset
of the attributes of its parent.
- A new element's attributes must have values or value ranges that are equivalent
to or a subset of the parent's attributes' values or value ranges.
- A new element must have a properly formed class attribute.
- A new attribute must be specialized from props or base, following the
rules for attribute domain specialization.
- A new attribute's values must conform to the rules for conditional
processing values, that is, alphanumeric space-delimited values, except when
in generalized form, when the values should conform to the rules for attribute
generalization.