ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || XHTML™ 1.0 | 4. Отличия от HTML 4

4. Отличия от HTML 4

Этот раздел является информативным.

     4.1. Документы должны быть правильно сформированы
     4.2. Имена элементов и атрибутов должны быть в нижнем регистре
     4.3. Для не пустых элементов конечные теги обязательны
     4.4. Значения атрибутов всегда должны заключаться кавычки
     4.5. Минимизация атрибутов
     4.6. Пустые элементы
     4.7. Обращение с пробелами в значениях атрибутов
     4.8. Элементы сценариев и стилей
     4.9. Исключения SGML
     4.10. Элементы с атрибутами 'id' и 'name'
     4.11. Атрибуты с предварительно определенным набором значений
     4.12. Ссылки на примитивы, как шестнадцатиричные значения

Из-за того факта, что XHTML является приложением XML, определенные практики, которые были совершенно легальны в языке HTML 4 [HTML4], основанном на SGML, должны измениться.

4.1. Документы должны быть правильно сформированы

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

Хотя перекрытие является не корректным в языке SGML, но большинство существующих браузеров толерантны к нему.

КОРРЕКТНО: вложенные элементы.
<p>here is an emphasized <em>paragraph</em>.</p>
НЕКОРРЕКТНО: перекрытие элементов
<p>here is an emphasized <em>paragraph.</p></em>

4.2. Имена элементов и атрибутов должны быть в нижнем регистре

XHTML-документы должны использовать нижний регистр для всех имен элементов и атрибутов языка HTML. Это отличие необходимо, так как XML является чувствительным к регистру, например, <li> и <LI> являются различными тегами.

4.3. Для не пустых элементов конечные теги обязательны

В языке HTML 4, основанном на SGML, для определенных элементов разрешено опускать конечный тег; с элементами, которые сопровождаются подразумеваемым закрытием. XML не позволяет опускать конченые теги. Все элементы, отличающиеся от тех, которые объявлены в файле DTD как EMPTY, должны иметь конечный тег. Элементы, которые объявлены в файле DTD как EMPTY, могут иметь конечный тег, или могут использовать короткую запись для пустого элемента.

КОРРЕКТНО: завершенные элементы
<p>here is a paragraph.</p><p>here is another paragraph.</p>
НЕКОРРЕКТНО: незавершенные элементы
<p>here is a paragraph.<p>here is another paragraph.

4.4. Значения атрибутов всегда должны заключаться кавычки

Все значения атрибутов должны заключаться в кавычки, даже если они являются числовыми.

КОРРЕКТНО: значения атрибутов в кавычках
<td rowspan="3">
НЕКОРРЕКТНО: значения атрибутов без кавычек
<td rowspan=3>

4.5. Минимизация атрибутов

XML не поддерживает минимизацию атрибутов. Пара атрибут-значение должна записываться полностью. Имена атрибутов compact и checked нельзя указывать в элементах без их определенных значений.

КОРРЕКТНО: не минимизированный атрибут
<dl compact="compact">
НЕКОРРЕКТНО: минимизированный атрибут
<dl compact>

4.6. Пустые элементы

Пустые элементы должны иметь либо конечный тег, либо начальный тег должен заканчиваться с />. Например, <br/> или <hr></hr>. Смотрите "Руководство по совместимости HTML" для получения информации о способах обеспечения обратной совместимости с устройствам вывода для HTML 4.

КОРРЕКТНО: закрытые пустые элементы
<br/><hr/>
НЕКОРРЕКТНО: не закрытые пустые элементы
<br><hr>

4.7. Обращение с пробелами в значениях атрибутов

Когда устройства вывода обрабатывают атрибуты, они должны делать это в соответствии с разделом 3.3.3 языка XML:

  • Удалять начальные и конченые пробелы.
  • Последовательная перекодировка одного или более пробельных символов (включая обрыв строки - line break) в единичный пробел между словами.

4.8. Элементы сценариев и стилей

В XHTML элементы сценариев и стилей объявляются, как имеющие содержание #PCDATA. В результате символы < и & будут интерпретироваться как начало разметки, а примитивы, такие как & l t ; и & a m p ;, будут распознаваться, как ссылки на примитивы процессором XML такие, как < and &, соответственно. Заключение содержание элемента сценария или стиля внутри CDATA, размечающего раздел, избежит расширение этих примитивов.

<script type="text/javascript">

</script>

Разделы CDATA распознаются процессором XML, и появляются как узлы в объектной модели документа (Document Object Model), смотрите раздел 1.3 Рекомендации объектной модели первого уровня (DOM Level 1 Recommendation [DOM]).

Альтернатива состоит в использовании внешних документов сценария или стиля.

4.9. Исключения SGML

Язык SGML предоставляет пишущим файл DTD возможность исключать включение особых элементов внутри других элементов. Такие запреты (называются "исключениями") не возможны в XML.

Например, строгий файл DTD языка HTML 4 (Strict DTD) запрещает вложение элемента 'a' внутрь другого элемента 'a' на любую глубину. Невозможно прописать такие запреты в XML. Даже если эти запреты нельзя определить в файле DTD, определенные элементы не возможно вкладывать друг в друга. Подборка таким элементов и элементов, которые невозможно вкладывать друг в друга, находится в нормативном разделе "Запреты для элементов".

4.10. Элементы с атрибутами 'id' и 'name'

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

В XML идентификаторами фрагментов является тип ID, и может быть только один атрибут типа ID для элемента. Поэтому, в языке XHTML 1.0 атрибут id определяется как тип ID. Для обеспечения того, чтобы XHTML 1.0 документы являлись корректно структурированными XML-документами, XHTML 1.0 документы ДОЛЖНЫ использовать атрибут id, когда определяют идентификаторы фрагмента для элементов, указанных выше. Смотрите раздел "Руководство по совместимости с HTML" для получения информации по обеспечению обратной совместимости, когда обслуживаются XHTML-документы, как тип медиа text/html.

Обратите внимание на то, что в XHTML 1.0, атрибут name этих элементов является формально устаревающим, и будет заменен в следующей версии XHTML.

4.11. Атрибуты с предварительно определенным набором значений

Оба языка HTML 4 и XHTML имеют некоторые атрибуты, у которых есть предварительно определенные и ограниченные наборы значений (например, атрибут type элемента input). В языках SGML и XML такие атрибуты называются перечисляемыми (enumerated attributes). Для HTML 4 интерпретация этих значений не чувствительна к регистру (case-insensitive), и значение TEXT эквивалентно значению text. Для XML интерпретация этих значений чувствительна к регистру (case-sensitive), и в языке XHTML 1 все эти значения определяются в нижнем регистре.

4.12. Ссылки на примитивы, как шестнадцатиричные значения

Оба языка SGML и XML позволяют ссылки на символы с использованием шестнадцатиричных значений. В языке SGML эти ссылки могут делаться с использованием &#Xnn; или &#xnn;. В XML-документах вы должны использовать версию в нижнем регистре (т.е. &#xnn;).


← Назад | Вперед →
Copyright © 2006 -  aranea.ru