sonyps4.ru

Синтаксис XHTML. HTML и XHTML – основные отличия

Теперь, когда вы уже представляете, как строить динамические страницы с применением 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). С точки зрения пространств имен

XHTML Расшифровывается как ExtensibleHypertext Markup Language и на русском — Расширяемый язык разметки гипертекста. Обратите внимание не расширенный, а расширяемый. Это значит, что данный язык

Пополняется (расширяется) до сих пор. Так что такое XHTML ? Основным отличием XHTML от того же HTML является способ обработки документа (интернет-странички). Стоит ввести еще одно определение. Парсер - программа или часть программы, которая выполняет синтаксический анализ. Также его еще называют синтаксический анализатор. Если еще проще, то данная программа выполняет анализ всего строения страницы, всего кода страницы. В HTML при нахождении ошибки, во время анализа она исправлялась, что требовало дополнительного времени - браузеру нужно было понять, что автор (разработчик) хотел написать. Например, при ошибке в каком-либо теге, он просто выводился с остальным текстом.

Еще одно отличие заключается в том, что все элементы должны быть закрыты, а одиночные теги должны после символов иметь знак /, например:
. Про тэги я напишу отдельную большую статью, также напишу про каждый тэг отдельно. Кодировка в XHTML - UTF-8 (наиболее распространенная сейчас), в HTML же использовалась ISO 8859-1.

  • первая распространенная ошибка — указание в теге относительного пути к DTD-файлу, скопированного с сайта www.w3.org, "DTD/xhtml11.dtd". В место этого нужно писать полный путь "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" .
  • нарушение принципа закрытия всех без исключения элементов. Язык XHTML, в отличие от того же HTML, обязывает закрывать все элементы, в том числе не имеющих тега закрытия, как, например,
    .
  • Недопустимо отсутствие кавычек при описании значений атрибутов. Например конструкция

Загрузка...