XHTML

редактировать
Язык разметки, который помещает HTML в форму XML
XHTML
Расширение имени файла .xhtml,.xht,..xml,.html,.htm
Тип Интернет-носителя application / xhtml + xml
РазработаноКонсорциумом World Wide Web (W3C)
Первоначальный выпуск26 Январь 2000 (2000-01-26)
Последний выпуск 5.0. (28 октября 2014; 6 лет назад (2014-10-28))
Тип форматаЯзык разметки
Расширенный изXML, HTML
Стандартный W3C HTML5 (Рекомендация)
Открытый формат ?Да

Расширяемый язык разметки гипертекста (XHTML ) является частью семейства XML языков разметки. Он отражает или расширяет версии широко используемого языка гипертекстовой разметки (HTML), языка, на котором сформулированы веб-страницы.

В то время как HTML до HTML5 был определен как приложение Standard Generalized Markup Language (SGML), гибкой структуры языка разметки, XHTML - это приложение XML, более ограниченное подмножество SGML. Документы XHTML правильно сформированы и поэтому могут быть проанализированы с использованием стандартных синтаксических анализаторов XML, в отличие от HTML, для которого требуется мягкий синтаксический анализатор HTML.

XHTML 1.0 стал World Wide Web Консорциум (W3C) рекомендация 26 января 2000 года. XHTML 1.1 стал рекомендацией W3C 31 мая 2001 года. Стандарт, известный как XHTML5, разрабатывается как XML-адаптация спецификации HTML5.

Содержание
  • 1 Обзор
    • 1.1 Мотивация
    • 1.2 Связь с HTML
    • 1.3 Принятие
    • 1.4 Критика
  • 2 версии XHTML
    • 2.1 XHTML 1.0
    • 2.2 Модуляризация XHTML
    • 2.3 XHTML 1.1: XHTML на основе модулей
    • 2.4 XHTML Basic
      • 2.4.1 XHTML-Print
    • 2.5 Мобильный профиль XHTML
      • 2.5.1 Мобильный профиль XHTML 1.1
      • 2.5.2 XHTML Mobile Profile 1.2
      • 2.5.3 XHTML Mobile Profile 1.3
    • 2.6 XHTML 1.2
    • 2.7 XHTML 2.0
    • 2.8 XHTML5
  • 3 Семантическое содержание в XHTML
  • 4 Допустимые документы XHTML
    • 4.1 Корень элемент
    • 4.2 DOCTYPE
    • 4.3 XML-объявление
  • 5 Bac обратная совместимость
    • 5.1 Примеры
  • 6 Перекрестная совместимость XHTML и HTML
  • 7 См. также
  • 8 Ссылки
  • 9 Внешние ссылки
Обзор

XHTML 1.0 - это переформулировка трех типов документов HTML 4 как приложений XML 1.0 ». Консорциум World Wide Web (W3C) также продолжает поддерживать Рекомендацию HTML 4.01, и спецификации для HTML5 и XHTML5 активно разрабатываются. В текущем документе с рекомендациями XHTML 1.0, опубликованном и исправленном до августа 2002 г., W3C прокомментировал: «Семейство XHTML - это следующий шаг в эволюции Интернета. Переходя на XHTML сегодня, разработчики контента могут войти в мир XML с все сопутствующие преимущества, сохраняя при этом уверенность в обратной и будущей совместимости своего контента ».

Однако в 2005 году Рабочая группа по технологиям веб-гипертекстовых приложений (WHATWG) сформировала, независимо от W3C, чтобы работать над продвижением обычного HTML, не основанного на XHTML. WHATWG в конечном итоге начала работу над стандартом, который поддерживал сериализации как XML, так и не XML , HTML5, параллельно со стандартами W3C, такими как XHTML 2. В 2007 году рабочая группа W3C по HTML проголосовали за официальное признание HTML5 и работу над ним в качестве стандарта HTML следующего поколения. В 2009 году W3C допустил истечение срока действия устава рабочей группы XHTML 2, признав, что HTML5 будет единственным стандартом HTML следующего поколения, включая сериализации как XML, так и не XML. Из двух сериализаций W3C предлагает большинству авторов использовать синтаксис HTML, а не синтаксис XHTML.

Мотивация

