Синтаксис визначення елемента AttributeType має вигляд:
default=‘default-value’
dt:type=‘primitiv-type’
dt:values=‘enumerated-values’
name=‘idref’
required=‘{yes|no}’>.
Тут
default – значення атрибута за замовчанням. Наприклад, якщо атрибут відноситься до переліченого типу, значення за замовчанням повинне вказуватися у списку;
dt:type – тип даних для атрибута певного типу: entity, entities, enumeration, id, idref, idrefs, nmtoken, nmtokens, notation, string. При обраному типі enumeration необхідно вказувати і атрибут dt:values;
dt:values – містить всі допустимі значення, якщо dt:type=‘enumeration’;
name – ім'я типу атрибута. Цей атрибут обов'язковий;
required – указує на необов'язкову наявність атрибута в описі елемента.
У даному прикладі атрибут відноситься до елемента note. Тому ElementType для елементаnoteміститиме і елементи, і AttributeType, і Attribute.
Розглянемо синтаксис елемента Attribute.
default=‘default-value’
type=‘attribute-type’
required= ‘{yes|no}’>.
Тут
default – значення атрибута за замовчанням. Має перевагу перед будь-яким значенням за замовчанням, вказаним в елементі AttributeType;
type – ім'я елемента AttributeType, яке визначене в даній схемі (або в іншій, вказане за допомогою відповідного простору імен). Вказане значення повинне відповідати значенню атрибута name в AttributeType;
required – вказує на необов'язкову наявність атрибута в описі елемента. Необов'язковий, якщо необхідний атрибут присутній в AttributeType.
Таким чином, для прикладу example_8.xml XDR-схема буде мати такий вигляд:
1:
2:
3:name='example_8'
4:xmlns= 'urn:shemas-microsoft-com:xml-data'
5:xmlns:dt='urt:shemas-microsoft-com:datatype'>
6:
7:
8:dt:type='time'
9:name= 'time'
10:required='yes'/>
11:
12:type= 'time'
13:required='yes'/>
14:
15:dt:type='date'
16:name= 'date'
17:required= 'yes'/>
18:
19:type= 'date'
20:required= 'yes'/>
21:
22:
23:
24:.
Якщо в рядку
4:date= ’17-10-2009’
прикладу example_8.xml внести зміни
4:date= ’17 жовтня 2009’
валідатор при перевірці XML-документа повідомить про помилку «невідповідність типів даних».