Interested Article - XHTML

HTML

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 , полученного от сервера:

  • 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 (( англ. d ocument t ype d efinition) определение типа документа) строгой версии 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. Эта версия не достигла статуса рекомендации: деятельность рабочей группы XHTML 2.0 была прекращена в конце 2010 года , а все ресурсы перенесены в рабочую группу HTML 5 . Достигнутые результаты работы над XHTML 2.0 были опубликованы 16 декабря 2010 года в виде отчёта рабочей группы ( англ. working group note).

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

Валидным (то есть отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий спецификации. В идеале все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности . Соответствие документа спецификации может быть проверено на сайте . При валидации будут обнаружены ошибки в 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 должно быть обозначено в корневом теге как " " .

Самыми распространёнными ошибками в 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 STYLE="…"> вместо <div style="..."> );
  • задание в теге <!DOCTYPE …> относительного пути к DTD-файлу ( "DTD/xhtml11.dtd" вместо "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ).

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

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

См. также

Примечания

  1. от 27 января 2011 на Wayback Machine (англ.)
  2. от 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 .

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (рус.)
  • (рус.)
  • (англ.)
Валидаторы
  • (англ.)
  • (англ.)
  • (англ.)

Same as XHTML