Припустимо, в процесі написання XML коду було вирішено використовувати замість порожнього елемента date порожній елемент з атрибутами:
,
а елемент time з необов'язковими атрибутами
.
Наприклад,
Увага!!!!
Завтра о 12.45 відбудеться лекція з Web-дизайну
У схемі DTD існує спеціальний механізм визначення атрибутів з використанням ключового слова ATTLIST.
Оголошення атрибутів відбувається таким чином:
ім’я_атрибута1 (тип) значення за замовченням
ім’я_атрибута1 (тип) значення за замовчанням >.
Існує три фундаментальні типи атрибутів, що оголошуються в рамках DTD схем:
Рядки, що зазначаються за допомогою ключового слова CDATA;
Марковані атрибути, що зазначаються за допомогою визначених раніше маркерів;
Атрибути з переліченням, що пропонують цілий ряд значень.
Існує три стандартні значення атрибутів:
#REQUIRED – вказує на те, що атрибут має бути вказаний;
#FIXED – вказує на фіксоване значення атрибута. Якщо значення атрибута відрізняється від оголошеного, документ не вважається правильним.
#IMPLIED – атрибут необов'язковий. Це означає, що при обробці елемента парсер може використовувати будь-яке значення, якщо в цьому є необхідність.