ELEMENT
Инструкция ELEMENT
применяется для объявления каждого элемента, который используется внутри типа документа, определенного в DTD. Сначала инструкция объявляет имя элемента, а затем определяет, какое содержимое допустимо в элементе.
Синтаксис
<!ELEMENT name content >
Параметры
- name
Имя элемента. Необходимо точно воспроизвести регистр.
content
Допустимая модель содержимого для элемента может быть одной из следующих.ANY — внутри элемента допускается любое содержимое. При использовании в объявлении элемента, это ключевое слово разрешает открытие неограниченной модели содержимого для элементов и всех дочерних узлов.
EMPTY — в элементе не допускается содержимое, он должен оставаться пустым.
Объявленное правило для содержимого — в этом случае требуется написать правило для содержимого, заключенное в круглые скобки.
В следующей таблице показаны зарезервированные ключевые слова и символы пунктуации, которые могут быть использованы вместе с именами других элементов, объявленных в DTD, для конструирования правила для содержимого элемента.
Символы Описание #PCDATA
Содержимое элемента может быть анализируемыми символьными данными.
name
Имя элемента. Имя определяемого элемента или других элементов, определенных в DTD, заданное с помощью дополнительных объявлений
ELEMENT
.Если в правиле для содержимого нет других символов или знаков пунктуации, то допускается и требуется только одно вхождение именнованного элемента.
()
В объявлении модели содержимого для элемента требуются как минимум одни круглые скобки (можно вкладывать дополнительные скобки). Дополнительные скобки могут понадобится для уточнения более сложной модели содержимого для элемента.
|
Вертикальная черта используется для отделения двух именнованных элементов. При использовании она указывает, что любой из элементов (до или после вертикальной черты) может отображаться как дочерний элемент.
,
Запятая используется для отделения двух именнованных элементов или вложенных правил. При использовании она указывает на порядок отображения элементов или правил.
?
Вопросительный знак используется в качестве суфикса или операнда. При использовании указывает, что предыдущий элемент или правило является необязательным. Может использоваться только один раз в данном фрагменте структуры XML-документа.
+
Знак плюс используется в качестве суфикса или операнда. При использовании указывает, что предыдущий элемент или правило является обязательным. Может использоваться более одного раза в данном фрагменте структуры XML-документа.
*
Звездочка используется в качестве суфикса или операнда. При использовании указывает, что предыдущий элемент или правило является необязательным. Может использоваться более одного раза в данном фрагменте структуры XML-документа.
Примеры
Объявляет элемент
<test>
, который может содержать любое содержимое.<!ELEMENT test ANY >
Объявляет элемент
<Image>
, который должен быть пустым (т. е. не может иметь содержимого):<!ELEMENT Image EMPTY >
Объявляет элемент
<title>
, который может содержать только символьные данные (и никакой другой разметки).<!ELEMENT title (#PCDATA) >
Объявляет элемент
<fruit>
, содержащий элемент<apple>
или элемент<orange>
.<!ELEMENT fruit (apple|orange) >
Объявляет элемент
<book>
, который должен содержать элемент<author>
, за которым следует элемент<title>
.<!ELEMENT book (author,title) >
Объявляет элемент
<memo>
, который должен содержать элемент<body>
, за которым необязательно должен следовать элемент<postscript>
.<!ELEMENT memo (body,postscript?) >
Объявляет элемент
<catalog>
, который должен содержать один или более элемент<book>
.<!ELEMENT catalog (book+) >
Объявляет элемент
<table>
, который может быть пустым, либо содержать элементы<rowset>
.<!ELEMENT table (rowset*) >