Specialization rules for element types

There are certain rules that apply to element type specializations.

Characteristics

A specialized element type has the following characteristics:

  • A properly-formed @class attribute that specifies the specialization hierarchy of the element
  • A content model that is the same or less inclusive than that of the element from which it was specialized
  • A set of attributes that are the same or a subset of those of the element from which it was specialized, except for specializations of @base or @props
  • Values or value ranges of attributes that are the same or a subset of those of the element from which it was specialized
Namespaces

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 can be in any namespace.

Note (non-normative):
Domain modules that are intended for wide use should define element type names that are unlikely to conflict with names used in other domains, for example, by using a domain-specific prefix on all names.