- •1. Синтаксис элемента разметки
- •2. Требования, предъявляемые к хорошо сформированному (X)html документу
- •1) Все символы в именах тэгов и атрибутов должны быть набраны в нижнем регистре.
- •2) Значения атрибутов - в кавычках (одинарных или двойных).
- •5) Явное указание значений следующих атрибутов
- •8) Защита скриптов.
- •9) Атрибуты id и name
- •3. Структура (X)html-документа
- •3.1. Декларация html
- •3.2. Корневой элемент (определение границ документа)
- •3.3. Заголовок документа
- •3.4. Тело документа
- •3.5.3Адание цвета
5) Явное указание значений следующих атрибутов
checked=”checked”, disabled=”disabld”, noresize=”noresize”,
compact=”compact”, ismap=”ismap”, nowrap=”nowrap”,
declare=”declare”, multiple=”multiple”, readonly=”readonly”,
defer=”defer”, noshade=”noshade”, selected=”selected”.
6) Требования по вложенности. Вложенные тэги следует закрывать, начиная с самого последнего и двигаясь к первому.
<р>I can <em>fly!</em></p> и не перекрываются, как показано ниже:
<р>I can <em>fly!</p></em>
В DTD XHTML включено специальное примечание «Content Models for Exclusions», обеспечивающее следующее:
1) элемент <а> не может содержать другой элемент <a>
2) элемент <pre> не может содержать элементы
img, object, applet, big, small, sub, sup, font или basefont;
3) элемент form не может содержать другие элементы form;
4) элемент button не может содержать элементы:
a, form, input, select, textarea, label, button, iframe или isindex;
5) элемент label не может содержать другие элементы label.
7) Символьные сущности. В XHTML (как приложении XML) большое внимание уделяется использованию специальных символов, таких как <, > и &.
Все специальные символы в XHTML-документе должны представляться в форме соответствующих сущностей.
Символьные сущности должны использоваться вместо таких символов, как < и &, в обычном тексте, как показано в приведенном ниже примере.
<р> значение A < В </р>
<р> Laverne & Shirley </р>
В тех местах, где раньше обычно использовались специальные символы, например в названии документа или в значении атрибута теперь необходимо использовать символьную сущность.
8) Защита скриптов.
Обычной практикой является заключение скриптов и таблиц стилей в комментарии (между < ! -- и -->). К сожалению, в XML комментарии рассматриваются как неважная информация и комментарии могут быть просто удалены из документа перед обработкой. Чтобы избежать эту проблему, используйте раздел XML CDATA.
Материал заключается в <! [cdata[. ..]]>, рассматривается далее как простые текстовые символы и не анализируется
<script language="JavaScript">
<![CDATA[
...здесь JavaScript... ]]>
</script>
При использовании этого метода возникает проблема обратной совместимости. HTML-браузеры игнорируют раздел, XML CDATA, а XML-браузеры игнорируют заключенные в комментарий скрипты и таблицы стилей. Так что всем угодить невозможно. Одним из решений этой проблемы является размещать скрипты и стили в отдельных файлах и ссылаться на них в документах при помощи соответствующих внешних ссылок. Обычной практикой является неиспользование CDATA и комментариев, а хранение скриптов и стилей во внешних файлах. Хотя это и не является обязательным, это настоятельно рекомендуют делать в XHTML и при управлении документами.
9) Атрибуты id и name
Атрибуты name и id могут использоваться в документах для обозначения уникальным именем отдельных фрагментов (элементов) документа. Это делается для того, чтобы можно было обратиться к этим фрагментам (элементам) по имени или идентификатору.
В HTML атрибут name может использоваться для элементов a, applet, form, frame, iframe, img и map.
В XML для обозначения фрагментов могут использоваться только атрибут id, и на каждый элемент может приходиться только один такой атрибут.
B XHTML вместо элементов name при идентификации фрагментов документа в упомянутых выше элементах должны употребляться атрибут id. Фактически атрибут name для таких элементов в спецификации XHTML 1.0 считается устаревшим.
Здесь снова возникает проблема совместимости с браузерами. Некоторые старые браузеры не распознают атрибут id как идентификатор фрагмента документа (современные браузеры, соответствующие стандартам, обрабатывают его прекрасно). Для совместимости можно одновременно использовать и name и id. К сожалению, это приведет к ошибкам при проверке на допустимость по XHTML 1.0 Strict или XHTML 1.1, и, следовательно, вам лучше по возможности применять для обозначения идентификаторов фрагментов только атрибут id.
Единственной допустимой областью применения атрибута name остается элементы задания полей формы.
Проверяйте HTML-код на допустимость
Чтобы быть абсолютно уверенным в совместимости, вы должны пропустить HTML-код через инструмент проверки па допустимость. Например, можно использовать инструмент с сайта W3C (validator.w3.org). Список других служб проверки можно увидеть на странице Web Design Group по адресу www.htmlheip.com/links/validators.htm.
