XHTML vs. HTML

The question of whether to use XHTML or HTML will often not even come up in an average
web project; most web designers these days will naturally gravitate toward XHTML, as
it is perceived as being new, advanced, and the “X” makes it sound cool. The truth is,
XHTML isn’t as different from HTML as people think, and the purpose of this section of the
chapter is to discuss exactly how XHTML differs from earlier versions of HTML, debunk
some myths and misconceptions about XHTML and HTML, examine the issues behind
MIME types, and cover when it is (and isn’t) appropriate to use XHTML over HTML.

Differences between XHTML and HTML

There are several rules that apply to XHTML that do not apply to HTML. These are fairly
straightforward and you may know some (or all) of them already, but to reiterate:

The <html>, <head>, and <body> tags are all required in XHTML.

The <html> tag must have an xmlns attribute with a value of http://www.w3.org/
1999/xhtml.

All elements must be closed. I touched upon this earlier, but just remember that an
opening tag must have either an equal closing tag (if it’s a container tag) or a selfclosing
space-plus-slash.

All tags must be written in lowercase.

All attribute values must be quoted with either single quotes or double quotes.
Thus, class=page is invalid but class="page" and class='page' are both fine.

All attributes must have values. Some attributes, such as the selected attribute
used with the <option> tag, could be written in a shortened form in HTML—that is,
<option selected>data</option> would be valid. In XHTML, however, you must
write <option selected="selected">data</option>.

Ampersands should be encoded. That is, you should write &amp; instead of just &.
This is true wherever the ampersand is: in your content or in a URL.
Related Posts:
  • Divs and spans Divs and spans are two tags that, when used well, can help give your page a logical structureand some extra hooks to apply any CSS or DOM scripting that you might need later. Whenused badly, they can litter your document unn… Read More
  • Multicolumn Layout Multicolumn text formatting is one of the most common features of desktop publishing. In addition to creating attractive pages in a variety of formats, multiple columns let you present your text using shorter, easier-to-… Read More
  • XHTML vs. HTML The question of whether to use XHTML or HTML will often not even come up in an averageweb project; most web designers these days will naturally gravitate toward XHTML, asit is perceived as being new, advanced, and the “X” ma… Read More
  • Anatomy of an XHTML document Finally, let’s look at how a strict XHTML 1.0 document is laid out:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtm… Read More
  • Html Grammar The rules are in alphabetical order. The starting rule for an entire document is named html_document. a_content ::= heading   | text a_tag ::= <a>     {a_content}0 … Read More
  • HTML Paragraph HTML ParagraphParagraphs are defined with the <p> tag.<p>This is a paragraph</p><p>This is another paragraph</p>HTML '<p>' tag example<html><head><title>Example on the us… Read More
  • HTML Examples HTML headings are defined with the <h1> to <h6> tags.<h1>This is a heading</h1><h2>This is a heading</h2><h3>This is a heading</h3>HTML ParagraphsHTML paragraphs are defined wi… Read More
  • HTML Intro What is HTML?HTML is a language for describing web pages.    HTML stands for Hyper Text Markup Language    HTML is not a programming language, it is a markup language    A markup … Read More
  • HTML Extension HTM or HTML Extension? When you save an HTML file, you can use either the .htm or the .html extension. We use .htm in our examples. It is a habit from the past, when the software only allowed three letters in file extension… Read More
  • Layers Spacers and multiple columns are natural extensions to conventional HTML, existing within a document's normal flow. With version 4, Netscape took HTML into an entirely new dimension with layers. It transforms the single-… Read More
  • six HTML heading tags heading ::= h1_tag | h2_tag | h3_tag | h4_tag | h5_tag … Read More
  • Table basics in HTML It’s reasonably straightforward to create a simple table when hand-coding markup. Thebare essentials of a single table is an opening <table> tag, followed by at least one tablerow (a <tr>), followed by at least o… Read More
  • Character Entities  Character Entities The following table lists the defined standard and proposed character entities for HTML and XHTML, as well as several that are nonstandard but generally supported. Entity names, if defined… Read More
  • id and class attributes The id attribute is used to identify elements and mark up specific functional areas of a website, and the class attribute is used to classify one or more elements. These important attributes help you target elements when it … Read More
  • HTML Headings Headings are defined with the <h1> to <h6> tags. <h1> defines the largest heading. <h6> defines the smallest heading. <h1>This is a heading</h1> <h2>This i… Read More