# 5. XHTML Attribute Collections

Contents

This section is normative.

Many of the modules in this document define the required attributes for their elements. The elements in those modules also reference zero or more attribute collections. Attribute collections are defined in their own modules, but the meta collection "Common" is defined in this section. The table below summarizes the attribute collections available.

Note that while these Collections are referenced throughout this document, these expressions should in no way be considered normative or mandatory. They are an editorial convenience. When used in this document, it is the expansion of the term that is normative, not the term itself.

For the avoidance of doubt, if an attribute collection is referenced by an element's definition, and an attribute in that collection is also explicitly referenced by that element's definition, this does NOT cause a conflict. It is up to the schema implementation to update the content models accordingly.

Collection | Module | Description
--- | --- | ---
Core | Core Attributes Module | Basic attributes used to identify and classify elements and their content.
I18N | Internationalization Attribute Module | Attribute to identify the language of an element and its contents.
Bi-directional | Bi-directional Text Collection | Attributes used to manage bi-directional text.
Edit | Edit Attributes Module | Attributes used to annotate when and how an element's content was edited.
Embedding | Embedding Attributes Module | Attributes used to embed content from other resources within the current element.
Events | XML Events Module | Attributes that allow associating of events and event processing with an element and its contents.
Forms | XForms Module | Attributes that designate provide a mechanism of repeating table rows within a form.
Hypertext | Hyptertext Attributes Module | Attributes that designate characteristics of links within and among documents.
I18N | I18N Attribute Module | Attributes for defining the language of the contents of an element.
Map | Image Map Attributes Module | Attributes for defining and referencing client-side image maps.
Media | Media Attribute Module | Attribute for performing element selection based upon media type as defined in MediaDesc
Metainformation | Metainformation Attributes | Attributes that allow associating of elements with metainformation about those elements
Role | Role Attribute Module | Attribute for the specification of the "role" of an element.
Style | Style Attribute Module | Attribute for associating style information with an element and its contents.
Common | Attribute Collections Module | A meta-collection of all the other collections, including the Core, Bi-directional, Events, Edit, Embedding, Hypertext, I18N, Map, Media, Metainformation, Role, and Style attribute collections.

Implementations: RELAX NG, XML Schema

If a module associated with an attribute collection is not included in an XHTML Host Language or XHTML Integration Set, then that collection's attributes are not included in the definition of the Common attribute collection.

Each of the attributes defined in an XHTML attribute collection is available for use when their corresponding module is included in an XHTML Host Language or an XHTML Integration Set. In such a situation, the attributes are available for use in the definition of elements that are NOT in the XHTML namespace when they are referenced using their namespace-qualified identifier (e.g., `xhtml:class`). The semantics of the attributes remain the same regardless of whether they are referenced using their qualified identifier or not. It is an error to use an XHTML namespace-qualified attribute on elements from the XHTML Namespace.

## 5.1. Issues

[XHTML2] Constraining attribute relationship PR #7661
State: Suspended
Resolution: Defer
User: None

Notes:
We think this is a good thing for M12N 2.0, but is not necessary for XHTML 2 right now.