Комплексный анализ
- 1 year ago
- 0
- 0
XHTML ( англ. e x tensible h yper t ext m arkup l anguage — расширяемый язык гипертекстовой разметки ) — семейство языков разметки веб-страниц на основе XML , повторяющих и расширяющих возможности HTML . Спецификации XHTML 1.0 и XHTML 1.1 являются рекомендациями консорциума Всемирной паутины . Развитие XHTML остановлено; новые версии XHTML не выпускаются.
Главное отличие XHTML от HTML заключается в обработке документа. Документы XHTML обрабатываются своим модулем ( парсером ) аналогично документам XML. В процессе этой обработки ошибки, допущенные разработчиками, не исправляются.
XHTML соответствует спецификации SGML , поскольку XML является её подмножеством. HTML обладает множеством особенностей в процессе обработки и фактически перестал относиться к семейству SGML, что и закреплено в черновике спецификации HTML 5.
Браузер выбирает парсер для обработки документа на основании заголовка content-type , полученного от сервера:
Декларация DOCTYPE может не оказывать никакого влияния на определение парсера для обработки (зависит от используемого браузера).
Согласно синтаксису XHTML:
<img>
или
<br>
), должны иметь на конце
/
(например,
<br />
);
<option selected="selected">
или
<td nowrap="nowrap">
;
<img alt="" />
вместо
<IMG ALT="" />
);
Для XHTML-страниц рекомендуется задавать
MIME
-тип —
application/xhtml+xml
, но это не является обязательным, более того — браузер Internet Explorer 8 и младшие версии не смогут обрабатывать страницу, поэтому с XHTML 1.0 традиционно используется MIME-тип для HTML —
text/html
.
Существует три типа документов XHTML: strict, transitional и frameset. Наиболее употребительной и универсальной из версий XHTML является переходная (
англ.
transitional), поскольку она позволяет использовать
iframe
(включение содержимого одной веб-страницы в другую) и атрибут
target
у ссылок (для указания того, например, что ссылке необходимо открываться в новом окне). Фреймовая версия (
англ.
frameset) представляет собой расширенный вариант transitional и добавляет к нему, как следует из названия, возможность установки
frameset
вместо
body
. DTD ((
англ.
d
ocument
t
ype
d
efinition) определение типа документа) строгой версии XHTML (
англ.
strict) не содержит многих тегов и атрибутов, описанных в DTD transitional и признанных устаревшими.
Спецификация XHTML 1.0 одобрена в качестве рекомендации консорциума Всемирной паутины 26 января 2000 года . 1 августа 2002 года была опубликована вторая редакция спецификации.
XHTML 1.0 определяет три типа документов (по аналогии с HTML 4):
font
или атрибут
bgcolor
). Это наиболее предпочтительный тип документов.
XHTML 2.0 является последней версией XHTML. Эта версия не достигла статуса рекомендации: деятельность рабочей группы XHTML 2.0 была прекращена в конце 2010 года , а все ресурсы перенесены в рабочую группу HTML 5 . Достигнутые результаты работы над XHTML 2.0 были опубликованы 16 декабря 2010 года в виде отчёта рабочей группы ( англ. working group note).
Валидным (то есть отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий спецификации. В идеале все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности . Соответствие документа спецификации может быть проверено на сайте . При валидации будут обнаружены ошибки в XHTML-разметке; валидатор разъяснит суть ошибок.
Валидный документ должен содержать определение типа документа ( DTD ). DTD должен быть расположен до всех других элементов документа. Вот наиболее распространённые типы DTD для XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Пространство имён тегов xhtml должно быть обозначено в корневом теге как " " .
Самыми распространёнными ошибками в XHTML-разметке являются:
<br />
);
alt
, который помогает сделать документы доступнее для устройств, которые не в состоянии отображать изображения, или предназначенных для слабовидящих людей);
<body>
документа (должен быть объявлен блочный элемент, внутрь которого следует помещать содержимое);
<div>
или
<p>
не могут быть вложены внутрь инлайновых элементов
<a>
,
<span>
,
<em>
и так далее);
<a href=http://example.com/>
вместо
<a href="http://example.com/">
);
<strong><em> </strong></em>
);
&
вместо
&
);
<DIV STYLE="…">
вместо
<div style="...">
);
<!DOCTYPE …>
относительного пути к DTD-файлу (
"DTD/xhtml11.dtd"
вместо
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
).
Этот список не полный и содержит самые частодопускаемые ошибки при составлении XHTML-документов.
Валидный XHTML-документ можно снабжать специальным баннером W3C, подтверждающим валидность XHTML-разметки.