XHTML был разработан, чтобы сделать HTML более расширяемым и повысить совместимость с другими форматами данных. Кроме того, браузеры не допускали ошибок в HTML, и большинство веб-сайтов отображалось, несмотря на технические ошибки в разметке; XHTML ввел более строгую обработку ошибок. HTML 4 якобы был приложением Standard Generalized Markup Language (SGML); однако спецификация SGML была сложной, и ни веб-браузеры, ни Рекомендация HTML 4 не соответствовали ей полностью. Стандарт XML, одобренный в 1998 г., обеспечивал более простой формат данных, близкий по простоте к HTML 4. При переходе на формат XML появилась надежда, что HTML станет совместимым с общими инструментами XML; серверы и прокси-серверы смогут при необходимости преобразовывать контент для ограниченных устройств, таких как мобильные телефоны. Используя пространства имен, документы XHTML могут обеспечивать расширяемость за счет включения фрагментов из других языков на основе XML, таких как Scalable Vector Graphics и MathML. Наконец, обновленная работа предоставит возможность разделить HTML на повторно используемые компоненты (Модуляризация XHTML ) и очистить неаккуратные части языка.

Связь с HTML

Там есть различные различия между XHTML и HTML. Объектная модель документа (DOM) - это древовидная структура, которая представляет страницу внутри приложений, а XHTML и HTML - это два разных способа представления этого в разметке. Оба менее выразительны, чем DOM - например, «-» может быть помещен в комментарии в DOM, но не может быть представлен в комментариях ни в XHTML, ни в HTML - и, как правило, синтаксис XML XHTML более выразителен, чем HTML (например,, произвольные пространства имен не допускаются в HTML). XHTML использует синтаксис XML, в то время как HTML использует синтаксис псевдо SGML (официально SGML для HTML 4 и ниже, но никогда на практике и стандартизован в отличие от SGML в HTML5). Поскольку выражаемое содержимое DOM в синтаксисе немного отличается, есть некоторые изменения в фактическом поведении между двумя моделями. Однако различия в синтаксисе можно преодолеть, реализовав в разметке альтернативную структуру перевода.

Во-первых, есть некоторые различия в синтаксисе:

  • В целом правила XML требуют, чтобы все элементы были закрыты либо отдельным закрывающим тегом, либо с использованием самозакрывающегося синтаксиса (например, .), в то время как синтаксис HTML позволяет открывать некоторые элементы, потому что либо они всегда пусты (например, ), либо их конец может быть определен неявно («пропускаемость», например,

    ).

  • XML чувствителен к регистру для элемента и атрибут имен, а HTML - нет.
  • Некоторые сокращенные функции в HTML опущены в XML, например, (1) минимизация атрибутов, где значения атрибутов или их кавычки могут быть опущены (например, или , в то время как в XML это должно быть выражено как ); (2) минимизация элементов может использоваться для полного удаления элементов (например, , выведенных в таблице, если не указано); и (3) редко используемый синтаксис SGML для минимизации элементов («shorttag»), который не реализуется в большинстве браузеров.
  • Существует множество других технических требований, связанных с пространствами имен и точным анализом пробелов и определенных символов и элементов. Точный разбор HTML на практике до недавнего времени не был определен; см. спецификацию HTML5 ([HTML5] ) для получения полной информации или рабочее резюме (HTML и XHTML ).

В дополнение к синтаксическим различиям, есть некоторые различия в поведении, в основном возникающие из-за основные различия в сериализации. Например:

  • Поведение при ошибках синтаксического анализа отличается. Неустранимая ошибка синтаксического анализа в XML (например, неправильная структура тега) приводит к прерыванию обработки документа.
  • Большая часть содержимого, требующего пространств имен, будет не работают в HTML, за исключением встроенной поддержки SVG и MathML в анализаторе HTML5 вместе с некоторыми магическими префиксами, такими как xlink.
  • Обработка JavaScript отличается в XHTML, с небольшими изменениями в чувствительности к регистру некоторых функций, и другие меры предосторожности, чтобы ограничить обработку правильно сформированным содержимым. Сценарии не должны использовать метод document.write (); он недоступен для XHTML. Свойство innerHTMLдоступно, но не будет вставлять неправильно сформированный контент. С другой стороны, его можно использовать для вставки • правильно сформированное содержимое с пространством имен в XHTML.
  • Каскадные таблицы стилей (CSS) также применяются иначе. Из-за чувствительности к регистру в XHTML все селекторы CSS становятся чувствительными к регистру для документов XHTML. Некоторые свойства CSS, например фоны, установленные в элементе в HTML, «наследуются вверх» в элемент ; похоже, что это не относится к XHTML.

