Отличия XHTML от HTML

В связи с тем, что XHTML является приложением XML , некоторые действия. которые совершенно правильны в HTML на базе SGML , должны быть изменены.

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

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

  КОРРЕКТНО: вложенные элементы;

 <p>here is an emphasized <em>paragraph</em>.</p>;

 НЕКОРРЕКТНО: перекрывающиеся элементы;

 <p>here is an emphasized <em>paragraph.</p></em>.

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

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

для непустых элементов необходимы конечные теги;

В HTML 4 на базе SGML , некоторые элементы допускали отсутствие конечного тега при наличии других последующих элементов с закрывающими тегами. Такое отсутствие конечных тегов не допускается в XHTML на базе XML . Все элементы, за исключением тех, которые объявлены в ОТД* как EMPTY , должны иметь конечный тег.

 КОРРЕКТНО: закрытые элементы;

 <p>here is a paragraph.</p><p>here is another paragraph.</p>;

 НЕКОРРЕКТНО: незакрытые элементы .

 <p>here is a paragraph.<p>here is another paragraph.

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

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

  КОРРЕКТНО: атрибут — в кавычках;

  < table rows ="3"> ;

  НЕКОРРЕКТНО: атрибут — не в кавычках.

  < table rows =3>.

минимизация атрибутов;

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

  КОРРЕКТНО: неминимизированный атрибут;

  < dl compact =" compact "> ;

  НЕКОРРЕКТНО: минимизированный атрибут.

  < dl compact >.

пустые элементы;

Пустые элементы обязаны иметь конечный тег, или стартовый тег обязан заканчиваться   /> . Например, < br /> или < hr ></ hr > .

  КОРРЕКТНО: законченные пустые теги;

  < br />< hr />;

  НЕКОРРЕКТНО: незаконченные пустые теги.

  < br >< hr >

обработка пробелов в значениях атрибутов;

ПА вырезают ведущие и ведомые пробелы из значений атрибутов и превращают последовательности из одного или более пробельных символов (включая обрывы строки) в одиночный межсловный пробел (символ пробела ASCII в западных языках).

элементы Script и Style;

В XHTML элементы script и style объявлены как имеющие содержимое # PCDATA . Как результат этого, < и & будут рассматриваться как начало разметки, а мнемоники, такие как & lt ; и & amp ; , будут считаться процессором XML мнемониками символов < и & соответственно. Перенос содержимого элементов script или style в раздел, помеченный CDATA , позволит избежать расшифровки этих мнемоник.
<script> <![CDATA[ … unescaped script content … ]]> </script>

Альтернативой может быть использование внешних документов скриптов и стилей.

исключения SGML;

SGML предоставлял создателям ОТД* возможность исключать некоторые элементы как содержимое элемента. Такие запрещения (называемые "исключения") невозможны в XML .
Например, Строгое ОТД* HTML 4 ( Strict DTD ) запрещает вложение элемента ‘ a ‘ в другой элемент ‘ a ‘ на любую глубину. В XML об этом не может быть даже и речи. Хотя эти запрещения и могут отсутствовать в ОТД*, определённые элементы не могут вкладываться.

элементы с атрибутами "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 для определения идентификаторов фрагмента, и даже в тех элементах, которые исторически имели также атрибут name .
Обратите внимание, что в XHTML 1.0 атрибут name этих элементов формально не рекомендуется и будет удалён в последующих версиях XHTML .

двойные тире в комментариях;

в комментариях двойные тире "—" могут обозначать только начало и конец комментария.

НЕПРАВИЛЬНО:

<!— использовать разделитель, написанный ниже — нельзя и этот комментарий — неверен —>
  <!———————————>

ПРАВИЛЬНО:

<!— использовать разделитель, написанный ниже — — можно и этот комментарий — — верен —>
<!—==== — — — — ====—>

Таким образом, двойные тире "—" не обозначающие начало и конец комментария в его тексте должны быть чем-либо заменены или разделены пробелом, например "- -".

‹ Что такое XHTML?
Вверх
Преимущества XHTML ›

Айтистанция
Добавить комментарий

Adblock
detector