Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Об SGML и HTML.doc
Скачиваний:
2
Добавлен:
22.11.2019
Размер:
330.75 Кб
Скачать

3.3 Как читать dtd для html

Каждое объявление элемента и атрибута сопровождается фрагментом в определении типа документа. Мы решили включать фрагменты DTD непосредственно в спецификацию вместо того чтобы искать более доступные, но и более длинные и менее точные способы описания свойств элементов. Предлагаемое пособие должно позволить читателям незнакомым с SGML читать DTD и понимать технические детали спецификации HTML.

3.3.1 Коментарии в dtd

Коментарии в DTD могут занимать одну или болеее строк. Коментарии в DTD ограничеваются парой меток "--", например

<!ELEMENT PARAM - O EMPTY -- именованое значение свойства -->

Здесь, коментарий "именованое значение свойства" объясняет использование элемента типа PARAM. Коментарии в DTD служат только для информации.

3.3.2 Определения параметрических сущностей

DTD для HTML начинается с набора определений параметрических сущностей. Определение параметрической сущности определяет нечто вроде макроса которое может быть использовано и развернуто где-то б другом месте DTD. Эти макросы не могут встречатся в документах на HTML, только в DTD. Другие типы макросов, так называемые символьные указатели, могут быть использованы в тексте документов на HTML или внутри значений атрибутов.

Если параметрическая сущность указывается по имени в DTD, то она разворачивается в строку.

Определение параметрической сущности начинается с ключевого слова <!ENTITY % за которым следуют имя сущности, строка в кавычках в которую сущность разворачивается и, наконец, закрывающий уголок >. В случае применения в DTD параметрические сущности начинаются со знака "%", затем следует имя сущности и заканчиваются на ";", которая может опускатся.

Следующий пример определяет строку в которую разворачивавтся параметрическая сущность "%fontstyle;.

<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">

Строка в которую разворачивается параметрическая сущность может содержать имена других параметрических сущностей. Эти имена разворачиваются рекурсивно. В следующем примере параметрическая сущность "%inline;" определяется с использованием параметрических сущностей "%fontstyle;", "%phrase;", "%special;" и "%formctrl;".

<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

Следующие две сущности DTD будут часто встречатся в DTD для HTML: "%block;" "%inline;". Они используются когда модель содержания включает блочные и строчные элементы соответственно (определенные в разделе о глобальной структуре документа на HTML).

3.3.3 Объявления элементов

Основная часть DTD для HTML состоит из объявлений типов элементов и их атрибутов. Объявление начинается с ключевого слова <!ELEMENT и заканчивается символом >. Между ними указываются:

  1. Название элемента.

  2. Являются ли начальный или заключительный ярлыки элемента необязательными. Две черточки указаные после названия элементаозначают что как началный так и заключительный ярлыки являются обязательными. Одна черточка за которой следует [латинская] буква "O" означает что заключительный ярлык может быть опущен. Две буквы "O" означают что оба ярлыка, как начальный так и конечный, могут быть опущены.

  3. Содержание элемента, если таковое имеется. Допустимое содержание элемента называется его моделью содержания. Типы элементов расчитаные на отсутствие содержания называются пустыми элементами. Модель содержания для таких элементов объявляется используя ключевое слово "EMPTY" (пустой).

В этом примере:

<!ELEMENT UL - - (LI)+>

  • Тип объявляемого элемента называется UL.

  • Две черточки указывают, что оба Ярлыка, начальный <UL> и конечный </UL> требуются для элементов данного типа.

  • Модель содержания для этого типа элемента обявлена как "по крайней мере один элемент типа LI". Далее, мы объясним как определять модели содержания.

Этот пример представляет объявление пустого типа элемента:

<!ELEMENT IMG - O EMPTY>

  • Тип объявляемого элемента называется IMG.

  • Черточка и следующая за ней буква "O" указывают что заключительный ярлык может быть опущен, однако вместе с моделью содержания "EMPTY", это правило усиливается и становится требованием что заключительный ярлык должен быть опущен.

  • Ключевое слово "EMPTY" означает что элементы данного типа не могут иметь содержания.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]