Принятие

Сходство между HTML 4.01 и XHTML 1.0 привело к тому, что многие веб-сайты и системы управления контентом приняли первоначальную рекомендацию W3C XHTML 1.0. Чтобы помочь авторам в переходе, W3C предоставил руководство о том, как публиковать документы XHTML 1.0 в формате HTML и предоставлять их браузерам, которые не были разработаны для XHTML.

Такой «HTML-совместимый» контент отправляется с использованием медиа-типа HTML (text / html), а не официального интернет-медиа-типа для XHTML (application / xhtml + xml). Следовательно, при измерении принятия XHTML и обычного HTML важно различать, сравнивается ли это использование типа мультимедиа или фактическое содержимое документа.

Большинство веб-браузеров имеют зрелую поддержку всех возможные типы носителей XHTML. Заметным исключением является Internet Explorer версии 8 и более ранние от Microsoft ; вместо рендеринга содержимого application / xhtml + xml, диалоговое окно предлагает пользователю сохранить содержимое на диск. И Internet Explorer 7 (выпущенный в 2006 г.), и Internet Explorer 8 (выпущенный в марте 2009 г.) демонстрируют такое поведение. В 2005 году разработчик Microsoft объяснил, что приоритетами IE7 были улучшенная безопасность браузера и поддержка CSS, и что надлежащую поддержку XHTML будет сложно внедрить в ориентированный на совместимость анализатор HTML; однако Microsoft добавила поддержку истинного XHTML в IE9.

Пока эта поддержка не получила широкого распространения, большинство веб-разработчиков избегают использования XHTML, несовместимого с HTML, поэтому преимущества XML, такие как пространства имен, более быстрый анализ и меньшие размеры браузеров не приносят пользы пользователю.

Критика

В начале 2000-х годов некоторые веб-разработчики начали задаваться вопросом, почему веб-авторы вообще сделали скачок в разработке в XHTML. Другие возразили, что проблемы, приписываемые использованию XHTML, в основном могут быть отнесены к двум основным источникам: создание некорректных документов XHTML некоторыми веб-авторами и отсутствие поддержки XHTML, встроенной в Internet Explorer 6. Далее они описали преимущества веб-документов на основе XML (т. Е. XHTML) в отношении поиска, индексации и синтаксического анализа, а также защиты самой Сети в будущем.

В октябре 2006 года изобретатель HTML и председатель W3C Тим Бернерс-Ли, представив основные усилия W3C по разработке новой спецификации HTML, опубликовал в своем блоге: «Попытка получить мир, чтобы перейти на XML... все сразу не сработало. Большая публика, генерирующая HTML, не двигалась... Некоторые крупные сообщества действительно перешли и наслаждаются плодами хорошо сформированных систем... Планируется создать совершенно новую группу HTML.. " В текущем рабочем проекте HTML5 говорится, что «особое внимание было уделено определению четких критериев соответствия для пользовательских агентов в попытке улучшить совместимость… при одновременном обновлении спецификаций HTML для решения проблем, возникших в последние несколько лет». Ян Хиксон, редактор спецификации HTML5, критикующий неправильное использование XHTML в 2002 году, является членом группы, разрабатывающей эту спецификацию, и указан как один из соредакторов текущего рабочего проекта.

Саймон Питерс исследовал XML-совместимость мобильных браузеров и пришел к выводу, что «утверждение, что XHTML потребуется для мобильных устройств, является просто мифом».

Версии XHTML

XHTML 1.0

Раньше Википедия использовала тип и синтаксис XHTML 1.0 Transitional, хотя он не использовался как XHTML

