XHTML
__NOTOC__
Extensible Hypertext Markup Language (XHTML), or simply XTML, is an SGML markup language that has the same expressive possibilites as HTML, but conforms to the XML standard which is more strict. XHTML has been recommended by the World Wide Web Consortium (W3C) since January 26, 2000.
XHTML, in any of its own versions, is the current version of HTML recommended for development. The need for a more strict version of HTML was felt primarily as web content needed delivery to many other devices (like mobile devices) apart from traditional computers with forgiving browsers, and where extra resources cannot be devoted to support the generosities (or inconsistencies) of HTML, such as support for both upper-case and lower-case elements, among others. The XHTML DTD is defined within the XML DTD to enforce the strict rules of XML.
Very few web browsers have any problem with XHTML, and render it properly, as it is simply well-formed HTML in that respect. Most browsers do not require valid HTML to begin with, so well-formed XHTML is not a problem, however XML still requires special parsers. Similarly, almost all web browsers compatible with XHTML also render HTML properly. Some say this is slowing the switch from HTML to XHTML, but XHTML’s true power is realized when used in conjunction with Cascading_Style_Sheets. Although HTML can be used with CSS, XHTML moves to force its use for layout and style. This makes the separation of content and form an integral part of the web page’s code.
The changes in XHTML, transitional from HTML 4.01, are minor, but bring an XHTML document into conformance with XML standards. The most important change is the requirement that all tags are well-formed - all elements must be lowercased and closed, and their attributes enclosed in double quotes. This is in direct contrast to HTML 4.0+, which allows upper case and open elements with non-quoted attributes. In XHTML, all attributes, even single digit numbers, must be quoted, and images must use the alt text attribute, even if it is blank. Attribute minimization is also prohibited, as are font tags, and tables themselves are frowned upon for anything other than tabular data. Developers are encouraged to use summaries and captions for all tables, to conform with accessibility guidelines, and any markup associated with styles or layout is deprecated in favour of Cascading_Style_Sheets. More differences are detailed at the W3C XHTML specification.
Versions of XHTML
- XHTML 1.0 Transitional : HTML 4.0 with XML conformance. Intended for easy migrations
- XHTML 1.0 Strict : Separates content completely from layout markup
- XHTML 1.0 Frameset : For splitting the browser window into several frames
- XHTML 1.1 : Module-based XHTML; authors can import additional features (such as framesets) into their markup, but otherwise is similar to XHTML 1.0 Strict
- XHTML 2.0 is underway, as well as better XML standards in popular browsers
External Links
- W3C’s HTML Home Page
- XHTML 1.0 Specification
- XHTML 1.1 Specification
- Working Draft of XHTML 2.0
- XHTML validator
- Wikibooks XHTML tutorial - in progress
Some content adapted from the Wikinfo article “XHTML” under the GNU Free Documentation License.