При написании кода XHTML придерживаются того же синтаксиса, который характерен для HTML. При этом разница между HTML и XHTML состоит в наборе некоторых обязательных правил. Правила XHTML следующие.
Теги должны быть набраны в нижнем регистреЭто правило возникло из-за того, что XHTML чувствителен к регистру символов, поэтому для него теги <HR> и <hr> различаются. Чтобы не возникало путаницы, синтаксис принудительно заставляет указывать все теги, а также их атрибуты в нижнем регистре. В примере 3.1 приводится неверное использование тегов. Пример 3.1. Ошибочное написание тегов XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
В данном примере теги <body> и <p> набраны прописными символами, что является ошибкой. В примере 3.2 показан корректный код. Пример 3.2. Правильное написание тегов XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
Значения любых атрибутов необходимо заключать в кавычкиХотя в HTML также требуется заключать значения в кавычки, но их отсутствие никак не влияет на корректность кода. Так что можно сказать, что в HTML применение кавычек это лишь рекомендация. В XHTML же использование кавычек возведено в правило и любые значения атрибутов требуется указывать только в них (пример 3.3). Пример 3.3. Использование кавычек XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
В данном примере все атрибуты тега <table>, а также <th> задаются в кавычках. Требуется закрывать все тегиВ HTML теги делятся на две категории — парные теги, называемые еще контейнерами и одинарные теги. Парные теги состоят из открывающего и закрывающего тега, причем в некоторых случаях закрывающий тег можно опустить. В XHTML закрывающий тег требуется всегда и везде. В примере 3.4 показан код с ошибкой, из-за того, что отсутствует тег </p>. Пример 3.4. Нет закрывающего тега XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
Некоторые разработчики игнорируют закрывающие теги </li>, </p>, </td>, но в XHTML их отсутствие считается ошибкой. В примере 3.5 показано корректное использование списков. Пример 3.5. Добавление списка XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
В данном примере каждому открывающему тегу соответствует его закрывающий тег. Элемент <!DOCTYPE> не является частью XHTML-документа, поэтому для него закрывающего тега не требуется. Что касается одинарных тегов, то они должны завершаться слэшем перед закрывающей угловой скобкой, как показано в примере 3.6. Пример 3.6. Добавление изображения XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
В данном примере обратите внимание на обязательный пробел, который предшествует конструкции />. В табл. 3.1 приведены некоторые теги HTML и их запись в XHTML-документе.
Должна соблюдаться правильная вложенность теговXHTML критично относится к ошибкам следующего типа: некорректная вложенность одного тега в другой и расположение тега в несоответствующем контейнере. Правильная вложенность теговКаждый тег должен располагаться внутри другого тега, при этом недопустимо их «пересечение», как это показано в примере 3.7. Пример 3.7. Ошибка с положением тегов XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
В данном примере закрывающий тег </b> предшествует тегу </i>, хотя должно быть наоборот, что и приводит к ошибке. Стоит поменять теги местами, как код становится корректным. Хотя валидатор кода и выдает ошибку в случае неправильного положения тегов, браузеры при этом правильно отображают веб-страницу. Иерархия теговВсе теги имеют строгую иерархическую систему в том смысле, что каждый тег должен находиться внутри другого тега и никак иначе. На условной вершине находится корневой элемент <html>, а все остальные теги могут содержать внутри себя другие теги, которые называются дочерними. Соответственно дочерние теги располагаются в родительском элементе. Необходимо знать систему подчиненности тегов и следовать ей при написании кода XHTML. В примере 3.8 показана базовая структура документа. Пример 3.8. Структура документа XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
В данном примере вначале приводится тег <html>, внутри которого располагаются теги <head> и <body>. Внутри раздела <head> хранится заголовок документа (<title>) и кодировка страницы (<meta>). Нельзя использовать сокращенные атрибуты теговСокращенным называется атрибут без присвоенного значения. В примере 3.9 приведена форма с использованием таких атрибутов. Пример 3.9. Ошибка при использовании атрибутов XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
«Пустое значение», как еще называется подобная ошибка, легко исправляется, если присвоить атрибуту значение, совпадающее с названием. В табл. 3.2 приведены некоторые атрибуты и как они записываются в HTML и XHTML.
В примере 3.10 показано корректное использование вышеприведенной формы. Пример 3.10. Правильное использование атрибутов XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
Вместо атрибута name необходимо указывать idАтрибут name определяется в HTML для тегов <a>, <frame>, <iframe>, <img> и <map> и предназначен для обозначения элемента с целью последующего к нему обращения из скриптов. В XHTML атрибут name частично вышел из употребления, а вместо него следует использовать id, как показано в примере 3.11. Пример 3.11. Идентификатор рисунка XHTML 1.0IE 7IE 8IE 9Cr 8Op 11Sa 5Fx 3.6
Указанное правило не применяется к элементам форм, вроде <input type="radio" />, где без атрибута name вообще не обойтись. Следует определять DTDВсе XHTML-документы обязательно должны содержать элемент <!DOCTYPE> в первой строке кода, а также придерживаться иерархической структуры вложения тегов. | |||||||||||||||||||||||||||||||||||||
Просмотров: 451
| Теги: |
Всего комментариев: 0 | |