В декабре 1998 г. был опубликован рабочий проект W3C, озаглавленный «Переформулирование HTML в XML». Это представило Voyager, кодовое имя нового языка разметки, основанного на HTML 4, но придерживающегося более строгих синтаксических правил XML. К февралю 1999 года название спецификации было изменено на XHTML 1.0: Extensible HyperText Markup Language, а в январе 2000 года он был официально принят как Рекомендация W3C. Существует три формальных DTD для XHTML 1.0, соответствующих трем различным версиям HTML 4.01:

  • XHTML 1.0 Strict - это XML-эквивалент строгого HTML 4.01 и включает элементы и атрибуты, которые имеют не отмечен как устаревший в спецификации HTML 4.01. По состоянию на ноябрь 2015 года XHTML 1.0 Strict - это тип документа, используемый для домашней страницы веб-сайта World Wide Web Consortium.
  • XHTML 1.0 Transitional является XML-эквивалентом HTML 4.01 Transitional и включает презентационный элементы (такие как center, fontи strike) исключены из строгой версии.
  • XHTML 1.0 Frameset является XML-эквивалентом HTML 4.01 Frameset и позволяет определять документы набора фреймов. - обычная функция Интернета в конце 1990-х.

Вторая редакция XHTML 1.0 стала Рекомендацией W3C в августе 2002 года.

Модуляризация of XHTML

Модуляризация предоставляет абстрактный набор компонентов, с помощью которых XHTML может быть разделен на подмножества и расширен. Эта функция призвана помочь XHTML распространить свое влияние на новые платформы, такие как мобильные устройства и телевизоры с доступом в Интернет. Первоначальный проект модуляризации XHTML стал доступен в апреле 1999 г. и достиг статуса Рекомендации в апреле 2001 г.

Первыми модульными вариантами XHTML были XHTML 1.1 и XHTML Basic 1.0.

В октябре 2008 г. Модуляризация XHTML была заменена модуляризацией XHTML 1.1, которая добавляет реализацию XML-схемы. Само оно было заменено вторым изданием в июле 2010 года.

XHTML 1.1: XHTML на основе модулей

XHTML 1.1 развился в результате работы, связанной с начальной модуляризацией спецификации XHTML. W3C выпустил первый проект в сентябре 1999 года; Статус рекомендации был достигнут в мае 2001 года. Модули, объединенные в XHTML 1.1, эффективно воссоздают XHTML 1.0 Strict с добавлением элементов аннотации ruby ​​ (ruby ​​, rbc, rtc, rb, rtи rp) для лучшей поддержки восточноазиатских языков. Другие изменения включают удаление атрибута nameиз элементов aи mapи (в первой редакции языка) удаление langв пользу атрибута xml: lang.

Хотя XHTML 1.1 в значительной степени совместим с XHTML 1.0 и HTML 4, в августе 2002 года Рабочая группа выпустила официальную записку, в которой рекомендовалось не передавать его с носителями HTML. тип. При ограниченной поддержке браузером альтернативного типа носителя application / xhtml + xmlXHTML 1.1 оказался неспособным получить широкое распространение. В январе 2009 г. было выпущено второе издание документа (Типы носителей XHTML - Второе издание), которое ослабило это ограничение и позволило XHTML 1.1 использовать как text / html.

. Второе издание XHTML 1.1 было выпущено 23 декабря. Ноябрь 2010 г., в котором устранены различные ошибки и добавлена ​​реализация схемы XML, не включенная в исходную спецификацию. (Впервые она была выпущена на короткое время 7 мая 2009 года как «Предлагаемая отредактированная рекомендация», а затем была отменена 19 мая из-за нерешенных проблем.)

XHTML Basic

Начиная с информационных устройств может не хватать системных ресурсов для реализации всех абстрактных модулей XHTML, W3C определил спецификацию XHTML с ограниченными возможностями под названием XHTML Basic. Он предоставляет минимальный набор функций, достаточный для наиболее распространенного создания контента. Спецификация стала рекомендацией W3C в декабре 2000 года.

Из всех версий XHTML XHTML Basic 1.0 предоставляет наименьшее количество функций. С XHTML 1.1 это одна из двух первых реализаций модульного XHTML. В дополнение к базовым модулям (структура, текст, гипертекст и список) он реализует следующие абстрактные модули: базовые, базовые формы, базовые таблицы, изображение, ссылка, метаинформация, объект, таблица стилей и цель.

