Xhtml

Веб-Монстр
XHTML (Extensible HTML) по сути представляет собой тот же самый HTML, но с более строгим синтаксисом. Те ошибки, что мог бы вам "простить" HTML, недопустимы в XHTML.

Различия между HTML и XHTML

Для того чтобы понять разницу между HTML и XHTML, рассмотрим пример html-документа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>HTML-документ</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
</head>
<DIV ALIGN=center>
<h2><b>Lorem ipsum</h2></b>
<P>Lorem ipsum dolor <br>sit amet consectetuer Ut sagittis molestie orci Aenean.
<P>Lorem ipsum dolor <br>sit amet consectetuer Suspendisse Suspendisse ut Curabitur vel.
</DIV>
А теперь то же самый документ в XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XHTML-документ</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
</head>
<body>
<div align="center">
<h2><b>Lorem ipsum</b></h2>
<p>Lorem ipsum dolor <br />sit amet consectetuer Ut sagittis molestie orci Aenean.</p>
<p>Lorem ipsum dolor <br />sit amet consectetuer Suspendisse Suspendisse ut Curabitur vel.</p>
</div>
</body>
</html>
Различия между html и xhtml-документами:

Первое, что бросается в глаза - теги в нижнем регистре. Все атрибуты тегов в xhtml-документе должны быть записаны в нижнем регистре.
Одиночные теги имеют закрывающую косую черту (обратный слэш). В данном примере мы видим один закрывающий тег <br />, так же будут оформляться и hr (<hr />), и <img> (<img />), и <meta> (<meta />), и другие одиночные теги.
Примечание: кроме доктайпа, который оформляется так же, как и в html-документах.
Все значения атрибутов записываются в кавычках. Вообще стоит завести себе привычку и в HTML записывать в кавычки.
Некоторые парные теги в HTML возможно было записывать без закрывающего тега. На примере html-документа мы видим <p>, у которого отсутствует закрывающий тег. В XHTML все должно быть закрыто.
В XHTML закрывающие теги следуют в обратном порядке открывающим тегам. Т.е. в HTML запись <h1><b>Lorem ipsum</h2></b> "прокатит" (хотя и там это грубейшая ошибка), а в XHTML такого быть не должно.
В XHTML обязательно должен быть указан доктайп. Доктайп XHTML бывает трех типов - Strict, Transitional и Frameset. Тип Strict указывает, что документ следует строгим правилам синтаксиса. Transitional вносит некоторые "послабления" в синтаксис, а Frameset указывает на наличие фреймов в документе.
Тег <html> в XHTML может иметь параметры, например xml:lang и lang, указывающие язык описания и язык документа соответственно.
Исходя из этого можно сделать вывод, что XHTML прививает "хороший" стиль написания кода и способствует написанию валидного кода.