Язык xhtml. Что такое XHTML? Ошибки в XHTML и отличия XHTML от HTML. Значения любых атрибутов необходимо заключать в кавычки

Расширяемый язык разметки гипертекста (XHTML) — это быстрый способ ссылаться на несколько рекомендаций по языку, которые широко используются на устройствах с поддержкой Интернета для просмотра веб-страниц. Хотя он назван в честь своего предшественника, языка гипертекстовой разметки (), он фактически основан на расширяемом языке разметки (XML), который является очень избирательной частью стандартного обобщенного языка разметки (SGML).
По сути, все они являются потомками SGML. Хотя HTML является прямым приложением SGML, XHTML — это то, что называется пространством имен, или набор определений для XML-документа, который помогает избавиться от двусмысленности, когда в любой заданной ситуации используется более чем один словарь XML.

Язык возник из-за нескольких ограничений HTML и разнообразных способов реализации HTML. Примерно в то время, когда HTML обновился до версии 4, он начал ослабевать, при правильном использовании многими интерпретаторами HTML, компьютерными программами, которые анализируют HTML-документы на отформатированной, просматриваемой веб-странице. Поскольку появились мобильные устройства и другие платформы для просмотра веб-страниц, было необходимо лучшее решение. XML — это гораздо более строгая реализация SGML чем HTML, и в одном экземпляре могут использоваться различные пространства имён XML. Поэтому около 2000 года консорциум World Wide Web (W3C) разработал и сделал XHTML одной из своих рекомендаций для решения некоторых из этих возникающих проблем.

Во всех смыслах и целях в большинстве случаев XHTML имитирует HTML, но поскольку первый использует пространство имён XML, его можно проанализировать любым интерпретатором XML, а HTML ограничивается только интерпретаторами HTML. XHTML в действительности воссозданный HTML под более ограничительным подмножеством XML SGML. Таким образом, более свежий язык сразу мог быть интерпретирован существующими веб-браузерами, а также стал доступен и для других платформ. Также важно помнить о том, что он должен соответствовать расширяемому аспекту прошивки XHTML. Он не только даёт возможность читать больше программ и платформ, но также он расширяется, позволяя использовать в своих документах другие пространства имён XML.

Благодаря возможности XHTML включать другие пространства имён XML в документ, его можно расширить несколькими способами, чтобы представить больше, чем просто форматирование страницы. Например, математический язык разметки (MathML) может быть включен в эти документы для отображения математических формул и обозначений. Изображения также могут быть встроены с использованием пространства имён масштабируемой векторной графики (SVG) в документе этого типа. Таким образом, XHTML также может быть включен в другой XML-документ.

Поскольку XHTML на самом деле просто HTML, уточнённый в соответствии с правилами XML, он предлагает три определения типа документа (DTD), которые дублируют те, что указаны в версии HTML версии 4. DTD — это подробное описание элементов языка разметки, включая, когда, где и как его можно использовать, а также любые связанные атрибуты. Но в более поздних версиях XHTML были установлены XML-схемы, ещё один, более надёжный способ описания XML-документа, который ещё больше расширил XHTML. В свою очередь были разработаны различные урезанные версии XHTML, которые затем могут быть использованы для конкретных целей, многие из которых вращаются вокруг мобильных вычислительных платформ.

Дата: 21.09.2008

Нет нет… Разница не только в количестве букв. HTML – это стандртный язык разметки документов во Всемирной паутине, так же HTML является приложением SGML (стандартного обобщённого языка разметки). А XHTML в свою очередь - это расширяемый язык разметки гипертекста, созданный на базе XML. Главное их различие состоит в том, что XHTML в отличие от HTML использует синтаксис XML. То есть XHTML требует более строгих синтаксических правил разметки нежели HTML.

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

Основные правила XHTML:

1. Все элементы разметки (теги) должны быть закрыты (например: ). Одиночные теги (такие как
, ) должны иметь “/” в конце (например:
);

2. Должна соблюдаться корректная вложенность элементов (тегов).

3. Имена элементов и атрибутов должны быть в нижнем регистре (например: вместо ).

4. Символы “ вместо ).

XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL,
должны замещаться < и & соответственно. По рекомендации W3C браузеры,
встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для
HTML браузеры должны были попытаться понять, что хотел сказать автор.
- Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по
умолчанию является ISO 8859-1).

Для XHTML страниц рекомендуется задавать MIME-тип - application/xhtml+xml, но
это не является обязательным, более того - браузер Internet Explorer 8 и младшие
версии, не смогут обрабатывать страницу, поэтому с XHTML 1.0 традиционно
используется MIME-тип для HTML - text/html.

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

Спасибо http://ru.wikipedia.org/

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

Аббревиатура XHTML происходит от названия eXtensible HyperText MarkupLanguage(расширяемыйязыкразметкигипертекста).XHTML– это язык разметки, близкий к HTML, но с более строгими синтаксическими правилами, связанными с требованиями XML. Язык HTML был основан на языке SGML, обладавшем значительной гибкостью, но достаточно сложном, а XML – это облегченный вариант SGML, простой в работе за счет незначительной потери гибкости. Синтаксически XHTML очень близок к HTML, теги в нем тоже задаются с помощью символов угловых скобок (< и> ), но требования к оформлению тегов гораздо строже. XHTML-документы, соответствующие синтаксическим требованиям, называютсяправильно сформированными (wellformed), а XHTML-документы, соответствующие не только синтаксическим требованиям, но и требованиям к оформлению структуры доку-