XHTML Basic 1.1 заменяет модуль базовых форм на модуль форм и добавляет модули внутренних событий, презентации и сценариев. Он также поддерживает дополнительные теги и атрибуты из других модулей. Эта версия стала рекомендацией W3C 29 июля 2008 года.

Текущая версия XHTML Basic - это второе издание 1.1 (23 ноября 2010 г.), в котором язык повторно реализован в XML-схеме W3C язык. Эта версия также поддерживает атрибут lang.

XHTML-Print

XHTML-Print, который стал рекомендацией W3C в сентябре 2006 г., представляет собой специализированную версию XHTML Basic, разработанную для документов, напечатанных с информационных устройств на принтеры низкого уровня .

XHTML Mobile Profile

XHTML Mobile Profile (сокращенно XHTML MP или XHTML-MP) - это сторонний вариант спецификации W3C XHTML Basic. Как и XHTML Basic, XHTML был разработан для информационных устройств с ограниченными системными ресурсами.

В октябре 2001 года компания с ограниченной ответственностью под названием Wireless Application Protocol Forum начала адаптировать XHTML Basic для WAP 2.0, второй основной версии Wireless Application. Протокол. WAP Forum основал свой DTD на модуляции XHTML W3C, включая те же модули, которые W3C использовал в XHTML Basic 1.0, за исключением целевого модуля. Начиная с этой основы, WAP Forum заменил модуль Basic Forms на частичную реализацию модуля Forms, добавил частичную поддержку модулей Legacy и Presentation, а также добавил полную поддержку модуля Style Attribute.

В 2002 году WAP Forum был включен в состав Open Mobile Alliance (OMA), который продолжил разработку мобильного профиля XHTML в качестве компонента своей спецификации просмотра OMA.

XHTML Mobile Profile 1.1

К этой версии, завершенной в 2004 году, OMA добавило частичную поддержку модуля сценариев и частичную поддержку внутренних событий. XHTML MP 1.1 является частью v2.1 Спецификации просмотра OMA (1 ноября 2002 г.).

XHTML Mobile Profile 1.2

Эта версия, завершенная 27 февраля 2007 г., расширяет возможности XHTML MP 1.1 с полной поддержкой модуля форм и режимов ввода текста OMA. XHTML MP 1.2 является частью v2.3 Спецификации просмотра OMA (13 марта 2007 г.).

XHTML Mobile Profile 1.3

XHTML MP 1.3 (завершено 23 сентября 2008 г.) использует XHTML Basic 1.1 определение типа документа, которое включает целевой модуль. События в этой версии спецификации обновлены до спецификаций DOM Level 3 (т.е. они не зависят от платформы и языка).

XHTML 1.2

Рабочая группа XHTML 2 рассмотрела создание нового языка на основе XHTML 1.1. Если бы XHTML 1.2 был создан, он бы включал атрибуты WAI-ARIA и roleдля лучшей поддержки доступных веб-приложений, а также улучшенную поддержку Semantic Web через RDFa. Также может присутствовать атрибут inputmodeиз XHTML Basic 1.1 вместе с атрибутом target(для указания целей frame ). Рабочей группе XHTML2 не было поручено заниматься разработкой XHTML1.2. Поскольку W3C объявил о том, что не намерен обновлять XHTML2 WG, и закрыл WG в декабре 2010 года, это означает, что предложение XHTML 1.2 не будет реализовано.

XHTML 2.0

В период с августа 2002 г. по июль 2006 г. W3C выпустил восемь рабочих проектов XHTML 2.0, новой версии XHTML, способной полностью уйти от прошлого, отказавшись от требования Обратная совместимость. Это отсутствие совместимости с XHTML 1.x и HTML 4 вызвало некоторые споры в сообществе веб-разработчиков. Некоторые части языка (например, атрибуты roleи RDFa) были впоследствии выделены из спецификации и работали как отдельные модули, частично для того, чтобы облегчить переход от XHTML 1.x к XHTML 2.0. Девятый черновик XHTML 2.0 должен был появиться в 2009 году, но 2 июля 2009 года W3C решил позволить уставу Рабочей группы XHTML2 истечь к концу этого года, фактически остановив дальнейшее развитие проекта до стандарта. Вместо этого XHTML 2.0 и связанные с ним документы были выпущены в 2010 году как W3C Notes.

