Кроме того, любая структура, на которую имеется ссылка в документе, также должна быть правильной.
Необходимые пояснения к приведенному определению даются в следующих разделах рекомендации XML:
• документ обязательно должен содержать объявление типа DOCTYPE. XHTML-агентов пользователя необходимо уведомить о типе принимаемого ими документа. Анализаторы состоятельности также должны иметь доступ к секции DTD;
• документ должен содержать по крайней мере один элемент. Любой XHTML-документ включает в себя по меньшей мере четыре элемента: html, head с элементом title внутри и элемент body;
• в документе должен быть корневой элемент, причем единственный. Все XHTML-документы начинаются с корневого элемента html;
• никакая часть корневого элемента не может быть включена в другой элемент. Другими словами, корневой элемент должен открываться в документе первым и закрываться последним. Ниже дан пример корректной записи установленные требования к формату соблюдены:
<html> <body>
...содержимое...
</body> </html>
В следующем примере допущена ошибка:
<body> <html>
...содержимое...
</html> </body>
• для всех элементов выполняется правило: если открывающий тэг находится внутри какого-либо элемента, в его границах должен размещаться и закрывающий тэг, то есть во вложенных тэгах одна пара тэгов должна находиться в рамках другой. Здесь можно провести аналогию с набором шаров или матрешек, которые отличаются размерами и поэтому могут помещаться друг в друга. Сборка единой конструкции начинается с самой большой игрушки, в нее вкладывается второй по объему предмет - и так до тех пор, пока внутри не окажутся все предметы. Очевидно, что ситуация, когда одна половина игрушки находится внутри большего предмета, а вторая внутри меньшего, невозможна. Для стандарта XHTML это означает, что корректной является следующая запись:
<p><strong><em>Wow!</emx/strongx/p> а строка
<p><strong><em>Wow!</px/strongx/em> неправильна.
Примечание В формальном словаре языков разметки элементы, вложенные в структуры других элементов, часто называют потомками. Соответственно элемент, который содержит вложенный элемент, называется родительским, или порождающим. Установление такого типа взаимосвязи элементов особенно важно при написании скриптов и работе с объектной моделью документа.
На этом перечень требований, определяющих суть термина «правильный документ», в рекомендации XML исчерпывается. Однако существует еще ряд положений, имеющих отношение к данной проблеме:
• корневой элемент должен содержать описание XHTML-пространства имен на основе атрибута xmlns. Идентификатором пространства служит запись http://www.w3.org/1999/xhtml:
• все значения атрибутов заключают в кавычки. Таким образом, следующая запись будет ошибочной:
<р align=center>
а корректной для данного примера станет строка:
<р align="center">
В языке HTML кавычки необязательны, если для значений атрибутов используется запись, отличная от URI, либо символы, не являющиеся буквами или цифрами, например символ # для шестнадцатеричного кода цвета;
• булевы атрибуты необходимо раскрывать. Иными словами, каждый атрибут должен быть инициализирован. Булев атрибут единственный, активизирующийся фактом своего присутствия. В HTML 4 в качестве примера можно привести атрибут checked, размещенный в элементе input типа check box:
<input type="checkbox" name="mybox" checked>
В XHTML-документе оптимального формата каждый атрибут должен наделяться значением, поэтому процедура определения состояния данного входного элемента записывается следующим образом:
<input type="checkbox" name="mybox" checked="checked">
• элементы с содержательной информацией (то есть не «пустые») должны иметь закрывающий тэг (в версии HTML 4 он необязателен). Например, в стандарте HTML 4 часто встречается следующее представление для элемента текстового абзаца:
<р>Это первый абзац текста.
<р>Это второй абзац текста. Его запись начинается
с открывающего дескриптора р, который по умолчанию закрывает
первый абзац.
В версии языка XHTML 1.0 оба элемента будут записаны так:
<р>Это первый абзац текста.</р>
<р>Поскольку у первого абзаца текста есть собственный закрывающий тэг, открывающий дескриптор второго абзаца только указывает начало этого абзаца.</р>
? пустые элементы тоже должны включать закрывающий тэг. Их можно закрыть с помощью закрывающего тэга либо укороченной записи. Следовательно, две нижеприведенные записи считаются корректными с точки зрения правильности документа:
<img src="myphoto.gif" alt="a picture of the author"></img> либо
<img src="myphoto.gif" alt="a picture of the author" />
Однако следует отметить, что использование обеих опций создает определенные проблемы, связанные с обратной совместимостью с браузерами, которые настроены на работу с элементами HTML.
Примечание Процедуры, направленные на обеспечение требований обратной совместимости, были описаны в главе 9.
Опубликовал vovan666
April 08 2013 14:57:10 ·
0 Комментариев ·
3393 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.