| |
содержать
только символы нижнего регистра. В отличие от языка HTML, в котором можно
было использовать имена, состоящие из символов нижнего регистра, верхнего
регистра или их комбинации, язык XHTML чувствителен к регистру и требует
использования имен в нижнем регистре. Тем не менее, несмотря на то, что име-
на атрибутов должны содержать только символы нижнего регистра, их значения
могут состоять из символов в любом регистре; основное правило — значение
каждого атрибута должно заключаться в кавычки.
Элементы должны быть вложенными и не должны перекрываться
Большинство Web-браузеров не обращают внимание на наличие перекрываю-
щихся элементов, созданных с помощью кода, подобного следующему, в котором
дескриптор <ъ> начинается внутри абзаца, а заканчивается вне его:
<р>Следующее слово выводится полужирным: <Ь>полужирныйрХ/Ь>
Формально перекрытие дескрипторов не допускается и в HTML, хотя и вос-
принимается браузерами. Тем не менее, как уже говорилось, XHTML-документы
должны быть правильно построены. Поэтому, в один прекрасный день, Web-брау-
зеры перейдут на стандарты XHTML и не будут делать пред]толожений о том,
что хотел их сказать автор, когда написал код с неверным синтаксисом языка
XHTML. Если сейчас вы всегда указываете конечные дескрипторы элементов (и
раздело©) в порядке, обратном порядку соответствующих начальных дескрипто-
ров, элементы (и разделы) не будут перекрываться. Таким образом, строку кода
из предыдущего примера можно переписать следующим образов:
<р>Следующее слово выводится полужирным: <Ь>полужирныйЬ>р>
240 Глава 5. XHTML и новые тенденции
Все имена элементов и атрибутов должны быть написаны
с использованием символов нижнего регистра
Язык HTML (в отличие от XHTML) не чувствителен к регистру, т.е. в HTML-
документе дескриптор ничем не будет отличаться от дескриптора .
Как результат, многие авторы, пытаясь сделать текст в своих Web-файлах более
читабельным, пишут имена всех элементов символами верхнего регистра, за счет
чего HTML-дескрипторы выделяются на фоне текста Web-страницы и атрибутов,
представленных символам^ нижнего регистра. Таким образом, обычный HTML-
документ может выглядеть следующим образом:
<НЕАБХТ1ТЬЕ>Заголовок КеЬ-страницыТ1ТЬЕ>НЕМ)>
<Р>Это выводится цветом <1>по умолчанию1Х/Р>
3TO выводится <В>краснымВ> цветомГОЫТХ/Р>
<Р>Это вновь выводится цветом по умолчаниюР>
К сожалению, несмотря на отличную читабельность, ни один из приведенных
в этом примере дескрипторов не будет считаться допустимым в XHTML.
Когда Web-браузер встречает дескриптор в XHTML-документе (да и в HTML-
документе), он ищет этот дескриптор в определении типа документа (DTD). Как
будет рассмотрено в описании DTD, приведенном после описания правил
XHTML, определение DTD содержит список всех элементов (или дескрипторов)
языка, а также список атрибутов для каждого дескриптора. При неправильном
написании имени дескриптора (например, вместо ) браузер не
найдет соответствующего элемента в определении DTD, проигнорирует его и пе-
рейдет к следующему дескриптору Web-документа.
Поскольку язык XHTML чувствителен к регистру, а DTD-определение XHTML
содержит описание всех элементов в нижнем регистре, все XHTML-дескрипторы
должны содержать только символы нижнего регистра. В противном случае Web-
браузер не найдет дескрипторы в DTD-определении и проигнорирует их как
неопознанные элементы, что в случае дескриптора контейнера приведет к тому,
что Web-браузер проигнорирует и содержимое дескриптора. Другими словами,
DTD-определение XHTML содержит описание элемента , но не содер-
жит описания для элемента . Как результат, браузер пропустит таблицу и
перейдет к следующему элементу.
Несмотря на то что имена атрибутов также должны содержать только симво-
лы нижнего регистра, их значения могут состоять из символов в любом регистре.
Так, например, следующие три строки кода будут считаться эквивалентными:
Открытые дескрипторы контейнеров должны быть закрыты, а пустые дескрип-
торы должны иметь терминатор.
Глава 5. XHTML и новые тенденции 241
Элементы Web-страницы, которые имеют и начальный и конечный дескрип-
торы считаются "контейнерами", поскольку они включают или| содержат текст,
изображения или объекты, которые Web-браузер выводит на э|фан. Например,
следующий код представляет собой пример использования начального и конеч-
ного дескрипторов абзаца (<рх/р>) для вывода на экран текста:
<р>Это текст, находящийся в пределах контейнера типа "абзаца".р>
При вставке контейнера типа "абзаца" (определенного его начальным и ко-
нечным дескрипторами) в HTML-код Web-страницы Web-браузер выводит на эк-
ран содержимое контейнера (т.е. текст абзаца).
Поскольку Web-браузер для каждого нового начального дескриптора абзаца
вставляет пустую строку (и переходит на начало новой строки), м н о г и е
авторы
используют контейнер абзаца (т.е. дескриптор <р>) в качестве маркера абзаца
для разделения абзацев, как показано в следующем примере:
Первый абзац.<р>
Второй абзац.<р>
Третий абзац.
Такой формат не является приемлемым в контексте XHTML. В XHTML-доку-
менте каждый начальный дескриптор контейнера абзац
| |
 | [Весь Текст] |
| |  |
|