This was the W3C 's home page for the XHTML2 Working Group, which was chartered in March 2007 (see news ) until December 2010. For new information related to HTML and XHTML, please see the home page for the HTML Working Group .
This Working Group is now closed. For further ongoing work related to XHTML, see the XHTML syntax section of the HTML5 specification .
Mission of the XHTML2 Working Group
The mission of the XHTML2 Working Group is to fulfill the promise of XML for applying XHTML to a wide variety of platforms with proper attention paid to internationalization, accessibility, device-independence, usability and document structuring. The group will provide an essential piece for supporting rich Web content that combines XHTML with other W3C work on areas such as math, scalable vector graphics, synchronized multimedia, and forms, in cooperation with other Working Groups.
2010-12-17: The XHTML2 Working Group is closed.
2009-07-02: XHTML 2 Working Group Expected to Stop Work End of 2009, W3C to Increase Resources on HTML 5. Today the Director announces that when the XHTML 2 Working Group charter expires as scheduled at the end of 2009, the charter will not be renewed. By doing so, and by increasing resources in the HTML Working Group, W3C hopes to accelerate the progress of HTML 5 and clarify W3C's position regarding the future of HTML.
2009-01-28: XHTML Media Types - Second Edition published. Many people want to use XHTML to author their Web pages, but are confused about the best ways to deliver those pages in such a way that they will be processed correctly by various user agents. This Note contains suggestions about how to format XHTML to ensure it is maximally portable, and how to deliver XHTML to various user agents - even those that do not yet support XHTML natively. This document is intended to be used by document authors who want to use XHTML today, but want to be confident that their XHTML content is going to work in the greatest number of environments. News item.
2009-01-16: CURIE Syntax 1.0 is a W3C Candidate Recommendation.This document defines a generic, abbreviated syntax for expressing URIs. See the ongoing CURIE implementation report for progress during the CR phase. News item.
2008-10-16: RDFa is a Recommendation. This specification allows publishers to express structured data on the Web within XHTML. This allows tools to read it, enabling a new world of user functionality, allowing users to transfer structured data between applications and web sites, and allowing browsing applications to improve the user experience. For those looking for an introduction to the use of RDFa and some real-world examples, please consult the updated RDFa Primer .
2008-10-08: XHTML Modularization 1.1 is a W3C Recommendation. The main change in this version is addition of support for XML Schema. The XHTML2 WG will now use this to add schema support to its markup languages that use XHTML Modularization. News item.
2008-07-29: XHTML Basic 1.1 is a recommendation. With this, there is now a full convergence in mobile markup languages, including those developed by the Open Mobile Alliance (OMA).
2008-06-20: The Semantic Web Deployment Working Group and the XHTML2 Working Group have published a Candidate Recommendation of RDFa in XHTML: Syntax and Processing. Web documents contain significant amounts of structured data, which is largely unavailable to tools and applications. When publishers can express this data more completely, and when tools can read it, a new world of user functionality becomes available, letting users transfer structured data between applications and web sites, and allowing browsing applications to improve the user experience. RDFa is a specification for attributes to be used with languages such as HTML and XHTML to express structured data.
2008-06-12: The XHTML2 Working Group published two Proposed Recommendations today: XHTML Modularization 1.1 and XHTML Basic 1.1. The former provides a means for subsetting and extending XHTML, a feature needed for extending XHTML's reach onto emerging platforms. This specification is intended for use by language designers as they construct new XHTML Family Markup Languages. This second version of this specification includes several minor updates to provide clarifications and address errors found in the first version. It also provides an implementation using XML Schemas. This version of XHTML Basic, which uses the Modularization approach, has been brought into alignment with the widely deployed XHTML Mobile Profile from the Open Mobile Alliance (OMA).
2008-05-26: The XHTML2 Working Group has released a Last Call Working Draft of XHTML Access Module. This document is intended to help make XHTML-family markup languages more effective at supporting the needs of the accessibility community by providing a generic mechanism for defining the relationship between document components and well-known accessibility taxonomies.
2008-05-06: The XHTML2 Working Group has released a Last Call Working Draft of CURIE Syntax 1.0 that defines a syntax for expressing URIs in a generic, abbreviated syntax.
2008-04-07: The XHTML2 Working Group has released a second Last Call Working Draft of XHTML Role Attribute Module. With the role attribute, authors can annotate XML languages with machine-readable semantic information about the purpose of elements. Use cases include accessibility, device adaptation, server-side processing and complex data description. The attribute can be integrated into any markup language based on XHTML Modularization .
2008-01-07: The XHTML2 Working Group has published the First Public Working Draft of XHTML Access Module. This document is intended to help make XHTML-family markup languages more effective at supporting the needs of the accessibility community. It does so by providing a generic mechanism for defining the relationship between document components and well-known accessibility taxonomies.
What is HTML?
HTML is the lingua franca for publishing hypertext on the World Wide Web. It is a non-proprietary format based upon SGML. and can be created and processed by a wide range of tools, from simple plain text editors - you type it in from scratch - to sophisticated WYSIWYG authoring tools. HTML uses tags such as <h1> and </h1> to structure text into headings, paragraphs, lists, hypertext links etc. Here is a 10-minute guide for newcomers to HTML. W3C's statement of direction for HTML is given on the HTML Activity Statement. See also the page on our work on the next generation of Web forms. and the section on Web history .
What is XHTML?
The Extensible HyperText Markup Language (XHTML™) is a family of current and future document types and modules that reproduce, subset, and extend HTML, reformulated in XML rather than SGML. XHTML Family document types are all XML-based, and ultimately are designed to work in conjunction with XML-based user agents. XHTML is the successor of HTML, and a series of specifications has been developed for XHTML. See also: HTML and XHTML Frequently Answered Questions
W3C produces what are known as "Recommendations ". These are specifications, developed by W3C working groups, and then reviewed by Members of the Consortium. A W3C Recommendation indicates that consensus has been reached among the Consortium Members that a specification is appropriate for widespread use.
In general, XHTML specifications include implementations of their requirements in various syntaxes (e.g. XML DTD, XML Schema, RelaxNG). These implementations are normative, and are meant to be used either as building blocks for new markup languages (e.g. XHTML Modularization) or as complete markup language implementations (e.g. XHTML 1.1).
While a normative part of the W3C Recommendation in which they are presented, these implementations are also code containing potential errors or omissions. When such errors are discovered, it is sometimes important that they be addressed very quickly to ensure that technologies relying on the implementations work as expected (e.g. validators and content authoring systems). The W3C process allows for the publication and frequent updating of errata, but unfortunately this process does not enable implementations to be quickly updated. As a result, the XHTML 2 Working Group has adopted the following concerning the production and evolution of its implementations:
- All implementations will adhere to the naming convention(s) and evolution rules as defined in XHTML Modularization. These names include both Formal Public Identifiers and System Identifiers. These conventions require that the System Identifier must include a revision number. This revision number is ONLY incremented when a revision is not backward compatible.
- Each applicable Recommendation will include fixed, unchanging versions of those implementations within the formal dated location for the Recommendation (/TR/YYYY/REC-whatever-YYYYmmdd/. ).
- The Working Group will also provide a version of that implementation in the working group's space on the W3C server (/MarkUp), uncoupled from a specific dated version of the associated Recommendation. In the beginning this uncoupled version will be *identical* to the version from the associated Recommendation.
- If the Working Group identifies a problem with an implementation, and it is possible to solve the problem in a way that is 100 percent backward compatible, then the version in the group's space will be updated in place and an announcement will be sent to the XHTML 2 public email list.
The XHTML 2 Working Group states that the term "backward compatible" should be used only when:
- The external interface to the module cannot change in any way that would break another module or markup language, either within or outside of the W3C.
- The content model cannot change in any way that would cause a previously valid document to become invalid.
If either of the above constraints would be violated by a change, the working group will either 1) not make the change, or 2) revise the applicable module. In the latter case, the working group will also change the associated identifiers.
XHTML 1.0 was the W3C's first Recommendation for XHTML, following on from earlier work on HTML 4.01, HTML 4.0, HTML 3.2 and HTML 2.0. With a wealth of features, XHTML 1.0 is a reformulation of HTML 4.01 in XML, and combines the strength of HTML 4 with the power of XML.
XHTML 1.0 was the first major change to HTML since HTML 4.0 was released in 1997. It brings the rigor of XML to Web pages and is the keystone in W3C's work to create standards that provide richer Web pages on an ever increasing range of browser platforms including cell phones, televisions, cars, wallet sized wireless communicators, kiosks, and desktops.
XHTML 1.0 was the first step: it reformulates HTML as an XML application. This makes it easier to process and easier to maintain. XHTML 1.0 borrows elements and attributes from W3C's earlier work on HTML 4, and can be interpreted by existing browsers, by following a few simple guidelines. This allows you to start using XHTML now!
You can roll over your old HTML documents into XHTML using an Open Source HTML Tidy utility. This tool also cleans up markup errors, removes clutter and prettifies the markup making it easier to maintain.
XHTML 1.0 is specified in three "flavors". You specify which of these variants you
are using by inserting a line at the beginning of the document. For example, the HTML for this document starts with a line which says that it is using XHTML 1.0 Strict. Thus, if you want to validate the document, the tool used knows which variant you are using. Each variant has its own DTD - Document Type Definition - which sets out the rules and regulations for using HTML in a succinct and definitive manner.
XHTML 1.0 Strict - Use this when you want really clean structural mark-up, free of any markup associated with layout. Use this together with W3C's Cascading Style Sheet language (CSS ) to get the font, color, and layout effects you want.
XHTML 1.0 Transitional - Many people writing Web pages for the general public to access might want to use this flavor of XHTML 1.0. The idea is to take advantage of XHTML features including style sheets but nonetheless to make small adjustments to your markup for the benefit of those viewing your pages with older browsers which can't understand style sheets. These include using the body element with bgcolor. text and link attributes.
XHTML 1.0 Frameset - Use this when you want to use Frames to partition the browser window into two or more frames.
The complete XHTML 1.0 specification is available in English in several formats, including HTML, PostScript and PDF. See also the list of translations produced by volunteers.
HTML 4.01 is a revision of the HTML 4.0 Recommendation first released on 18th December 1997. The revision fixes minor errors that have been found since then. The XHTML 1.0 spec relies on HTML 4.01 for the meanings of XHTML elements and attributes. This allowed us to reduce the size of the XHTML 1.0 spec very considerably.
XHTML Basic is the second Recommendation in a series of XHTML specifications.
The XHTML Basic document type includes the minimal set of modules required to be an XHTML Host Language document type, and in addition it includes images, forms, basic tables, and object support. It is designed for Web clients that do not support the full set of XHTML features; for example, Web clients such as mobile phones, PDA s, pagers, and settop boxes. The document type is rich enough for content authoring.
XHTML Basic is designed as a common base that may be extended. For example, an event module that is more generic than the traditional HTML 4 event system could be added or it could be extended by additional modules from XHTML Modularization such as the Scripting Module. The goal of XHTML Basic is to serve as a common language supported by various kinds of user agents.
The document type definition is implemented using XHTML modules as defined in " Modularization of XHTML ".
The complete XHTML Basic specification is available in English in several formats, including HTML, plain text, PostScript and PDF. See also the list of translations produced by volunteers.
XHTML Modularization is the third Recommendation in a series of XHTML specifications.
This Recommendation does not specify a markup language but an abstract modularization of XHTML and an implementation of the abstraction using XML Document Type Definitions (DTDs) and (in version 1.1) XML Schemas. This modularization provides a means for subsetting and extending XHTML, a feature needed for extending XHTML's reach onto emerging platforms.
Modularization of XHTML makes it easier to combine with markup tags for things like vector graphics, multimedia, math, electronic commerce and more. Content providers will find it easier to produce content for a wide range of platforms, with better assurances as to how the content is rendered, and that the content is valid.
The modular design reflects the realization that a one-size-fits-all approach no longer works in a world where browsers vary enormously in their capabilities. A browser in a cellphone can't offer the same experience as a top of the range multimedia desktop machine. The cellphone doesn't even have the memory to load the page designed for the desktop browser.
XHTML 1.1 - Module-based XHTML
This Recommendation defines a new XHTML document type that is based upon the module framework and modules defined in Modularization of XHTML. 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 that was brought forward into the XHTML 1.0 document types.
This document type is essentially a reformulation of XHTML 1.0 Strict 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 Modularization of XHTML, and document authors are free to define document types based upon XHTML 1.1 that use these facilities (see Modularization of XHTML for information on creating new document types).
The first step was to reformulate HTML 4 in XML, resulting in XHTML 1.0. By following the HTML Compatibility Guidelines set forth in Appendix C of the XHTML 1.0 specification, XHTML 1.0 documents could be compatible with existing HTML user agents.
The next step is to modularize the elements and attributes into convenient collections for use in documents that combine XHTML with other tag sets. The modules are defined in Modularization of XHTML. XHTML Basic is an example of fairly minimal build of these modules and is targeted at mobile applications.
XHTML 1.1 is an example of a larger build of the modules, avoiding many of the presentation features. While XHTML 1.1 looks very similar to XHTML 1.0 Strict, it is designed to serve as the basis for future extended XHTML Family document types, and its modular design makes it easier to add other modules as needed or integrate itself into other markup languages. XHTML 1.1 plus MathML 2.0 document type is an example of such XHTML Family document type.
XHTML-Print is member of the family of XHTML Languages defined by the Modularization of XHTML. It is designed to be appropriate for printing from mobile devices to low-cost printers that might not have a full-page buffer and that generally print from top-to-bottom and left-to-right with the paper in a portrait orientation. XHTML-Print is also targeted at printing in environments where it is not feasible or desirable to install a printer-specific driver and where some variability in the formatting of the output is acceptable.
Note. This specification was renamed from "XHTML Events".
Previous Versions of HTML
HTML 4.0 First released as a W3C Recommendation on 18 December 1997. A second release was issued on 24 April 1998 with changes limited to editorial corrections. This specification has now been superseded by HTML 4.01 . HTML 3.2 W3C's first Recommendation for HTML which represented the consensus on HTML features for 1996. HTML 3.2 added widely-deployed features such as tables, applets, text-flow around images, superscripts and subscripts, while providing backwards compatibility with the existing HTML 2.0 Standard. HTML 2.0 HTML 2.0 (RFC 1866 ) was developed by the IETF 's HTML Working Group, which closed in 1996. It set the standard for core HTML features based upon current practice in 1994. Note that with the release of RFC 2854. RFC 1866 has been obsoleted and its current status is HISTORIC.
ISO/IEC 15445:2000 is a subset of HTML 4, standardized by ISO/IEC. It takes a more rigorous stance for instance, an h3 element can't occur after an h1 element unless there is an intervening h2 element. Roger Price and David Abrahamson have written a user's guide to ISO HTML .
Other Public Drafts
The current editors' drafts of all specifications are linked to from a separate drafts page .
If you have any comments on any of our specifications we would like to hear from you via email. Please send your comments to: email@example.com (archive ). Don't forget to include XHTML in the subject line.
XHTML 2.0 is a markup language intended for rich, portable web-based applications. While the ancestry of XHTML 2.0 comes from HTML 4, XHTML 1.0, and XHTML 1.1, it is not intended to be 100% backwards compatible with its earlier versions. Application developers familiar with its earlier ancestors will be comfortable working with XHTML 2.0.
XHTML 2.0 is a member of the XHTML Family of markup languages. It is an XHTML Host Language as defined in Modularization of XHTML. As such, it is made up of a set of XHTML Modules that together describe the elements and attributes of the language, and their content model. XHTML 2.0 updates many of the modules defined in Modularization of XHTML, and includes the updated versions of all those modules and their semantics.
XHTML 2.0 essentially consists of a packaging of several parts currently independently proceeding to recommendation:
plus the necessary text and hyperlinking modules, which you will find in the XHTML2 draft.
The most recent editor's draft can always be found on the XHTML2 WG's drafts page.
An XHTML + MathML + SVG Profile
An XHTML+MathML+SVG profile is a profile that combines XHTML 1.1, MathML 2.0 and SVG 1.1 together. This profile enables mixing XHTML, MathML and SVG in the same document using XML namespaces mechanism, while allowing validation of such a mixed-namespace document.
This specification is a joint work with the SVG Working Group, with the help from the Math WG.
XFrames is an XML application for composing documents together, replacing HTML Frames. XFrames is not a part of XHTML per se, that allows similar functionality to HTML Frames, with fewer usability problems, principally by making the content of the frameset visible in its URI.
The HLink module defined in this specification provides XHTML Family Members with the ability to specify which attributes of elements represent Hyperlinks, and how those hyperlinks should be traversed, and extends XLink use to a wider class of languages than those restricted to the syntactic style allowed by XLink.
XHTML Media Types
This document summarizes the best current practice for using various Internet media types for serving various XHTML Family documents. In summary. 'application/xhtml+xml' SHOULD be used for XHTML Family documents, and the use of 'text/html' SHOULD be limited to HTML -compatible XHTML 1.0 documents. 'application/xml' and 'text/xml' MAY also be used, but whenever appropriate, 'application/xhtml+xml' SHOULD be used rather than those generic XML media types.
XHTML 1.0 in XML Schema
This document describes non-normative XML Schemas for XHTML 1.0. These Schemas are still work in progress, and this document does not change the normative definition of XHTML 1.0.
XHTML2 Working Group Roadmap
This describes the timeline for deliverables of the XHTML2 working group. It used to be a W3C NOTE but has now been moved to the MarkUp area for easier maintenance.