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

Изучаем 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 году, работы по его развитию свернуты. Все положительное, вместе с разработчиками языков, оказалось вложенным в развитие наиболее популярного ныне языка HTML5.

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

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

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

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

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

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

При написании кода 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-документы обязательно должны содержать элемент в первой строке кода, а также придерживаться иерархической структуры вложения тегов.

    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, обязывает закрывать все элементы, в том числе не имеющих тега закрытия, как, например,
      .
    • Недопустимо отсутствие кавычек при описании значений атрибутов. Например конструкция