PHP 4 на практике


Определение типа документа (DTD) - часть 4


Следующее определение элемента process говорит о том, что он содержит ровно один вложенный элемент с именем step: 

<!ELEMENT process (step)>

Впрочем, процессы (process) из одного шага (step) встречаются довольно редко — скорее всего, шагов будет несколько. Чтобы указать, что элемент содержит один или несколько экземпляров вложенного элемента step, следует воспользоваться признаком

повторения:

<!ELEMENT process (step+)>

Количество вложенных элементов можно задать несколькими способами. Полный список операторов элементов приведен в табл. 14.1.

Таблица 14.1.

Операторы элементов

Признак  

Значение

?

Ноль или ровно один экземпляр 

*

Ноль или несколько экземпляров 

+

Один или несколько экземпляров

 

Ровно один экземпляр 

|

Один из элементов 

,

Перечисление элементов

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

<!ELEMENT recipe (title, description, ingredients, process)>

Поскольку признаки повторения не указаны, каждый тег должен встречаться ровно один раз.

Определение элемента уточняется при помощи логических операторов. Предположим, вы работаете с рецептами, в которые всегда входят макароны (pasta) с одним или несколькими типами сыра (cheese) или мяса (meat). В этом случае элемент ingredient определяется следующим образом:

<!ELEMENT ingredient (pasta+, (cheese | meat)+)>

Поскольку элемент pasta обязательно должен присутствовать в элементе ingredient, он указывается с признаком повторения +. Затем следует либо элемент cheese, либо элемент meat; мы разделяем альтернативы вертикальной чертой и заключаем их в круглые скобки со знаком +, поскольку в рецепт всегда входит либо одно, либо другое.

Существуют и другие разновидности определений элементов. Мы рассмотрели лишь простейшие случаи. Тем не менее, приведенного материала вполне достаточно для понимания примеров, приведенных в оставшейся части этой главы.




- Начало -  - Назад -  - Вперед -



Книжный магазин