Appendix B. XHTML Syntax Overview

XHTML (eXtensible HyperText Markup Language) is a reformulation of HTML according to the stricter syntax rules of XML (eXtensible Markup Language). HTML5 can be written using XHTML syntax (formally called the XML Serialization of HTML5). This section describes the ways in which XHTML syntax 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 />, and <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".

  • Nesting restrictions are more strictly enforced. These restrictions are explicitly stated:

    • An a element cannot contain another a element.

    • The pre element cannot contain img, object, applet, big, small, sub, sup, font, or basefont.

    • The form element may not contain other form elements.

    • A button element cannot contain a, form, input, select, textarea, label, button, iframe, or isindex.

    • The label element ...

Get HTML5 Pocket Reference, 5th 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.