The Subsumption Process

A namespace subsumes another namespace if it includes all of the elements, attributes, and attribute values of the subsumed namespace.

A markup specification that defines a subsuming namespace shall require that any instance of the following constructs that would be recognized in the subsumed namespace shall also be recognized and interpreted identically in the subsuming namespace.

  • Element local names

  • Unprefixed attribute names of elements

  • Prefixed attribute names of elements

  • Attribute values

  • Element contents

Subsumption is the process by which a markup consumer recognizes and interprets elements, attributes, and attribute values in a subsumed namespace as if they occurred in the subsuming namespace.

When performing subsumption, markup consumers might confirm that the markup using the old namespace is compatible with the specification of the old namespace

Any markup specification that relies on the Markup Compatibility namespace should define a namespace naming convention for use by future versions of that specification when those future versions introduce new namespaces that subsume older namespaces.

When markup consumers encounter a non-understood namespace name, they might examine it for a naming convention that suggests that an understood namespace is being subsumed. The suggestion of a subsumption relationship shall not suppress error processing triggered by the non-understood namespace name. If error processing is triggered, markup consumers might use the suggested subsumption relationship to choose the most appropriate error message or error code.
example: : One error message might encourage upgrading to a newer application version, while another might merely highlight the non-understood namespace name.