О спецификации HTML 4.0

Определения модели содержимого


Модель содержимого описывает, что может содержаться в экземпляре типа элемента. Определения модели содержимого могут включать:

  • Имена допустимых или запрещенных типов элементов (например, элемент содержит экземпляры типа элемента , а тип элемента не может включать другие элементы ).
  • Комбинации DTD (например, элемент включают экземпляры комбинации параметров "%inline;").
  • Текст документа (указываемый SGML-конструкцией "#PCDATA"). Текст может включать . Помните, что они начинаются с & и заканчиваются точкой с запятой (например, "Hergé's adventures of Tintin" содержит ссылку на комбинацию символов для отображения символа "e со знаком ударения").
  • Модель содержимого элемента указывается с использованием следующего синтаксиса:

    ( ... )

    Разделяет группы. A | B

    Происходит A или B, но не оба. A , B

    Происходят A и B в указанном порядке. A & B

    Происходят A и B в любом порядке. A?

    A происходит ноль или один раз. A*

    A происходит ноль или более раз. A+

    A происходит один или несколько раз.

    Вот некоторые примеры HTML DTD:

    <!ELEMENT UL - - (LI)+>

    Элемент должен содержать один или несколько элементов .

    <!ELEMENT DL - - (DT|DD)+>

    Элемент должен содержать один или несколько элементов или в любом порядке.

    <!ELEMENT OPTION - O (#PCDATA)>

    Элемент может содержать только текст и такие entities как &amp; -- это определяется типом данных SGML #PCDATA.

    Некоторые типы элементов HTML используют дополнительную функцию SGML для исключения элементов из модели содержимого. Исключенным элементам предшествует символ переноса. Явные исключения имеют приоритет по отношению к допустимым элементам.

    В этом примере -(A) означает, что элемент не может находиться в другом элементе (то есть ссылки не могут быть вложенными).

    <!ELEMENT A - - (%inline;)* -(A)>

    Помните, что тип элемента является частью DTD комбинации параметров "%inline;", но явно исключается выражением -(A).

    Точно так же следующее объявление типа элемента запрещает вложенные формы:

    <!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM)>



    Содержание раздела