Новые функции, которые были представлены в XHTML 2.0, включали:

  • HTML-формы должны были быть заменены на XForms, спецификация пользовательского ввода на основе XML, позволяющая правильно отображать формы для различных устройств рендеринга.
  • HTML-фреймы должны были быть заменены на XFrames.
  • DOM События должны были быть заменены на XML Events, который использует XML объектную модель документа.
  • . Новый тип элемента списка, тип элемента nl, должен был быть включенным, чтобы специально обозначить список как список навигации. Это было бы полезно при создании вложенных меню, которые в настоящее время создаются с помощью самых разных средств, таких как вложенные неупорядоченные списки или вложенные списки определений.
  • Любой элемент должен иметь возможность действовать как гиперссылка, e. g.,
  • Статьи
  • , аналогично XLink. Однако сам XLink несовместим с XHTML из-за различий в конструкции.
  • Любой элемент должен иметь возможность ссылаться на альтернативные носители с атрибутом src, например. g.,

    Лондонский мост

    совпадает с

    Лондонский мост

    .
  • Атрибут altэлемента imgбыл удален : альтернативный текст должен был быть указан в содержимом элемента img, во многом как элемент object, e. g., HMS Audacious.
  • Был добавлен единственный элемент заголовка (h). Уровень этих заголовков определялся глубиной вложенности. Это позволило бы использовать заголовки до бесконечности, а не ограничивать использование шестью уровнями.
  • Остальные презентационные элементы i, bи tt, все еще разрешенные в XHTML 1.x (даже Strict) должны отсутствовать в XHTML 2.0. Единственными оставшимися в некотором смысле презентационными элементами должны были быть supи subдля надстрочного и подстрочного индекса соответственно, потому что они имеют существенное непрезентационное использование и требуются некоторыми языками. Все другие теги должны были быть семантическими вместо этого (например, strongдля сильного выделения ), в то же время позволяя пользовательскому агенту управлять представлением элементов через CSS (например, отображаемый как полужирный текст в большинстве визуальных браузеров, но, возможно, отображаемый с изменением тона в программе чтения текста, более крупным + курсивным шрифтом в соответствии с правилами в пользовательской таблице стилей и т. д.).
  • Добавление RDF-тройка со свойством и атрибутамидля облегчения преобразования из XHTML в RDF / XML.

XHTML5

HTML5 изначально развивался независимо от W3C через небольшая группа производителей браузеров и других заинтересованных сторон, называющих себя WHATWG или Рабочей группой по технологиям веб-гипертекстовых приложений. Ключевым мотивом группы было создание платформы для динамических веб-приложений; они сочли XHTML 2.0 слишком ориентированным на документы и не подходящим для создания сайтов интернет-форумов или интернет-магазинов.

HTML5 имеет как обычный text / htmlсериализацию и сериализацию XML, также известную как XHTML5. Этот язык более совместим с HTML 4 и XHTML 1.x, чем с XHTML 2.0, из-за решения сохранить существующие элементы формы HTML и модель событий. Однако он добавляет много новых элементов, которых нет в XHTML 1.x, таких как sectionи помимо тегов.

Язык XHTML5, как и HTML5, использует объявление DOCTYPE без DTD. Кроме того, спецификация осуждает предыдущие XHTML DTD, предлагая браузерам заменить их одним, содержащим только определения сущностей для именованных символов во время синтаксического анализа.

Семантическое содержимое в XHTML

XHTML + RDFa - это расширенная версия языка разметки XHTML для поддержки RDF посредством набора атрибутов и правил обработки в форме правильно сформированных документов XML. Этот хост-язык является одним из методов, используемых для разработки содержимого семантической сети путем встраивания богатой семантической разметки.

Действительные документы XHTML

Документ XHTML, который соответствует спецификации XHTML, считается действительным. Валидность обеспечивает согласованность кода документа, что, в свою очередь, упрощает обработку, но не обязательно гарантирует согласованность отрисовки в браузерах. Документ можно проверить на действительность с помощью Службы проверки разметки W3C. На практике многие программы веб-разработки обеспечивают проверку кода на основе стандартов W3C.

Корневой элемент

