# 4. The XHTML 2.0 Document Type

Contents

This section is normative.

The XHTML 2.0 document type is a fully functional document type with rich semantics. It is a collection of XHTML-conforming modules (most of which are defined in this specification). The Modules and their elements are listed here for information purposes, but the definitions in their base documents should be considered authoritative. In the on-line version of this document, the module names in the list below link into the definitions of the modules within the relevant version of the authoritative specification.

Document Module
  `body, head, html, title`
Structural Module
  `address, blockcode, blockquote, div, h, h1, h2, h3, h4, h5, h6, p, pre, section, separator`
Text Module
  `abbr, cite, code, dfn, em, kbd, l, quote, samp, span, strong, sub, sup, var`
Hypertext Module
  `a`
List Module
  `dl, dt, dd, label, nl, ol, ul, li`
Core Attributes Module
  `class`, `id`, and `title` attributes
Hypertext Attributes Module
  `href`, `hreftype`, `cite`, `target`, `rel`, `rev`, `access`, `nextfocus`, `prevfocus`, and `xml:base` attributes
Internationalization Attribute Module
  `xml:lang` attribute
Bi-directional Text Module
  `dir` attribute
Edit Attributes Module
  `edit` and `datetime` attributes
Embedding Attributes Module
  `src` and `type` attributes
Handler Module
  `handler`
Image Map Attributes Module
  `usemap, ismap, shape`, and `coords` attributes
Media Attribute Module
  `media` attribute
Metainformation Attributes Module
  `about`, `content`, `datatype`, `property`, `rel`, `resource`, `restype`, and `rev` attributes
Metainformation Module
  `meta`, `link`
Object Module
  `object, param, standby`
Style Attribute Module
  `style` attribute
Stylesheet Module
  `style` element
Tables Module
  `caption, col, colgroup, summary, table, tbody, td, tfoot, th, thead, tr`

XHTML 2.0 also uses the following externally defined modules:

Ruby Annotation Module [RUBY]
  `ruby, rbc, rtc, rb, rt, rp`
XForms Module [XFORMS]
  `action, alert, bind, case, choices, copy, delete, dispatch, extension, filename, group, help, hint, input, insert, instance, item, itemset, label, load, mediatype, message, model, output, range, rebuild, recalculate, refresh, repeat, reset, revalidate, secret, select, select1, send, setfocus, setindex, setvalue, submission, submit, switch, textarea, toggle, trigger, upload`, and `value` elements, and `repeat-model, repeat-bind, repeat-nodeset, repeat-startindex`, and `repeat-number` attributes
XML Events Module [XMLEVENTS]
  `listener` element, and `defaultAction, event, handler, objserver, phase, propagate`, and `target` attributes in the [XMLEVENTS] namespace

An implementation of this document type as a RELAX NG grammar is defined in Appendix B, as an XML Schema in Appendix D, and as a DTD in Appendix F.

## 4.1. Issues

Identifying XHTML version in ansence of DTDs PR #7336
State: Suspended
Resolution: Defer
User: None

Notes:
BAE F2F: for the present DTD's are required for entity resolution. This is a tricky issue, and the working group needs to resolve it quickly. We are asking for input from the Hypertext Coordination Group and others in our quest to sort it out.