В связи с тем, что 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 ›