XHTML появился давно. Это нужно понять сразу. Первая спецификация вышла еще в
1999 году. Одной из причин появления XHTML стала глобальная неподготовленость
производителей софта к технологии XML. Если взглянуть на последние спецификации
W3C, такие как XSL, XML, XHTML и CSS3, то мы увидим, что соавторами большинства
из них стали специалисты Microsoft. Во многом благодаря этому, MSIE является
практически единственным браузером полностью соответствующим этим спецификациям.
С другой стороны, есди мы зайдем на W3C.org и отскроллим страницу вниз то видны
три кнопки на одной из которых явственно написанно "XHTML 1.0". И просмотреть
этот сайт можно в любом браузере, начиная с lynx. Сказать то же самое про XML, в
некоторых экзотических его разновидностях, например VRML, нельзя.
Почему XHTML более доступен? Он использует пространство имен практически
идентичное с HTML 4.01 и, таким образом, большая часть DTD уже "зашита" в
браузере. DTD (Document Type Definition) критически важен для XML-документов.
Если он недоступен, или не указан, то браузер не сможет правильно
интерпретировать код. Не указав
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
в начале HTML-документа мы не увидим никакой разницы. Это происходит потому
что этот самый loose.dtd, как уже писалось выше "зашит" в самом броузере. Как
следствие скачивать его откуда-то не требуется. Другой вопрос XML. Пространство
имен этого языка очень велико и определяется именно DTD написанным специально
для конкретной его разновидности. Например DTD для WML находится по адресу:
"http://www.wapforum.org/DTD/wml_1.1.xml"
а для RSS:
http://purl.org/rss/1.0/
И для браузера во время разбора соответствующего XML-кода эти документы
должны быть доступны. Находться они могут и не по указазанным адресам, но в
таком случае это должно быть отображенно в коде. Но вернемся к XHTML. В
принципе, большой необходимости переписывать ваш HTML-код под XHTML, скорее
всего нет. Большого преимущества, или дополнительных возможностей, это вам не
даст, а код увеличит. Честно говоря я не знаю зачем это нужно. Но раз язык есть
значит есть и причины по которым он был создан. Я не думаю что вы будете писать
свой DTD-файл из модулей XHTML 1.1 потому что если вы можете работать с DTD
документами то читать дальше вам уже не имеет смысла. Преимущество XHTML module
в том что пространство имен может быть сокращенно до того списка который вы
используете на сайте. Так, например, если у вас нет списков, то этот модуль
можно выкинуть и, тем самым, уменьшить количество загружаемой в браузер
информации. Но не думаю что это вам потребуется. Впрочем если все таки решили
переписывать код на XHTML то усвойте следующие моменты:
-
В начале кода ОБЯЗАТЕЛЬНО должно присутствовать обьявление типа документа. В
случае с XHTML оно обычно выглядит так:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Обратите внимание на encoding="utf-8".
-
Все значения атрибутов должны заключаться в кавычки ("). Вложение тегов
должно соблюдаться полностью.
-
Сервер, на котором хостится ваш сайт, должен правильно выдавать документы с
расширением .xhtml. На большинстве бесплатных хостингов это не так. Поскольку
возможная кодировка только ISO-8859-5 то сервер не должен ее
перекодировать, иначе документ будет выдан иероглифами.
-
Аттрибут ID не может повторяться дважды с одним и тем же
значением.
-
Все пустые теги BR, HR, IMG, INPUT, META и
т.д. должны перед закрывающей кавычкой содержать слэш. То есть
должен
писаться так, а не иначе.
-
Документ должен полностью соответствовать требованиям HTML 4.01 Strict. Так,
например, элемент TD не может содержать аттрибут width. Для
описания этого надо использовать конструкцию вида style="width: VALUE".
Кстати NN4 это поддерживает. То же требование предъявляется к элементу
IMG. Полный список нежелательных атрибутов вы найдете в спецификации HTML
4.01, доступной в архиве на этом сайте. Там же вы можете
скачать спецификации XHTML.
-
После написания кода проверить его вы сможете на http://validator.w3.org/