| Символ
| Значение
|
| ?
| Один дочерний элемент или не одного
|
| +
| Один или несколько дочерних элементов
|
| *
| Ни одного или несколько дочерних элементов
|
Пример DTD описания шаблона со специальным символом:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE firma[
<!ELEMENT firma (sluj+)>
<!ELEMENT sluj (id, fam)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT fam (#PCDATA)>]>
<firma>
<sluj>
<id>m100</id>
<fam>Петров</fam>
</sluj>
<sluj>
<id>m200</id>
<fam>Хватова</fam>
</sluj>
</firma>
Здесь тег sluj это блок данных о сотруднике фирмы, тег id хранит личный номер сотрудника, а тег fam его фамилию. Блоков sluj должно быть минимум один.
Можно повысить информационную емкость XML тега, используя атрибуты. Атрибут описывается в DTD шаблоне в виде:
<!ATTLIST Тег Атрибут Тип Спецификация>
Здесь Тег имя тега, которому принадлежит атрибут. Тип атрибута может принимать значения из таблицы.
Таблица 2.6
Типы атрибутов
| Тип
| Особенности
|
| CDATA
| Произвольный текст
|
| ID
| Уникальное значение
|
| IDREF
| Ссылка на другой ID атрибут
|
| IDREFS
| Ссылка на другие ID атрибуты
|
Спецификация определяет правило задания значения атрибуту. Допустимые спецификации приводятся в таблице.
Таблица 2.7