logo
Хабибуллин

Определение сложных типов

Элементы, которые будут применяться в документе XML, описываются в схеме компо-

нентом <element>:

<xsd:element name="имя элемента" type="тип элемента" minOccurs="наименьшее число появлений элемента в документе" maxOccurs="наибольшее число появлений" />

Значение по умолчанию необязательных атрибутов minOccurs и maxOccurs равно 1. Это означает, что если эти атрибуты отсутствуют, то элемент должен появиться в документе XML ровно один раз. Определение типа элемента можно вынести в тело элемента

<element>:

<xsd:element name="имя элемента" >

Определение типа элемента

</xsd:element>

Описание атрибута элемента тоже несложно:

<xsd:attribute name="имя атрибута" type="тип атрибута" use="обязательность атрибута" default="значение по умолчанию" />

Необязательный атрибут use принимает три значения:

optional — описываемый атрибут необязателен (это значение по умолчанию);

required — описываемый атрибут обязателен;

prohibited — описываемый атрибут неприменим. Это значение полезно при опреде-

лении подтипа, чтобы отменить некоторые атрибуты базового типа.

Если описываемый атрибут необязателен, то атрибутом default можно задать его значение по умолчанию.

Определение типа атрибута — а это должен быть простой тип — можно вынести в тело

элемента <attribute>:

<xsd:attribute name="имя атрибута">

Тип атрибута

</xsd:attribute>