Abstract

This specification defines an XHTML document type that is based upon the module framework and modules defined in XHTML Modularization [XHTMLMOD]. The purpose of this document type is to serve as the basis for future extended XHTML 'family' document types, and to provide a consistent, forward-looking
document type cleanly separated from the deprecated, legacy functionality of HTML 4 [HTML4] that was brought forward into the XHTML 1.0 [XHTML1]
document types. This document type is most similar to XHTML 1.0 Strict, built using XHTML Modules. This means that many facilities available in other XHTML Family document types (e.g., XHTML Frames)
are not available in this document type. These other facilities are available through modules defined in XHTML Modularization, and document authors are free to define document types based upon XHTML
1.1 that use these facilities (see [XHTMLMOD] for information on creating new document types).

Status of this document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of
this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable
document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread
deployment. This enhances the functionality and interoperability of the Web.

This document supersedes the previous edition of XHTML 1.1. It reflects clarifications and corrections as a result of many years of use
by the community. It also includes an XML Schema implementation of the language, and integrates the lang attribute to increase compatibility with User Agents and Assistive Technologies.
A version that shows the specific changes from the previous Recommendation is available in diff-marked form.

1. Introduction

This section is normative.

With the introduction of the XHTML family of modules and document types, the W3C has helped move the Internet content-development community from the days of malformed, non-standard markup into the
well formed, valid world of XML [XML]. In XHTML 1.0, this move was moderated by a goal of providing for easy migration of existing, HTML 4 (or earlier) based content to XHTML
and XML. With the advent of the XHTML modules defined in XHTML Modularization, the W3C has removed support for deprecated elements and attributes from the XHTML family. These elements and attributes
were largely presentation oriented functionality that is better handled via style sheets or client-specific default behavior.

Going forward, XHTML family document types will be based upon this new, more structural functional collection. In this specification, the W3C's HTML Working Group has defined an initial document
type based solely upon modules. This document type is designed to be portable to a broad collection of client devices, and applicable to the majority of Internet content. Content developers who base
their content upon the functionality expressed in this specification can be confident that it will be consistently portable across XHTML family conforming user agents.

2. Conformance Definition

This section is normative.

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in
[RFC2119].

2.1. Document Conformance

This version of XHTML provides a definition of strictly conforming XHTML documents, which are restricted to elements and attributes from the XHTML namespace.

2.1.1. Strictly Conforming Documents

A strictly conforming XHTML 1.1 document is a document that requires only the facilities described as mandatory in this specification. Such a document MUST meet all the following criteria:

The start tag of the root element of the document MUST explicitly contain an xmlns declaration for the XHTML namespace [XMLNAMES]. The namespace URI for XHTML is defined to be http://www.w3.org/1999/xhtml.

The start tag MAY also contain the declaration of the XML Schema Instance Namespace and an XML Schema Instance schemaLocation attribute [XMLSCHEMA]. Such an attribute would associate the XHTML namespace http://www.w3.org/1999/xhtml with the XML Schema at the URI
http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd.

There MUST be a DOCTYPE declaration in the document prior to the root element.If present, the PUBLIC identifier included in the DOCTYPE declaration
MUST reference the DTD found in Appendix A using its Formal Public Identifier.The SYSTEM identifier MAY be modified as appropriate.

Note that in this example, the XML declaration is included. An XML declaration like the one above is not required in all XML documents. XHTML document authors SHOULD use XML
declarations in all their documents.XHTML document authors MUST use an XML declaration when the character encoding of the document is other than the default UTF-8 or UTF-16
and no encoding is specified by a higher-level protocol.

XHTML 1.1 documents SHOULD be labeled with the Internet Media Type "application/xhtml+xml" as defined in [RFC3236]. For further
information on using media types with XHTML, see the informative note [XHTMLMIME].

2.2. User Agent Conformance

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".

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.

A. Changes from XHTML 1.0 Strict

This appendix is informative.

This Appendix describes the differences between XHTML 1.1 and XHTML 1.0 Strict. XHTML 1.1 represents a departure from both HTML 4 and XHTML 1.0. Most significant is the removal of features that
were deprecated. In general, the strategy is to define a markup language that is rich in structural functionality, but that relies upon style sheets for presentation.

The differences can be summarized as follows:

On the a and map elements, the name attribute has been removed in favor of the id attribute (as defined in [XHTMLMOD]).

The "ruby" collection of elements has been added (as defined in [RUBY]).

C.3. XHTML 1.1 Customizations

An XHTML Family Document Type (such as XHTML 1.1) must define the content model that it uses. This is done through a separate content model module that is instantiated by the XHTML Modular
Framework. The content model module and the XHTML 1.1 Driver (above) work together to customize the module implementations to the document type's specific requirements. The content model module for
XHTML 1.1 is defined below:

D.3. XHTML 1.1 Customizations

An XHTML Family Document Type (such as XHTML 1.1) must define the content model that it uses. This is done through a separate content model module that is instantiated by the XHTML Modular
Framework. The content model module and the XHTML 1.1 Driver (above) work together to customize the module implementations to the document type's specific requirements. The content model module for
XHTML 1.1 is defined below: