XHTML, Extensible Hypertext Markup Language
Extensible Hypertext Markup Language (XHTML), or simply XTML, is a markup language that has the same expressive possibilites as HTML, but conforms to the XML standard which is more strict. This also allows it to be extended more easily without breaking existing implementations. XHTML 1.0 became a World Wide Web Consortium (W3C) Recommendation on January 26, 2000.
XHTML is the successor to and the current version of HTML. The need for a more strict version of HTML was felt primarily as now web content needs to be delivered to many other devices (like mobile devices) apart from traditional computers, where extra resources cannot be devoted to support the generosities of HTML (for example, support for both upper-case and lower-case elements). The XHTML DTD is defined within the XML DTD to enforce the strict rules of XML.
Most of the recent versions of popular web browsers render XHTML properly, and many older browsers will also render XHTML as it is mostly a subset of HTML and most browsers do not require valid HTML. Similarly, almost all web browsers that are compatible with XHTML also render HTML properly. Some say this is slowing the switch from HTML to XHTML.
XHTML's true power is realized when used in conjunction with Cascading Style Sheets. This makes the separation of content and form an integral part of the web page's code.
The changes from HTML, to transitional XHTML, are minor, and are mostly just in conformance with XML. The most important change is the requirement that all HTML tag|tags are well-formed tag|well-formed. Additionally, in XHTML, all elements must be lowercased. This is in direct contrast to established traditions which began around the time of HTML 2.0, when most people preferred uppercased tags. In XHTML, all attributes, even numerical ones, must be quoted. (This was mandatory in HTML as well.) All tags must also be closed, even the empty tags <img> and <br>. This can be done by adding a closing slash to the tag: <img /> and <br />. Attribute minimization (e.g., <option selected>) is also prohibited. More differences are detailed at the [http://www.w3.org/TR/xhtml1/#diffs W3C XHTML specification].
Versions of XHTML
XHTML is HTML reformulated as XML. There are three different versions, equal in scope to their respective HTML4.0 versions.
- XHTML 1.0 Transitional: Intended for easy migration from HTML3.2, or for those using link targets or inline-frames
- XHTML 1.0 Strict: Separates content from layout (which now moves to CSS)
- XHTML 1.0 Frameset: For splitting the browser window into several HTML_tag#Frames
- XHTML 1.1: Module-based XHTML; authors can import additional features (such as framesets) into their markup. This version also allows for Ruby characters
- ruby markup support, needed for Far-Eastern languages.
- * XHTML Basic: A special "light" version of XHTML for devices which cannot use the full XHTML set, primarily used on handhelds such as mobile phones. This is the intended replacement for Wireless Markup Language
- WML and C-HTML.
- * XHTML Mobile Profile: Based on XHTML Basic, this Nokia effort targets hand phones specifically by adding mobile phone-specific elements to XHTML Basic
Work on XHTML 2.0 is, as of 2004, still underway. The XHTML 2.0 draft is controversial because it breaks backwards compatibility with all previous versions, and is therefore in effect a new markup language inspired by (X)HTML rather than a true successor of it.
- W3C's HTML Home Page
- XHTML 1.0 Specification
- XHTML 1.1 Specification
- Working Draft of XHTML 2.0
- W3C MarkUp Validation Service (Including XHTML validation)