мента, изложенным в DTD (Document Type Description – описание типа документа), – корректными (valid).

Язык разметки XHTML

Обычные HTML-документы тоже могут быть корректными – к ним не предъявляются синтаксические правила XML, но они должны следовать требованиям по оформлению из различных спецификаций HTML.

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

Самый простой способ продемонстрировать различия – это показать HTML-документ, а затем его эквивалент на языке XHTML. Сначала взглянем на корректный документ HTML 4.0:

Простой документ HTML

Привет, МИР!

Кто-нибудь слышит меня?

На языке XHTML этот же документ выглядит так:

Простой документ XHTML

Привет, МИР!
Кто-нибудь слышит меня?

Что здесь изменилось?

1. В самом начале можно увидеть новое XML-объявление, идентифицирующее документ как XML 1.0, использующий кодировку символов UTF-8. Это объявление может быть опущенопри условии , что документ использует кодировку UTF-8 (или ASCII, которая является подмножеством UTF-8).

2. Несколько изменилось объявление DOCTYPE .

3. Теперь все элементы разметки HTML записываются символами нижнего регистра. Это требование спецификации языка XTML.

4. Элемент html теперь содержит атрибутxmlns (определяющий пространство имен XHTML, о чем мы поговорим ниже в этой же главе) иxml:lang , дополняющий атрибутlang для XML-процессоров.

5. Тег
теперь записывается как
с символом слэша (/ ) перед закрывающей угловой скобкой – тем самым указывается, что данный элемент является «пустым» и не имеет парного закрывающего тега.

6. Появился новый закрывающий тег

, дополняющий тег

Который находится в первой строке тела документа. Язык XHTML не позволяет использовать открывающие теги без соответствующих им закрывающих тегов, а пустые элементы обязательно должны следовать нотации
. Данный документ слишком короток, чтобы отобразить большинство требований, заметим только, что открывающие и закрывающие теги должны следовать правилу симметрии, например так можно писать:Это жирный курсив , а так нельзя:Это жирный курсив – . При соблюдении подобных требований документы приобретают явную и предсказуемую структуру, становясь доступными для обработки и модификации в любых программах.

Есть еще несколько ограничений, о которых мы поговорим позже, но самые важные – те, что перечислены здесь.

Почему XHTML

Язык разметки XHTML был создан организацией World Wide Web Consortium (W3C) по целому ряду причин, включая следующие:

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

Разработчики, использующие Dynamic HTML (DHTML) и другие технологии, в которых применяются сценарии, заметили, что из-за гибкости HTML структура управляемых ими HTML-документов порой несколько отличается от ожидаемой, и иногда эти отличия меняются от броузера к броузеру. Более строгие требования XHTML ликвидируют подобные неоднозначности;

Растет число инструментов управления документами, имеющих встроенную поддержку XML, а совместимость XHTML и XML позволяет применять эти инструменты для работы с XHTML без каких-либо ухищрений;

Если смотреть шире, XHTML способствует созданию более корректных и согласованных документов. На первый взгляд, проверка корректности документа с учетом более строгих требований языка XML может показаться обременительной, но она упрощает поиск и исправление ошибок;

Пространства имен XHTML и XML

Пока язык XHTML не нашел широкой поддержки в броузерах, тем не менееW3Cнадеется,чтопереходнаосновуXMLпозволитразработчикам создавать специализированные словари, смешивая их с классическим словарем HTML. В собственные планы W3C входит работа над мультимедиа, графикой и формами;

Кроме того, XHTML можно смешивать с другими словарями XML, упрощая использование этого словаря в новых контекстах.

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

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

Специалисты по старому доброму HTML, возможно, будут ра-­ ды узнать, что W3C возобновила работы над стандартом HTML (кое в чем независимо от XHTML) в марте 2007 года. Дополнительную информацию по этому вопросу можно получить по адресуhttp://www.w3.org/html/wg/ .

Пространства имен XHTML и XML

Язык XML невероятно универсален. Он дает общие определения синтаксиса и основных структур документа, но никак не определяет такие характеристики, как имена элементов и атрибутов. Любой желающий может создать собственный словарь XML без необходимости вступать в контакт с W3C или другими органами по стандартизации. Подобный подход порождает следующую проблему: элемент Title может иметь совершенно разный смысл в разных контекстах. Спецификация пространств имен XML (ее можно найти по адресу:http://www.w3.org/TR/ REC-xml-names/ ) обеспечивает механизм, позволяющий разработчикам идентифицировать словари на основе универсальных идентифика-

торов ресурса (Uniform Resource Identifiers, URI).

URI – это комбинация уже известного универсального указателя ресурса (Uniform Resource Locator, URL) и универсального имени ресурса (Uniform Resource Name, URN). С точки зрения пространств имен




Top