Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие 2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.34 Mб
Скачать

Хорошо сформированный xhtml

Web-браузеры лояльно относятся к неаккуратному HTML-коду, но XHTML (будучи XML-приложением) требует, чтобы вы использовали строгие правила синтаксиса XML-разметки. XHTML документы отличаются от HTML-документов тем, что в первом случае вы должны быть абсолютно уверены, что документ выполняет синтаксические правила XML (иными словами, является хорошо сформированным).

В XML в именах элементов и атрибутов учитывается регистр, т. е. <img>, <lmg> и <IMG> при анализе оказываются разными элементами. Когда HTML был переработан в XHTML, все элементы решено было писать в нижнем регистре. Создавая XHTML-документы (и связанные с ними таблицы стилей), убедитесь, что все теги и имена атрибутов находятся в нижнем регистре. Для значений атрибутов требования к учету регистра отсутствуют.

В XHTML обязательно нужно заключать все значения атрибутов в кавычки. Допустимы и двойные, и одинарные кавычки, если они единообразно используются во всем документе. Если ранее можно было спокойно опускать кавычки вокруг одиночных слов или числовых значений, то теперь нужно учитывать, что в кавычки заключается любое значение атрибута.

В XHTML все элементы должны завершающий тег, иначе будет зарегистрирована ошибка и документ будет признан не соответствующим стандарту. Завершать необходимо и пустые элементы. Например, для переноса строки <br> в XHTML требуется завершение элемента. Достаточно просто поставить слеш перед закрывающей скобкой, обозначая конец элемента. Таким образом, в XHTML перенос строки обозначается как <br/>. Чтобы большое число браузеров могло нормально воспринимать XHTML-документ, обязательно добавляйте пробел перед закрывающим слешем (<br />). В этом случае закрывающий тег будет воспринят правильно.

XML (а следовательно, и XHTML) не поддерживает сокращенную запись атрибутов, практику, принятую в SGML, при которой некоторые атрибуты можно сокращать до одного значения. Если в HTML есть много сокращенных атрибутов, таких как checked и nowrap, в XHTML значения должны объявляться явным образом, т.е. checked="checked" и nowrap="nowrap". Перечислим атрибуты, которые являлись сокращенными в HTML, но для которых в XHTML требуются значения.

checked=«checked» disabled=«disabled» noresize=«noresize»

compact=«compact» ismap=«ismap» nowrap=«nowrap»

declare=«declare» multiple=«multiple» readonly=«readonly»

defer=«defer» noshade=«noshade» selected=«selected»

Атрибуты id и name

В HTML атрибуты name могут использоваться для элементов a, applet, form, frame, iframe, img и map. Атрибуты name и id могут использоваться в HTML для обозначения фрагментов документов.

В XML для обозначения фрагментов могут использоваться только элементы id, и на каждый элемент может приходиться только один такой элемент. В XHTML вместо элементов name при идентификации фрагментов документа в упомянутых выше эле­ментах должны употребляться элементы id. Фактически атрибут name для таких элементов в спецификации XHTML 1.0 считается устаревшим.

Если идентификаторы фрагментов должны работать в Netscape 4, используйте и name, и id. К сожалению, это приведет к ошибкам при проверке на допустимость по XHTML 1.0 Strict или XHTML 1.1, и, следовательно, вам лучше по возможности применять для обозначения идентификаторов фрагментов только атрибут id. Единственной допустимой областью применения атрибута name остается семантика отправки форм в таких элементах управления формой, как input.