Синтаксис XHTMLПри написании кода XHTML придерживаются того же синтаксиса, который характерен для HTML. При этом разница между HTML и XHTML состоит в наборе некоторых обязательных правил. Правила XHTML следующие.
Теги должны быть набраны в нижнем регистреЭто правило возникло из-за того, что XHTML чувствителен к регистру символов, поэтому для него теги <HR> и <hr> различаются. Чтобы не возникало путаницы, синтаксис принудительно заставляет указывать все теги, а также их атрибуты в нижнем регистре. В примере 3.1 приводится неверное использование тегов. Пример 3.1. Ошибочное написание тегов
В данном примере теги <body> и <p> набраны прописными символами, что является ошибкой. В примере 3.2 показан корректный код. Пример 3.2. Правильное написание тегов
Значения любых атрибутов необходимо заключать в кавычкиХотя в HTML также требуется заключать значения в кавычки, но их отсутствие никак не влияет на корректность кода. Так что можно сказать, что в HTML применение кавычек это лишь рекомендация. В XHTML же использование кавычек возведено в правило и любые значения атрибутов требуется указывать только в них (пример 3.3). Пример 3.3. Использование кавычек
В данном примере все атрибуты тега <table>, а также <th> задаются в кавычках. Требуется закрывать все тегиВ HTML теги делятся на две категории — парные теги, называемые еще контейнерами и одинарные теги. Парные теги состоят из открывающего и закрывающего тега, причем в некоторых случаях закрывающий тег можно опустить. В XHTML закрывающий тег требуется всегда и везде. В примере 3.4 показан код с ошибкой, из-за того, что отсутствует тег </p>. Пример 3.4. Нет закрывающего тега
Некоторые разработчики игнорируют закрывающие теги </li>, </p>, </td>, но в XHTML их отсутствие считается ошибкой. В примере 3.5 показано корректное использование списков. Пример 3.5. Добавление списка
В данном примере каждому открывающему тегу соответствует его закрывающий тег. Элемент <!DOCTYPE> не является частью XHTML-документа, поэтому для него закрывающего тега не требуется. Что касается одинарных тегов, то они должны завершаться слэшем перед закрывающей угловой скобкой, как показано в примере 3.6. Пример 3.6. Добавление изображения
В данном примере обратите внимание на обязательный пробел, который предшествует конструкции />. В табл. 3.1 приведены некоторые теги HTML и их запись в XHTML-документе.
Должна соблюдаться правильная вложенность теговXHTML критично относится к ошибкам следующего типа: некорректная вложенность одного тега в другой и расположение тега в несоответствующем контейнере. Правильная вложенность теговКаждый тег должен располагаться внутри другого тега, при этом недопустимо их «пересечение», как это показано в примере 3.7. Пример 3.7. Ошибка с положением тегов
В данном примере закрывающий тег </b> предшествует тегу </i>, хотя должно быть наоборот, что и приводит к ошибке. Стоит поменять теги местами, как код становится корректным. Хотя валидатор кода и выдает ошибку в случае неправильного положения тегов, браузеры при этом правильно отображают веб-страницу. Иерархия теговВсе теги имеют строгую иерархическую систему в том смысле, что каждый тег должен находиться внутри другого тега и никак иначе. На условной вершине находится корневой элемент <html>, а все остальные теги могут содержать внутри себя другие теги, которые называются дочерними. Соответственно дочерние теги располагаются в родительском элементе. Необходимо знать систему подчиненности тегов и следовать ей при написании кода XHTML. В примере 3.8 показана базовая структура документа. Пример 3.8. Структура документа
В данном примере вначале приводится тег <html>, внутри которого располагаются теги <head> и <body>. Внутри раздела <head> хранится заголовок документа (<title>) и кодировка страницы (<meta>). Нельзя использовать сокращенные атрибуты теговСокращенным называется атрибут без присвоенного значения. В примере 3.9 приведена форма с использованием таких атрибутов. Пример 3.9. Ошибка при использовании атрибутов
|