xHTML – расширяемый гипертекстовый язык разметки. По сути является тем же HTML, переопределенным как XML. HTML и xHTML соответствуют спецификации SGML.
Главное отличие xHTML от HTML – это более строгий синтаксис. Вот основные различия:
1. Теги и их атрибуты, а также значения атрибутов, должны быть в нижнем регистре (Исключение составляет некоторые элементы DOCTYPE).
2. Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (напр. img или br) должны иметь на конце / (напр. <br />).
3. Все значения атрибутов должны быть в "кавычках",например align="center". Символы < , > и & в тексте и URL должны замещаться на < , > и & соответственно.
4. Обязательно должны присутствовать объявление DOCTYPE, элементы head и title, элементы html и body, пространство имен: <html xmlns=" http://www.w3.org/1999/xhtml" xml:lang="en" >
5. Теги должны иметь правильную вложенность, вот так будет НЕправильно: <p><b></p></b>.
Правильно: <p><b></b></p>.
6. Булевы атрибуты записываются в развернутой форме. Напр., <option selected="selected">.
7. Кодировкой по умолчанию является UTF-8.
8. Некоторые элементы, пришедшие из HTML, считаются устаревшими, вместо них рекомендуется использовать CSS. Многое зависит от выбранной версии и схемы xHTML.
XHTML более последователен, чем HTML, что снижает вероятность возникновения ошибок. Встретив в синтаксисе xhtml-страницы ошибку, браузер с большой долей вероятности прекратит ее обработку и выведет ошибку. XHTML является частью семейства Web-стандартов (также включающего в себя CSS и W3C DOM), что позволяет контролировать внешний вид и поведение страницы на разных платформах, браузерах и устройствах.
Тем не менее, есть универсальный вариант, так сказать золотая середина между валидным синтаксисом и доступностью - это xHTML страница в .html контейнере, вот с такой «шапкой»: