XHTML

XHTML
Изображение логотипа
Расширение .xhtml, .xht, .xml, .html или .htm
MIME-тип application/xhtml+xml
Разработчик Консорциум Всемирной паутины
Опубликован 26 января 2000
Последний выпуск 1.1 (Second Edition) (23 ноября 2010 года)
Тип формата Язык разметки
Расширен из HTML и XML
Стандарт(ы)

1.0 (Recommendation),
1.0 SE (Recommendation),
1.1 (Recommendation),
1.1 SE (Working Draft),

5 (Working Draft),
2.0 (Working Draft)
Сайт w3.org/International/art…
Логотип Викисклада Медиафайлы на Викискладе
HTML
  • п
  • о
  • р

XHTML (англ. extensible hypertext markup language — расширяемый язык гипертекстовой разметки) — семейство языков разметки веб-страниц на основе XML, повторяющих и расширяющих возможности HTML. Спецификации XHTML 1.0 и XHTML 1.1 являются рекомендациями консорциума Всемирной паутины. Развитие XHTML остановлено; новые версии XHTML не выпускаются.

Главное отличие XHTML от HTML заключается в обработке документа. Документы XHTML обрабатываются своим модулем (парсером) аналогично документам XML. В процессе этой обработки ошибки, допущенные разработчиками, не исправляются.

XHTML соответствует спецификации SGML, поскольку XML является её подмножеством. HTML обладает множеством особенностей в процессе обработки и фактически перестал относиться к семейству SGML, что и закреплено в черновике спецификации HTML 5.

Браузер выбирает парсер для обработки документа на основании заголовка content-type, полученного от сервера:

  • HTML — text/html
  • XHTML — application/xhtml+xml
  • Для локального просмотра на клиенте выбор основывается на расширении файла[уточнить].
  • В Internet Explorer вплоть до 8-й версии парсер обработки XHTML-документов отсутствует.

Декларация DOCTYPE может не оказывать никакого влияния на определение парсера для обработки (зависит от используемого браузера).

Различия между XHTML и HTML

Согласно синтаксису XHTML:

  • все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>), должны иметь на конце / (например, <br />);
  • логические атрибуты записываются в развёрнутой форме. Например, следует писать <option selected="selected"> или <td nowrap="nowrap">;
  • имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt="" /> вместо <IMG ALT="" />);
  • XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL, должны замещаться &lt; и &amp; соответственно. По рекомендации W3C браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для HTML браузеры должны были попытаться понять, что хотел сказать автор;
  • кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1).

Для 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 ((англ. document type definition) определение типа документа) строгой версии XHTML (англ. strict) не содержит многих тегов и атрибутов, описанных в DTD transitional и признанных устаревшими.

Версии XHTML

XHTML 1.0

Спецификация XHTML 1.0 одобрена в качестве рекомендации консорциума Всемирной паутины 26 января 2000 года. 1 августа 2002 года была опубликована вторая редакция спецификации.

XHTML 1.0 определяет три типа документов (по аналогии с HTML 4):

  • XHTML-1.0-Strict: тип, исключающий использование всех элементов и атрибутов, задающих графическое отображение (например, элемент font или атрибут bgcolor). Это наиболее предпочтительный тип документов.
  • XHTML-1.0-Transitional: тип, допускающий использование элементов и атрибутов, задающих графическое отображение. Указанные элементы рекомендуется использовать только при необходимости, например, для облегчения миграции документов c HTML 3.2 на XHTML.
  • XHTML-1.0-Frameset: тип, добавляющий к возможностям XHTML-1.0-Transitional использование фреймов.

XHTML 1.1

  • XHTML 1.1 Модульный (англ. module-based): авторы могут импортировать дополнительные свойства в их разметку.

XHTML Basic и XHTML MP

  • XHTML Основной (англ. basic): специальная облегчённая версия XHTML для устройств, которые не могут использовать полный набор элементов XHTML — в основном используется в миниатюрных устройствах, таких как мобильные телефоны. Подразумевается, что он заменит WML и C-HTML.
  • XHTML мобильного профиля (англ. mobile profile): основанный на XHTML Basic, добавляет специфические элементы для мобильных телефонов.

XHTML 2.0

Основная статья: XHTML 2.0

XHTML 2.0 является последней версией XHTML. Эта версия не достигла статуса рекомендации: деятельность рабочей группы XHTML 2.0 была прекращена в конце 2010 года, а все ресурсы перенесены в рабочую группу HTML 5[1]. Достигнутые результаты работы над XHTML 2.0 были опубликованы 16 декабря 2010 года в виде отчёта рабочей группы (англ. working group note).

Валидация документов XHTML

Валидным (то есть отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий спецификации. В идеале все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности. Соответствие документа спецификации может быть проверено на сайте validator.w3.org. При валидации будут обнаружены ошибки в XHTML-разметке; валидатор разъяснит суть ошибок.

Валидный документ должен содержать определение типа документа (DTD). DTD должен быть расположен до всех других элементов документа. Вот наиболее распространённые типы DTD для XHTML:

  • XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  • XHTML 1.0 Mobile
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
  • XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Пространство имён тегов xhtml должно быть обозначено в корневом теге как "http://www.w3.org/1999/xhtml"[2].

Самыми распространёнными ошибками в XHTML-разметке являются:

  • незакрытые элементы (XHTML, в отличие от HTML, требует закрытия всех элементов, в том числе не имеющих закрывающего тега, как, например, <br />);
  • отсутствие альтернативных текстов для изображений (достигающихся применением атрибута alt, который помогает сделать документы доступнее для устройств, которые не в состоянии отображать изображения, или предназначенных для слабовидящих людей);
  • присутствие текста непосредственно в теге <body> документа (должен быть объявлен блочный элемент, внутрь которого следует помещать содержимое);
  • вложение блочных элементов внутрь внутристрочных (inline) (например, блочные элементы <div> или <p> не могут быть вложены внутрь инлайновых элементов <a>, <span>, <em> и так далее);
  • пренебрежение заключением значений атрибутов в кавычки (<a href=http://example.com/> вместо <a href="http://example.com/">);
  • неправильное вложение элементов (конструкции вида <strong><em> </strong></em>);
  • неправильное использование ссылок-мнемоник (например, & вместо &amp;);
  • написание тегов и/или атрибутов прописными буквами вместо строчных (<DIV > вместо <div >);
  • задание в теге <!DOCTYPE …> относительного пути к DTD-файлу ("DTD/xhtml11.dtd" вместо "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd").

Этот список не полный и содержит самые частодопускаемые ошибки при составлении XHTML-документов.

Валидный XHTML-документ можно снабжать специальным баннером W3C, подтверждающим валидность XHTML-разметки.

См. также

Примечания

  1. Новость на сайте консорциума Архивная копия от 27 января 2011 на Wayback Machine (англ.)
  2. Conformance Definition Архивная копия от 17 декабря 2008 на Wayback Machine (англ.)

Литература

  • Эрик Фримен, Элизабет Фримен. Изучаем HTML, XHTML и CSS = Head First HTML with CSS & XHTML. — СПб.: «Питер», 2012. — 656 с. — ISBN 978-5-459-01060-2.
  • Эд Титтел, Джефф Ноубл. HTML, XHTML и CSS для чайников, 7-е издание = HTML, XHTML & CSS For Dummies, 7th Edition. — М.: «Диалектика», 2011. — 400 с. — ISBN 978-5-8459-1752-2.
  • Стивен Шафер. HTML, XHTML и CSS. Библия пользователя, 5-е издание = HTML, XHTML, and CSS Bible, 5th Edition. — М.: «Диалектика», 2010. — 656 с. — ISBN 978-5-8459-1676-1.

Ссылки

  • Официальная страница языков разметки на сайте W3C (англ.)
  • XHTML 1.0. Рекомендация W3C. (англ.)
  • XHTML 1.1. Рекомендация W3C. (англ.)
  • XHTML Basic 1.1. Рекомендация W3C. (англ.)
  • XHTML 2.0. Отчёт рабочей группы. (англ.)
  • XHTML учебник с примерами и упражнениями (рус.)
  • XHTML Basic. Перевод рекомендации W3C на русский язык.
  • Введение в XHTML (рус.)
  • Sending XHTML as text/html Considered Harmful (англ.)
Валидаторы
  • Онлайн-валидатор HTML, XHTML, MathML, SVG, SMIL (англ.)
  • Валидатор-корректор HTML Tidy (англ.)
  • CSE HTML Validator (англ.)
Перейти к шаблону «Языки разметки документов»
Офисные
документы
  • Compound Document Format
  • OOXML (SpreadsheetML, PresentationML, WordprocessingML)
  • ODF
  • UOF
Общеизвестные
Менее
известные
Перейти к шаблону «Стандарты W3C»
Продукты
и стандарты
Рекомендации
ООСО
  • IndieAuth[англ.]
  • XAdES[англ.]
  • XBL[англ.]
  • XHTML+SMIL[англ.]
  • XUP[англ.]
Рабочие проекты
Руководства
  • Руководящие принципы доступности веб-контента[англ.]
Инициативы
  • Markup Validation Service[англ.]
  • Web Accessibility Initiative[англ.]
  • WebPlatform[англ.]
Выведенные
из использования
Устаревшие
Организации
Рабочие группы
  • TAG[англ.]
  • CSS
  • SVG[англ.]
  • WebAuthn[англ.]
  • WHATWG
Группы сообщества и бизнеса
  • Web Advertising BG[англ.]
Закрывшиеся группы
  • Device Description (DDWG)[англ.]
  • HTML[англ.]
  • Multimodal Interaction Activity (MMI)[англ.]
ПО
Браузеры
  • Line Mode (1990–)[англ.]
  • Arena (1993–98)[англ.]
  • Agora (1994–97)[англ.]
  • Argo (1994–97)[англ.]
  • Amaya (браузер/редактор, 1996–2012)
Конференции