This is the fourth entry in a series of descriptions & demos from the “Using HTML5 Today” user group presentation.
For practical purposes, the original XHTML standard is a historical footnote, although XHTML transitional will probably live on forever in the default web page templates of old web page editors.
The original XHTML spec was released in 2000, on the heels of the HTML 4.01 spec. The plan was to move web development away from HTML to the more formal, rigorous approach that XHTML offered, but it was built on a principle that conflicts with the history and culture of the Internet: XHTML introduced the idea of Draconian Error Handling, which essentially means that invalid XML markup on a page will cause a page to stop rendering.
There is a transitional mode offered in the original XHTML spec, but the goal was to move to required Draconian handling. You can see the result by changing the doc type for a document to “application/xhtml+xml” - for my class example we change this setting in the web.config file:
<remove fileExtension=".html" />
<mimeMap fileExtension=".html" mimeType="application/xhtml+xml" />
With the new strict syntax a simple error, in this case a duplicate </td> tag, can cause a critical page error:
While XHTML became very popular in the ensuing decade, the Strict form of XHTML never achieved widespread use.
Draconian Error Handling was one of the factors that led in time to the creation of the WHATWG, or Web Hypertext Application Technology Group. WHATWG contributed to the eventually disbanding of the XHTML 2.0 working group and the W3C’s move to embrace the HTML5 standard.
For developers who long for XML markup the W3C HTML5 standard includes an XHTML5 syntax.
For the longer, more definitive look at what happened to XHTML and how HTML5 came to be check out the Dive Into HTML mirror site or Bruce Lawson’s “HTML5: Who, What, When Why” talk.