XHTML 1.1 - The XHTML 1.1 Document Type

# 3. The XHTML 1.1 Document Type

This section is normative.

The XHTML 1.1 document type is a fully functional document type with rich semantics. It is not, however, as varied in functionality as the XHTML 1.0 Transitional or Frameset document types. These document types defined many presentational components that are better handled through style sheets or other similar mechanisms. Moreover, since the XHTML 1.1 document type is based exclusively upon the facilities defined in the XHTML modules [XHTMLMOD], it does not contain any of the deprecated functionality of XHTML 1.0 nor of HTML 4. Despite these exceptions, or perhaps because of them, the XHTML 1.1 document type is a solid basis for future document types that are targeted at varied user agent environments.

The XHTML 1.1 document type is made up of the following XHTML modules. The elements, attributes, and minimal content models associated with these modules are defined in "XHTML Modularization" [XHTMLMOD]). The elements are listed here for information purposes, but the definitions in "XHTML Modularization" should be considered definitive. In the on-line version of this document, the module names in the list below link into the definitions of the modules within the current version of "XHTML Modularization".

Structure Module
  `body, head, html, title`
Text Module
  `abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var`
Hypertext Module
  `a`
List Module
  `dl, dt, dd, ol, ul, li`
Object Module
  `object, param`
Presentation Module
  `b, big, hr, i, small, sub, sup, tt`
Edit Module
  `del, ins`
Bidirectional Text Module
  `bdo`
Forms Module
  `button, fieldset, form, input, label, legend, select, optgroup, option, textarea`
Tables Module
  `caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr`
Image Module
  `img`
Client-side Image Map Module
  `area, map`
Server-side Image Map Module
  Attribute `ismap` on `img`
Intrinsic Events Module
  Events attributes
Metainformation Module
  `meta`
Scripting Module
  `noscript, script`
Style Sheet Module
  `style` element
Style Attribute Module Deprecated
  `style` attribute
Link Module
  `link`
Base Module
  `base`

XHTML 1.1 also uses the Ruby Annotation module as defined in [RUBY]:

Ruby Annotation Module
  `ruby, rbc, rtc, rb, rt, rp`

This specification also adds the `lang` attribute to the I18N attribute collection as defined in [XHTMLMOD]. The `lang` attribute is defined in [HTML4]. When this attribute and the `xml:lang` attribute are specified on the same element, the `xml:lang` attribute takes precedence. When both `lang` and `xml:lang` are specified on the same element, they SHOULD have the same value.

There are no additional definitions required by this document type. An implementation of this document type as an XML Schema is defined in Appendix D, and as an XML DTD is defined in Appendix C. If there is any discrepancy between the language as defined in this section and the implementations in the appendices, the definition in this section MUST take precedence.