Оценка XHTML

Для рассмотрения XHTML приведу статью, которую ещё в 2000 году написал веб-разработчик Петер-Пауль Кох (Peter-Paul Koch), который поддерживает один из лучших ресурсов по JavaScript http://www.xs4all.nl/~ppk/js. Также много информации об этом языке разметки можно почерпнуть на сайте http://www.xhtml.ru/. В этой статье выражается взгляд атора материала на язык, который W3C разработало под видом улучшения HTML: XHTML. Объясняется сущность языка разметки и даются 4 правила для написания корректного кода.

Что же такое XHTML?

XHTML - это HTML, записанный в соответствии с синтаксическими правилами XML. Таким образом, для понимания XHTML мы должны понять XML. О нем уже написано много статей, так что ограничимся кратким описанием:

XML - это обобщенный язык разметки. В отличие от HTML, XML позволяет создавать собственные теги и таким образом формировать собственную структуру документа. Вам нужен тег <color-of-hat>? Добавьте его в ваш документ, убедитесь что программа знает, что обозначает этот тег, и все готово.

Существует несколько простых правил для XML документа (они будут перечислены ниже). До тех пор, пока все теги написаны согласно этим правилам, XML без разницы, что эти теги обозначают. XML обобщенный язык разметки, так что вы можете его использовать как вам угодно.

В противоположность XML, HTML гораздо более строго определенный язык разметки с ограниченным набором тегов. В любом случае, общий характер XML позволяет рассматривать HTML-документы как XML-документы с набором тегов для отображения в веб-браузерах. Однако, старые стандарты HTML не до конца совместимы с XML. Например, в HTML необязательно закрывать тег <P>, то есть тег </P> можно опускать. Веб-браузеру на это плевать, так как он запрограммирован, но XML-парсер выдаст ошибку о том, что ваш HTML-документ не является "правильно сформированным" (well-formed).

Чтобы устранить разрыв между этими двумя языками разметки и был разработан XHTML. По существу это обычный HTML, в который добавили синтаксические правила XML для создания well-formed документов. Так что веб-страницы станут XML-совместимыми, а веб-разработчики познакомятся с синтаксисом XML.

Правила игры

На практике, в HTML надо добавить четыре правила, чтобы получился XHTML:

  1. Все теги должны быть записаны в нижнем регистре, то есть нельзя писать <BODY>, а надо писать <body>
  2. Все теги должны быть закрыты
        2a. В случае, если элемент не имеет закрывающего тега (например, <IMG> или <BR>), надо добавлять слэш в конце тега <img /> и <br />
  3. Вложенность тегов должна быть корректной. Например, нельзя писать <B><P>текст</B></P>, а надо писать <p><b>текст</b></p>
  4. Все атрибуты должны быть заключены в кавычки. Например, нельзя писать <P ALIGN=center>, а надо писать <p align="center">.

Хорошая новость в том, что у браузеров практически нет проблем с XHTML. Вообще говоря, правила 1, 2 и 4 уже есть в HTML, но не являются обязательными, тогда как правило 3 является обязательным, хотя браузеры в большинстве случаев игнорируют ошибки вложенности. Единственное действительно новое правило — это правило 2а. Однако, это правило приводит к проблемам со старыми браузерами только в том случае, когда вы записываете слэш без пробелов, вот так <br/>. Браузер думает, что это тег br/, а такого он знать не знает, так что никак на него не отреагирует. Если вставлять пробел, то проблема будет решена. Если вы напишите <br />, то браузер увидит тег br с неизвестным атрибутом /. Тег br будет отработан корректно, а неизвестный атрибут / тихо проигнорирован.

Проверить валидность, т.е. соответствие кода разметки стандартам можно описанным на странице Валидатор html кода методом.

Причины необходимости применения XHTML

Консорциум W3C гоорит о следующих вещах:

Разработчики документов и разработчики браузеров откроют новые пути выражения своих идей через новую разметку. В XML относительно легко вводить новые элементы или новые атрибуты. Язык XHTML разработан для согласования этого расширения посредством специальных XHTML-модулей, которые можно разрабатывать совершенно самостоятельно. Эти модули позволят комбинировать существующие и новые возможности при разработке новых документов и новых браузеров.

Постоянно появляются новые альтернативные способы доступа в интернет. […] XHTML разрабатывался с учетом общей совместимости пользовательских браузеров (user agents). Так чтобы новые пользовательские браузеры, сервера и прокси могли достичь наилучшей трансформации контента. В конечном счете, можно будет разработать XHTML-конформный контент, который будет доступен из любого XHTML-конформного пользовательского браузера

Оригинал статьи http://www.bcetyt.ru/internet/hosting/xhtml.html


Google