.XHTML вариант №
XHTML — это текстовый формат файла с разметкой в XML, использующий переформулировку HTML 4.0. Эти файлы хорошо подходят для открытия или просмотра в веб-браузере. XHTML был разработан, чтобы быть более структурированным, менее скриптовым, универсальным; используя все существующие возможности XML и многое другое независимо от устройства. XHTML предоставляет в целом полезный набор элементов и атрибутов с опциями расширения в сочетании с таблицами стилей. Атрибуты используются из коллекции атрибутов метаданных. XHTML обеспечивает гибкость и доступность, подчиняя все элементы представления HTML таблицам стилей. Таблицы стилей более универсальны, чем эти презентационные элементы. Спецификации для HTML 4.01, HTML5 и XHTML динамично разрабатываются Консорциумом World Wide Web (W3C).
Краткая история формата файлов XHTML
История XHTML начинается с проекта документа, опубликованного в декабре 1998 года консорциумом World Wide Web. Этот документ ссылается на «Переформулирование HTML в XML», спецификацию под названием XHTML 1.0. Эта новая спецификация переформулировала HTML в XML с использованием существующих элементов или атрибутов. В мае 1999 года Консорциум W3 объявил, что HTML 4.0 был преобразован в XML-приложение. то есть XHTML. 26 января 2000 года W3C выпустила первую спецификацию, определяющую XHTML 1.0. Далее, 31 мая 2001 года, W3C объявил XHTML независимым языком и начал работу над разработкой HTML 5.0. Однако в 2005 году была сформирована рабочая группа (WHATWG), целью которой было улучшение обычного HTML независимо от XHTML. В конечном итоге WHATWG начала работать над HTML5 параллельно с XHTML 2.
XHTML-формат файла
XHTML — это формат, представляющий собой набор различных типов документов и модулей, которые имитируют, классифицируют и расширяют HTML 4. Файлы в XHTML основаны на XML и предназначены для работы с пользовательскими агентами на основе XML. Файлы XHTML соответствуют XML. Стандартные инструменты XML используются для просмотра, редактирования и проверки файлов XHTML. Объектная модель документа HTML или приложения, зависящие от объектной модели документа XML [DOM], могут работать через документы XHTML. Выбирая XHTML сегодня, разработчики контента могут пользоваться всеми преимуществами, связанными с XML, не беспокоясь о прямой или обратной совместимости своего контента.
Набор связанных элементов создает модуль в XHTML. Модуль формы или таблицы может содержать различные элементы формы или таблицы, которые могут отображаться на веб-странице. Модульность направлена на то, чтобы изолировать элементы HTML в наборы многочисленных связанных элементов. Чтобы разработчики контента могли воспользоваться преимуществами выбора модулей для разных типов устройств. Более того, модули позволяют пользовательским агентам выбирать элементы, не теряя согласованности со стандартом XHTML. Требования к синтаксическому анализу XHTML такие же, как у XML, в то время как HTML использует свои собственные.
Соответствие документа
XHTML2 предлагает спецификации, соответствующие документам XHTML 1.0, в которых используются элементы пространств имен и атрибуты из XML и XHTML 1.0. Соответствие документа бывает двух типов.
Строго соответствующий документ основан на XML, для которого требуются только обязательные службы, определенные в этой спецификации. Для файлов XHTML должны выполняться следующие критерии:
- Файл должен соответствовать ограничениям, определенным в DTD и в Приложении B.
- Базовым элементом файла должен быть html.
- Базовый элемент файла должен содержать объявление для пространства имен XHTML и должен быть определен как:
http://www.w3.org/1999/xhtml.
- Базовый элемент может быть записан как:
<html xmlns#"http://www.w3.org/1999/xhtml" xml:lang#"en" lang#"en">
Перед базовым элементом должен быть объявлен DOCTYPE, открытый идентификатор которого должен ссылаться на одно из трех определений типа документа (DTD). Системный идентификатор может быть изменен в соответствии с текущими системными соглашениями.
<!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">
В документах XML нет необходимости указывать объявления XML во всех документах; однако разработчики контента склонны использовать объявления XML во всех своих XHTML-документах. Это объявление является обязательным либо в том случае, если кодировка символов документа отличается от UTF-8/16, либо в управляющем протоколе не указана кодировка. Следующий пример документа XHTML определяет объявления XML
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns#"http://www.w3.org/1999/xhtml" xml:lang#"en" lang#"en">
<head>
<title>Public Property</title>
</head>
<body>
<p>changed to <a href#"http://sample.com/">sample.com</a>.</p>
</body>
</html>
Соответствующий пользовательский агент должен выполнять следующие правила:
- Анализ и оценка документа XHTML выполняются агентом пользователя, который обеспечивает его соответствие Рекомендации XML 1.0.
- В случае проверки пользовательского агента он должен проверить действительность документов для их DTD, на которые они ссылаются, в соответствии с XML. Когда файл XHTML обрабатывается пользовательским агентом как общий XML, функции идентификатора типа будут распознаваться как идентификаторы фрагментов.
Если пользовательский агент сталкивается с нераспознанным элементом, он должен выполнить следующие обязательные критерии.
- обработать содержимое этого неизвестного элемента
- игнорировать атрибут и его значение
- Используйте значение атрибута, предоставленное по умолчанию.
Когда пользовательский агент сталкивается с объявлением ссылки на сущность, которое ранее не было обработано, оно должно быть обработано как символы (начиная со знака «&» и заканчивая точкой с запятой). Во время обработки контента символы или ссылки на сущности символов, которые предсказуемы агентом пользователя, но не могут быть отображены, могут использовать любую альтернативную визуализацию, которая дает аналогичное значение. В таком случае документ должен отображаться таким образом, чтобы пользователю было очевидно, что процесс рендеринга не был нормальным. Для обработки пробелов пользовательский агент должен искать определение в символах CSS [CSS2].
XHTML обратная совместимость
Обратная совместимость документов XHTML 1. хорошо знакома с пользовательскими агентами HTML 4, если соблюдаются соответствующие правила. XHTML 1.1 полностью совместим, за исключением рубиновых аннотаций, хотя они обычно игнорируются браузерами HTML 4. XHTML 2.0 сравнительно менее совместим, тем не менее проблема частично решена за счет использования сценариев.