XHTML: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м удаление коммерческой ссылки из выходных данных литературы
Строка 98: Строка 98:
|заглавие = '''HTML, XHTML и CSS. Библия пользователя'''
|заглавие = '''HTML, XHTML и CSS. Библия пользователя'''
|оригинал = HTML, XHTML, and CSS Bible
|оригинал = HTML, XHTML, and CSS Bible
|ссылка = http://www.dialektika.com/books/978-5-8459-1154-4.html
|ссылка =
|издание = 3-е изд
|издание = 3-е изд
|место = М.
|место = М.
Строка 110: Строка 110:
|заглавие = '''XHTML'''
|заглавие = '''XHTML'''
|оригинал = XHTML
|оригинал = XHTML
|ссылка = http://www.williamspublishing.com/Books/Lnd_XHTML.html
|ссылка =
|издание =
|издание =
|место = М.
|место = М.

Версия от 17:25, 24 января 2008

HTML

XHTML (англ. Extensible Hypertext Markup Language — Расширяемый язык разметки гипертекста) — язык разметки веб-страниц, по возможностям сопоставимый с HTML, однако является подмножеством XML. Как и HTML, XHTML соответствует спецификации SGML. Вариант XHTML 1.1 одобрен в качестве Рекомендации Консорциума Всемирной паутины (W3C) 31 мая 2001 года.

Преимущества

  • Для XHTML можно применять множество технологий, разработанных для XML. Например, XSLT и XPath.
  • Анализ XHTML проще и быстрее, чем HTML. Поскольку синтаксис XML строже, чем SGML, обработка XHTML возможна даже на мобильных телефонах с малыми ресурсами.

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

  • Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <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 6 и младшие версии, не смогут обрабатывать страницу, поэтому традиционно используется стандартный MIME-тип — text/html.

Также стандарт рекомендует указание <?xml version="1.0" encoding="utf-8"?> перед DTD, но это не обязательно, более того — браузер Internet Explorer воспринимает такое указание (как и любой другой текст перед <!DOCTYPE>), как признак того, что данную страницу необходимо отображать в режиме обратной совместимости, а не согласно стандарту.

Существует три типа документов XHTML: strict, transitional и frameset. Наиболее употребительной и универсальной из версий XHTML является переходная (англ. transitional), поскольку она позволяет использовать iframe (включение содержимого одной веб-страницы в другую) и атрибут target у ссылок (для указания того, например, что ссылке необходимо открываться в новом окне). Фреймовая версия (англ. frameset) представляет собой расширенный вариант transitional, добавляя к нему, как следует из названия, возможность установки frameset вместо body. DTD строгой версии XHTML (англ. strict) не содержит многих тегов и атрибутов, описанных в DTD transitional, и признанных устаревшими.

Версии XHTML

  • XHTML 1.0 Переходный (Transitional): предназначен для лёгкой миграции из HTML 3.2 и для тех, кто использует инлайн-фрэймы.
  • XHTML 1.0 Строгий (Strict): полностью отделяет содержание документа от оформления (которое теперь задаётся только через CSS), многие атрибуты (такие как, например, bgcolor и align) более не поддерживаются, их поведение можно задавать только через таблицу стилей.
  • XHTML 1.0 Фрэймовый (Frameset): используется, если необходимо разделить окно браузера на несколько фрэймов.
  • XHTML 1.1 Модульный (Module-based): авторы могут импортировать дополнительные свойства в их разметку.
  • XHTML Основной (Basic): специальная облегчённая версия XHTML для устройств, которые не могут использовать полный набор элементов XHTML — в основном используется в миниатюрных устройствах, таких как мобильные телефоны. Подразумевается, что он заменит WML и C-HTML.
  • XHTML мобильного профиля (Mobile Profile): основанный на XHTML Basic, добавляет специфические элементы для мобильных телефонов.
  • XHTML 2.0. Пока в разработке. Синтаксис еще больше приближен к синтаксису XML. Также является модульным языком.

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

Валидным (т. е. отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий технической спецификации. В идеале, все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности. Документ может быть проверен на соответствие спецификации с помощью онлайновой Службы валидации разметки W3C. Валидация обнаружит и разъяснит ошибки в 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.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

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

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

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

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

На сайте Консорциума Всемирной паутины также можно найти валидаторы для CSS, HTML-документов и др.

См. также

Ссылки


Валидаторы

Литература

  • Брайан Пфаффенбергер, Стивен Шафер, Чак Уайт, Билл Кароу. HTML, XHTML и CSS. Библия пользователя = HTML, XHTML, and CSS Bible. — 3-е изд. — М.: «Диалектика», 2006. — С. 762. — ISBN 0-7645-5739-4.
  • Челси Валентайн, Крис Минник. XHTML = XHTML. — М.: «Вильямс», 2001. — С. 480. — ISBN 0-7357-1034-1.