3. The XHTML 1.2 Document Type

This section is normative.

The XHTML 1.2 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.2 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.2 document type is a solid basis for future document types that are targeted at varied user agent environments.

The XHTML 1.2 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
Table 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
Stylesheet Module
style element
Style Attribute Module Deprecated
style attribute
Link Module
link
Base Module
base
Target Attribute Module
target attribute

Note:

  1. The target attribute is designed to be a general hook for binding to an external environment (such as Frames, multiple windows, browser-tabbed windows); when there is no such external environment bound to the user agent, the user agent can ignore the target attribute. When there is an external environment bound, the conformance requirements for the target attribute are defined in each environment.
  2. The content author needs to be aware that the user agent behavior for the target attribute depends on multiple factors such as the existence of an environment binding, restrictions of available resources, existence of other applications and user preferences (such as pop-up blockers), and implemententation-dependent design decisions. When there is no external environmental conformance, it is recommended that authors do not depend on use of the target attribute.
  3. It should be noted that any implementation-dependent use of the target attribute might impede interoperability.

XHTML 1.2 also uses the following modules defined in other W3C Recommendations:

Ruby Annotation module as defined in [RUBY]:

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

XHTML Access module as defined in [ACCESS]:

XHTML Access Module
access

XHTML Role module as defined in [ROLE]:

XHTML Role Module
role attribute

XHTML Metainformation Attributes module as defined in [RDFa]:

XHTML Metainformation Attributes Module
about, content, datatype, typeof, property, rel, resource, rev

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.