- •3.1 Введение в sgml
- •3.2 Конструкции sgml используемые в html
- •3.2.1 Элементы
- •3.2.2 Атрибуты
- •3.2.3 Указатели символов
- •3.2.4 Коментарии
- •3.3 Как читать dtd для html
- •3.3.1 Коментарии в dtd
- •3.3.2 Определения параметрических сущностей
- •3.3.3 Объявления элементов
- •Определения модели содержания
- •3.3.4 Объявления атрибутов
- •Сущности dtd в определениях атрибутов
- •Булевы атрибуты
- •4 Согласования: требования и рекомендации
- •4.1 Определения
- •4.3 Тип содержания "text/html"
- •5 Представление документа html
- •5.1 Набор символов документа
- •5.2 Символьные кодировки
- •5.2.1 Выбор кодировки
- •Примечание о специфических кодировках
- •5.2.2 Указание символьной кодировки
- •5.3 Символьные ссылки
- •5.3.1 Числовые символьные ссылки
- •5.3.2 Символьные сущностные ссылки
- •5.4 Неотображаемые символы
- •6 Основные типы данных html
- •6.1 Информация о регистре
- •6.2 Основные типы sgml
- •6.3 Текстовые строки
- •6.5 Цвета
- •6.5.1 Примечание об использовании цветов.
- •6.6 Длины
- •6.7 Типы содержания (типы mime)
- •6.8 Языковые коды
- •6.9 Символьные кодировки
- •6.10 Одиночные символы
- •6.11 Дата и Время
- •6.12 Типы связей
- •6.13 Описатели среды
- •6.14 Данные сценариев
- •6.15 Данные таблиц стилей
- •6.16 Фреймовые целевые имена
Сущности dtd в определениях атрибутов
Определения атрибутов могут также содержать указатели параметрических сущностей.
В этом примере, мы видим, что список определений атрибутов для элемента LINK начинается с параметрической сущности "%attrs;".
<!ELEMENT LINK - O EMPTY -- a media-independent link -->
<!ATTLIST LINK
%attrs; -- %coreattrs, %i18n, %events --
charset %Charset; #IMPLIED -- char encoding of linked resource --
href %URI; #IMPLIED -- URI for linked resource --
hreflang %LanguageCode; #IMPLIED -- language code --
type %ContentType; #IMPLIED -- advisory content type --
rel %LinkTypes; #IMPLIED -- forward link types --
rev %LinkTypes; #IMPLIED -- reverse link types --
media %MediaDesc; #IMPLIED -- for rendering on these media --
>
Начальный ярлык: обязателен, Заключительный ярлык: запрещен
Параметрическая сущность "%attrs;" определяется следующим образом:
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
В свою очередь, параметрическая сущность "%coreattrs;" разворачивается в:
<!ENTITY % coreattrs
"id ID #IMPLIED -- document-wide unique id --
class CDATA #IMPLIED -- space separated list of classes --
style %StyleSheet; #IMPLIED -- associated style info --
title %Text; #IMPLIED -- advisory title/amplification --"
>
Параметрическая сущность "%attrs;" определена для удобства так как эти атрибуты определены для большинства типов элементов в HTML.
Аналогично DTD определяет параметрическую сущность "%URI;" которая разворачивается в строку "CDATA".
<!ENTITY % URI "CDATA"
-- a Uniform Resource Identifier,
see [URI]
-->
Как видно из этого примера, параметрическая сущность "%URI;" предоставляет читателям больше информации о том какого типа данные ожидаются для атрибута. Похожие сущности определены для [цвета] "%Color;", [набора символов] "%Charset;", [длины] "%Length;", [пикселей] "%Pixels;", и т.п.
Булевы атрибуты
Некоторые атрибуты играют роль булевых переменных (например, атрибут selected [выбран] для элемента OPTION). Их появление на начальном ярлыке элемента означает что значение атрибута есть "правда". Их отсутствие означает значение "ложь".
Булевы атрибуты могут законно принимать единственное значение: имя самого атрибута (например, selected="selected").
Этот пример определяет атрибут selected как булев атрибут.
selected (selected) #IMPLIED -- reduced inter-item spacing --
Атрибут принимает значение "правда" так как он указан на начальном ярлыке элемента:
<OPTION selected="selected">
...содержание...
<OPTION>
В HTML, булевы атрибуты могут указыватся в сокращенной форме -- значение атрибута приводится само по себе на начальном ярлыке элемента. Таким образом, атрибут selected может быть установлен посредством:
<OPTION selected>
вместо:
<OPTION selected="selected">
Авторам следует иметь в виду, что многие средства просмотра распознают только сокращенную форму булевых атрибутов и не распознают полную форму.