XHTML Overview

XHTML 1.0 (eXtensible HyperText Markup Language) is a reformulation of HTML 4.01 according to the stricter syntax rules of XML (eXtensible Markup Language). In other words, the elements are the same, but there are additional restrictions for document markup as listed in the next section.

On July 2, 2009, the World Wide Web Consortium (W3C) officially discontinued the XHTML 2.0 project, focusing its resources instead on HTML5 (which can also be written in XML syntax). Although no new XHTML specifications are being developed, XHTML documents will continue to be supported by popular browsers for the foreseeable future.

How XHTML Differs from HTML

Because XHTML is an XML language, its syntax is stricter and differs from HTML in these key ways:

  • All element names and attributes must be lowercase. For example, <a href="example.com">...</a>.

  • All elements must be terminated—that is, they must include an end tag. For example, <p>...</p>.

  • Empty elements must be terminated as well. This is done by including a slash at the end of the tag. A space is commonly added before the slash for backward compatibility with older browsers. For example, <hr />, <img />, <meta />.

  • All attribute values must be contained in quotation marks (either single or double). For example, <td colspan="2">.

  • All attribute values must be explicit and may not be minimized to one word, as is permitted in HTML. For example:

    • checked="checked"

    • selected="selected"

    • multiple="multiple"

  • Nesting restrictions are more strictly ...

Get HTML & XHTML Pocket Reference, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.