Корневой элемент документа XHTML должен быть htmlи должен содержать атрибут xmlns, чтобы связать его с XHTML пространство имен. URI пространства имен для XHTML: http://www.w3.org/1999/xhtml. В приведенном ниже примере тега дополнительно имеется атрибут xml: langдля идентификации документа с естественным языком :

DOCTYPE

. Для проверки документа XHTML используется Можно использовать декларацию типа документа или DOCTYPE. DOCTYPE объявляет браузеру определение типа документа (DTD), которому соответствует документ. Объявление типа документа должно быть размещено перед корневым элементом .

. системный идентификатор часть DOCTYPE, которым в этих примерах является URL, который начинается с . http: //, нужно только указать на копию DTD для использования, если валидатор не может найти его на основе общедоступного идентификатора (другая строка в кавычках). Это не обязательно должен быть конкретный URL-адрес в этих примерах; фактически, авторам рекомендуется по возможности использовать локальные копии файлов DTD. Однако общедоступный идентификатор должен быть символьным, как в примерах.

Объявление XML

A кодировка символов может быть указана в начале документа XHTML в объявлении XML, когда документ обслуживается с использованием application / xhtml + xmlТип MIME. (Если в XML-документе отсутствует спецификация кодировки, синтаксический анализатор XML предполагает, что используется кодировка UTF-8 или UTF-16, если только кодировка не была определена протоколом более высокого уровня.)

Например:

Объявление может быть необязательно опущено, поскольку оно объявляет в качестве своей кодировки кодировку по умолчанию. Однако, если в документе вместо этого используется XML 1.1 или другая кодировка символов, объявление необходимо. Internet Explorer до версии 7 переходит в режим совместимости, если он встречает XML-объявление в документе, который используется как text / html.

Обратная совместимость

Документы XHTML 1.x в основном обратно совместимы с пользовательскими агентами HTML 4 при соблюдении соответствующих рекомендаций. XHTML 1.1 по существу совместим, хотя элементы для рубиновой аннотации не являются частью спецификации HTML 4 и поэтому обычно игнорируются браузерами HTML 4. Более поздние модули XHTML 1.x, такие как для атрибута role, RDFa и WAI-ARIA, постепенно ухудшаются аналогичным образом.

XHTML 2.0 значительно менее совместим, хотя это можно в некоторой степени смягчить с помощью сценариев. (Это могут быть простые однострочники, такие как использование «document.createElement ()» для регистрации нового элемента HTML в Internet Explorer, или полные инфраструктуры JavaScript, такие как FormFaces реализация XForms.)

Примеры

Ниже приведены примеры XHTML 1.0 Strict, с одинаковым визуальным выводом. Первый соответствует рекомендациям по совместимости с HTML в примечании к типам носителей XHTML, а второй нарушает обратную совместимость, но обеспечивает более чистую разметку.

Рекомендация по типу носителя (в терминах RFC 2119 ) для примеров: 349>Тип носителя
Пример 1Пример 2
application / xhtml + xmlSHOULDДОЛЖЕН
application / xmlMAYMAY
text / xmlMAYMAY
text / htmlMAYНЕ ДОЛЖЕН

Пример 1.

Строгий пример XHTML 1.0

Это пример строгого документа XHTML 1.0.
Valid XHTML 1.0 Strict

Пример 2.

Строгий пример XHTML 1.0

Это пример документа XHTML 1.0 Strict.
Valid XHTML 1.0 Strict

Примечания:

  1. Функция «loadpdf» на самом деле является обходным путем для Internet Explorer. Его можно заменить, добавив в .
  2. . Элемент imgне получает атрибут nameв XHTML 1.0 Strict DTD. Вместо этого используйте id.
  3. Перекрестная совместимость XHTML и HTML

    Сериализации HTML5 и XHTML5 в значительной степени совместимы, если придерживаться более строгого синтаксиса XHTML5, но в некоторых случаях XHTML не будет работать как действительный HTML5 (например, инструкции обработки устарели в HTML, обрабатываются как комментарии и закрываются при первом «>», тогда как они полностью разрешены в XML, рассматриваются как свои собственные введите и закройте "?>").

    См. также
    Ссылки
    Внешние ссылки
    В Викиучебниках есть книга на следующие темы: XHTML
    Последняя правка сделана 2021-06-22 06:32:21
    Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
    Обратная связь: support@alphapedia.ru