Элементы, которые будут применяться в документе XML, описываются в схеме компонентом <element>:
<xsd:element namе="имя элемента" туре="тип элемента"
minOccurs="наименьшее число появлений элемента в документе" maxOccurs-''наибольшее число появлений" />
Значение по умолчанию необязательных атрибутов minOccurs и maxOccurs равно 1. Это означает, что если эти атрибуты отсутствуют, то элемент должен появиться в документе XML ровно один раз. Определение типа элемента можно вынести в тело элемента <element>:
<xsd:element namе="имя элемента" >
Определение типа элемента
</xsd:element>
Описание атрибута элемента тоже несложно:
<xsd: attribute namе=" имя атрибута" type="тип атрибута"
use="обязательность атрибута" default="значение по умолчанию" />
Необязательный атрибут use принимает три значения:
- optional — описываемый атрибут необязателен (это значение по умолчанию);
- required — описываемый атрибут обязателен;
- prohibited — описываемый атрибут неприменим. Это значение полезно при определении подтипа, чтобы отменить некоторые атрибуты базового типа.
|
|
Если описываемый атрибут необязателен, то атрибутом default можно задать его значение по умолчанию.
Определение типа атрибута, — а это должен быть простой тип, — можно вынести в тело элемента <attribute>:
<xsd:attribute namе="имя атрибута">
Тип атрибута
</xsd:attribute>
Определение сложных типов
Напомним, что тип элемента называется сложным, если в элемент вложены другие элементы и/или в открывающем теге элемента есть атрибуты.
Сложный тип определяется компонентом <comрlехТуре>, имеющим вид: <xsd:complexType namе="имя типа">Определение типа</xsd:complexType>
Необязательный атрибут name задает имя типа, а в теле компонента <complexType> описываются элементы, входящие в сложный тип, и/или атрибуты открывающего тега.
Определение сложного типа можно разделить на определение типа пустого элемента, элемента с простым телом, и элемента, содержащего вложенные элементы. Рассмотрим эти определения подробнее.