Разница между HTML и XHTML. Что такое XHTML? Ошибки в XHTML и отличия XHTML от HTML

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

Правила XHTML следующие.

  • Все теги и их атрибуты должны быть набраны в нижнем регистре (строчными символами).
  • Значения любых атрибутов необходимо заключать в кавычки.
  • Требуется закрывать все теги, даже такие, которым не сопоставлен закрывающий тег.
  • Должна соблюдаться правильная вложенность тегов.
  • Нельзя использовать сокращенные атрибуты тегов.
  • Вместо атрибута name следует указывать id .
  • Следует определять DTD (document type definition, описание типа документа) с помощью элемента .
  • Теги должны быть набраны в нижнем регистре

    Это правило возникло из-за того, что XHTML чувствителен к регистру символов, поэтому для него теги и различаются. Чтобы не возникало путаницы, синтаксис принудительно заставляет указывать все теги, а также их атрибуты в нижнем регистре. В примере 3.1 приводится неверное использование тегов.

    Пример 3.1. Ошибочное написание тегов

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    Lorem ipsum dolor sit amet...

    В данном примере теги и

    Набраны прописными символами, что является ошибкой. В примере 3.2 показан корректный код.

    Пример 3.2. Правильное написание тегов

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    Lorem ipsum dolor sit amet...

    Значения любых атрибутов необходимо заключать в кавычки

    Хотя в HTML также требуется заключать значения в кавычки, но их отсутствие никак не влияет на корректность кода. Так что можно сказать, что в HTML применение кавычек это лишь рекомендация. В XHTML же использование кавычек возведено в правило и любые значения атрибутов требуется указывать только в них (пример 3.3).

    Пример 3.3. Использование кавычек

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    Чебурашка Шапокляк
    1 5
    4 13

    В данном примере все атрибуты тега

    , а также задаются в кавычках.

    Требуется закрывать все теги

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

    .

    Пример 3.4. Нет закрывающего тега

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    и лезет, крадучись, в самолёт,

    и бомбу в брюхо ему кладёт,

    Некоторые разработчики игнорируют закрывающие теги ,

    , , но в XHTML их отсутствие считается ошибкой. В примере 3.5 показано корректное использование списков.

    Пример 3.5. Добавление списка

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    • Восток
    • Запад
    • Юг
    • Север

    В данном примере каждому открывающему тегу соответствует его закрывающий тег.

    Элемент не является частью XHTML-документа, поэтому для него закрывающего тега не требуется.

    Что касается одинарных тегов, то они должны завершаться слэшем перед закрывающей угловой скобкой, как показано в примере 3.6.

    Пример 3.6. Добавление изображения

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    В данном примере обратите внимание на обязательный пробел, который предшествует конструкции /> .

    В табл. 3.1 приведены некоторые теги HTML и их запись в XHTML-документе.

    Должна соблюдаться правильная вложенность тегов

    XHTML критично относится к ошибкам следующего типа: некорректная вложенность одного тега в другой и расположение тега в несоответствующем контейнере.

    Правильная вложенность тегов

    Каждый тег должен располагаться внутри другого тега, при этом недопустимо их «пересечение», как это показано в примере 3.7.

    Пример 3.7. Ошибка с положением тегов

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    Lorem ipsum dolor sit amet...

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

    Хотя валидатор кода и выдает ошибку в случае неправильного положения тегов, браузеры при этом правильно отображают веб-страницу.

    Иерархия тегов

    Все теги имеют строгую иерархическую систему в том смысле, что каждый тег должен находиться внутри другого тега и никак иначе. На условной вершине находится корневой элемент , а все остальные теги могут содержать внутри себя другие теги, которые называются дочерними. Соответственно дочерние теги располагаются в родительском элементе.

    Необходимо знать систему подчиненности тегов и следовать ей при написании кода XHTML. В примере 3.8 показана базовая структура документа.

    Пример 3.8. Структура документа

    XHTML 1.0 IE Cr Op Sa Fx

    Новый документ

    В данном примере вначале приводится тег , внутри которого располагаются теги и . Внутри раздела хранится заголовок документа ( ) и кодировка страницы ( ).

    Нельзя использовать сокращенные атрибуты тегов

    Сокращенным называется атрибут без присвоенного значения. В примере 3.9 приведена форма с использованием таких атрибутов.

    Пример 3.9. Ошибка при использовании атрибутов

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    «Пустое значение», как еще называется подобная ошибка, легко исправляется, если присвоить атрибуту значение, совпадающее с названием. В табл. 3.2 приведены некоторые атрибуты и как они записываются в HTML и XHTML.

    Табл 3.2. Сопоставление атрибутов в HTML и XHTML HTML XHTML
    checked checked="checked"
    compact compact="compact"
    disabled disabled="disabled"
    ismap ismap="ismap"
    multiple multiple="multiple"
    nohref nohref="nohref"
    noresize noresize="noresize"
    noshade noshade="noshade"
    nowrap nowrap="nowrap"
    readonly readonly="readonly"
    selected selected="selected"

    В примере 3.10 показано корректное использование вышеприведенной формы.

    Пример 3.10. Правильное использование атрибутов

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    Вместо атрибута name необходимо указывать id

    Атрибут name определяется в HTML для тегов , , , и и предназначен для обозначения элемента с целью последующего к нему обращения из скриптов. В XHTML атрибут name частично вышел из употребления, а вместо него следует использовать id , как показано в примере 3.11.

    Пример 3.11. Идентификатор рисунка

    XHTML 1.0 IE Cr Op Sa Fx

    XHTML

    Указанное правило не применяется к элементам форм, вроде , где без атрибута name вообще не обойтись.

    Следует определять DTD

    Все 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). С точки зрения пространств имен

    Изучаем HTML и XHTML

    HTML – это универсальный язык программирования, предназначенный для выполнения гипертекстовой разметки страниц.
    Расшифровывается эта аббревиатура по-английски следующим образом:
    H - Hyper
    T - Text
    M - Markup
    L – Language.
    Русский вариант:
    L - Язык
    Н – Гипер
    Т – Текст
    М – Разметка.
    Итак, перед нами HTML – язык гипертекстовой разметки, предназначенный для разметки страниц в Интернете. Этот важнейший для сайтостроения язык был создан ученым из Великобритании Тимом Беркесом Ли в последнее десятилетие ХХ века.

    Популярность и востребованность HTML привела к тому, что за короткий промежуток времени разработано и внедрено уже несколько версий этого языка, как официального, так и неофициального.

    Вместе с тем, рядом с HTML есть ХHTML – еще одна очень важная и нужная разработка ученых-программистов. Отличие в сокращенном названии всего в один символ, а по сути – более широкий набор тегов и более строгое написание кода.

    Итак, ХHTML переводится на русский, как расширяемый язык разметки гипертекста. Создание такого языка позволяет постоянно его модернизировать, совершенствовать расширения.

    В чем отличие HTML от XHTML

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

    Так вот, в языке гипертекстовой разметки при обнаружении такой ошибки браузер должен был обязательно ее исправить. А для того, чтобы он «подумал» и внес исправления, требовалось определенное время, что не всегда было удобно.

    Язык ХHTML позволил обойти эту проблему. И при обнаружении ошибки в каком-либо теге, она просто выводилась на экран вместе с текстом и не исправлялась.

    Также обязательное требование – закрытие всех элементов, в том числе и одиночных тегов, обязательно имеющие на конце своего обозначения символ «/».

    Еще одно отличие языков заключается в используемой кодировке. Так XHTML применяет наиболее популярную и распространенную UTF-8. А язык HTML использовал ISO 8859-1.

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

    Однако, в 2010 году, работы по его развитию свернуты. Все положительное, вместе с разработчиками языков, оказалось вложенным в развитие наиболее популярного ныне языка HTML 5.

    Тем не менее, огромное количество сайтов было создано на основе развивающегося расширяемого языка, и поныне они успешно продолжают существовать во всемирной паутине под названием Интернет.

    Основные требования, характеризующие использование ХHTML

    1. Используя один и тот же набор тегов он требует более строгого соблюдения синтаксиса.
    2. Без исключения каждый элемент ХHTML должен быть с конечным тегом.
    3. Кроме того, теги должны быть прописаны только строчными буквами, никаких заглавных!
    4. Требуется безошибочное вложение всех элементов одного в другой.
    5. Все части языка должны быть выделены кавычками. Обязательно!
    6. Не допускается никаких сокращений!

    Подведем итоги

    XHTML (Extensible Hypertext Markup Language) – Расширяемый язык разметки гипертекста, развивался од 2010 года. Имеет отличия от HTML о которых мы рассказали выше. Все его разработки успешно влились в последнюю версию HTML5.

    Изучение и совершенствование владения html xhtml и css позволяет выйти на новый, наиболее продвинутый уровень . Чем и хорош процесс непрерывного развития технологий, программ и языков программирования, таких как html и xhtml .

    13.2. Отличие XHTML от HTML

    Основным отличием документа XHTML от HTML 4.01 является жесткое требование к корректности документа с точки зрения стандартов языка XML. На протяжении истории развития языка HTML сложился подход, при котором допускались многочисленные вольности и отступления от стандартов языка, объявленных W3C, а браузеры различных производителей пытались компенсировать эти вольности, угадывая и корректируя HTML-код с целью его адекватного воспроизведения. Все это отменяется в языке XHTML, если следовать строгим наборам XHTML DTD, а переходные наборы XHTML DTD служат лишь на период перехода от старого к новому: от HTML к XHTML.

    Из книги Руководство по стандартной библиотеке шаблонов (STL) автора Ли Менг

    Отличие (Mismatch) template ‹class InputIterator1, class InputIterator2›pair‹InputIterator1, InputIterator2› mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2);template ‹class InputIterator1, class InputIterator2, class BinaryPredicate›pair‹InputIterator1, InputIterator2› mismatch(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate binary_pred);mismatch возвращает пару итераторов i и j

    Из книги Office 2007. Мультимедийный курс автора Мединов Олег

    Отличие Microsoft Office 2007 от предыдущих версий Несмотря на сохранение концептуальной преемственности с предыдущими версиями, пакет Office 2007 является качественно новым продуктом, значительно облегчающим труд пользователей и отвечающим требованиям сегодняшнего дня.Первое, что

    Из книги Создание шаблонов Joomla автора Автор неизвестен

    HTML/XHTML, CSS, XML Аббревиатуры HTML/XHTML, CSS и XML – это Интернет технологии применяемые Joomla! Данные технологии стандартизированы консорциумом W3C (World Wide Web

    Из книги XSLT автора Хольцнер Стивен

    HTML/XHTML WWW (World Wide Web или Всемирная паутина) основана на HTML. HTML – это не язык программирования. HTML является языком описания и форматирования текста. Текст при этом состоит из различных структур: заголовков, списков, частей, выделенных жирным или наклонным шрифтом, таблиц и т.д.

    Из книги Основы программирования на JavaScript автора Кан Марк

    Преобразования из XML в XHTML Хотя во многих книгах рассматриваются исключительно преобразования из XML в HTML, правда состоит в том, что консорциум W3C этому не очень-то рад. Консорциум пытался сместить акцент с HTML (который они первоначально стандартизировали) на свою новую

    Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

    Глава 6 Преобразование в XML, HTML, XHTML, RTF Предположим, web-узел вашей компании использует основанное на XML программное обеспечение фирмы Commerce One, в котором для безопасной коммуникации через Интернет применяется Java Message Service (JMS). Ваша деятельность была настолько успешной, что вы

    Из книги HTML5 для веб-дизайнеров автора Джереми Кит

    Вывод в формате XHTML W3C представил XHTML как последователя HTML, но ни в XSLT 1.0, ни в рабочем проекте XSLT 1.1 нет никакой специальной поддержки для преобразований из XML в XHTML. Предполагается, что надлежащая поддержка будет включена в XSLT 2.0. Тем не менее, при помощи процессоров XSLT все

    Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь Из книги автора

    Главное отличие Gizmo от Skype Программа голосового общения через Интернет Gizmo (дословно переводится как Штуковина) очень уж похожа на Skype. Легче перечислить, чем она отличается от всемирно известной и безумно популярной системы голосового общения, которую успели скачать и

    Из книги автора

    XHTML 1: HTML по правилам XML Следующая после HTML 4.01 версия языка называлась XHTML 1.0. «X» означало «экстремальный», и каждый веб-разработчик, когда начинал произносить название языка, был строго обязан скрещивать руки в форме буквы «Х».Ладно, на самом деле нет. «X» значило eXtensible,

    Из книги автора

    XHTML 2: терпению пришел конец Если бы персонаж Дастина Хоффмана в фильме «Выпускник» был веб-разработчиком, W3C сказал бы ему одно слово, ровно одно: XML.С точки зрения W3C разработка HTML закончилась на версии 4. Они начали работать над XHTML 2, который был спроектирован так, чтобы

    Из книги автора

    XHTML умер: да здравствует синтаксис XHTML Туман неразберихи начал рассеиваться в 2009 году. W3C объявил, что договор на XHTML 2 не будет продлеваться. Формат был мертвым уже несколько лет, и это объявление стало только официальным свидетельством о смерти.Как ни странно, смерть XHTML 2

    Из книги автора

    Глава 13 Язык XHTML 13.1. Структура XHTML-документов13.2. Отличие XHTML от HTML13.3. Проблемы использования XHTMLИтак, в предыдущих главах книги вы изучили возможности HTML 4.01 и теперь готовы разрабатывать веб-страницы, основанные на этом языке гипертекстовой разметки. Язык HTML версии 4.01 в

    Из книги автора

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

    Из книги автора

    Включение сценариев и специальных символов в документы XHTML В документы HTML сценарии встраиваются с помощью комментариев, то есть коды сценариев помещаются внутрь объявлений комментария:В них же помещают объявления таблиц CSS, что

    Из книги автора

    13.3. Проблемы использования XHTML Прочитав эту главу, вы, вероятно, поняли, что перед разработчиками веб-страниц встала серьезная проблема: переход на новый язык XHTML значительно меняет сложившиеся подходы к их разработке.Во-первых, уже нельзя позволить себе многие вольности

    13.2. Отличие XHTML от HTML

    Основным отличием документа XHTML от HTML 4.01 является жесткое требование к корректности документа с точки зрения стандартов языка XML. На протяжении истории развития языка HTML сложился подход, при котором допускались многочисленные вольности и отступления от стандартов языка, объявленных W3C, а браузеры различных производителей пытались компенсировать эти вольности, угадывая и корректируя HTML-код с целью его адекватного воспроизведения. Все это отменяется в языке XHTML, если следовать строгим наборам XHTML DTD, а переходные наборы XHTML DTD служат лишь на период перехода от старого к новому: от HTML к XHTML.

    Значения атрибутов должны быть в кавычках

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

    Однако в языке XHTML это считается ошибкой. Следует писать так:

    Хотя это и кажется избыточным, но выполнение такого правила обязательно.

    Необходимо наличие закрывающего тега

    В стандарте языка HTML 4.01 допускается пропуск закрывающего тега, если программа, которая будет обрабатывать соответствующий документ, сможет «догадаться» о его наличии. Поэтому вполне допустимо опускать закрывающие теги

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

    Это первый абзац

    Конечно, такое требование сильно загромождает код, однако устраняет какие-либо двусмысленности в разметке документа, поскольку позволяет точно идентифицировать любой элемент кода.

    То же самое касается и пустых элементов. Каждый тег такого элемента должен иметь как открывающий, так и закрывающий тег, например тег обрыва строки теперь должен писаться так:

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

    Необходимо корректно вкладывать элементы друг в друга

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

    …форматируемый текст…

    Этот пример корректен. Однако если мы напишем так:

    …форматируемый текст…

    то нарушим требования HTML. Тем не менее эти и им подобные требования не всегда выполнялись разработчиками, и «добрые» браузеры обычно корректировали такие нарушения кода. Однако стандарт XHTML запрещает подобные нарушения. Кроме того, XHTML запрещает следующие вложения:

    Тег не может содержать теги ;

    Тег не может содержать теги , , , , , , , , ;

    Тег не может содержать другой тег ;

    Тег не может содержать другие теги ;

    Тег Не может содержать теги , , , , , .

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

    Назначение имен тегов и атрибутов зависит от регистра

    В документах HTML имена тегов и атрибутов не зависят от регистра символов, так что, например, запись

    ,
    или
    означает один и тот же тег таблицы. Однако в XHTML это разные теги. То же самое касается имен атрибутов: записи типа width или WiDtZ в XHTML уже не означают имя атрибута, задающего ширину, например, ячейки таблицы или рисунка.

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

    Требуется явно задавать значения атрибутов

    В документах XHTML всем атрибутам следует присваивать значения, даже если по стандарту HTML это не требуется. Например, в тегах списков ,

      часто используется атрибут compact, приводящий к уменьшению расстояния между буквами в тексте списков. Если этот атрибут включен в тег, например
        , то текст в списке будет отображаться более компактно. Однако в XHTML такая запись запрещена и вам придется написать так:
          . В табл. 13.1 приведены атрибуты, которым в языке XHTML следует задавать значения, совпадающие с их названием.

          Таблица 13.1. Значения атрибутов XHTML, для которых HTML не требовал значений

          Включение сценариев и специальных символов в документы XHTML

          В документы HTML сценарии встраиваются с помощью комментариев, то есть коды сценариев помещаются внутрь объявлений комментария:

          …Код сценария JavaScript или таблицы CSS….

          В них же помещают объявления таблиц CSS, что позволяет избежать конфликтов, если браузер не поддерживает эти средства. Однако браузеры XML не воспринимают содержимое комментариев и требуют использования таких конструкций, содержащих тег CDATA языка XML:

          …код сценария JavaScript...

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

          Все специальные символы в документы XHTML следует записывать с помощью ссылок, то есть вместо записи следует написать

          • Сергей Савенков

            какой то “куцый” обзор… как будто спешили куда то