Описание элементов и их атрибутов

Элементы, которые будут применяться в документе 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> описываются элементы, входящие в сложный тип, и/или атрибуты открывающего тега.

Определение сложного типа можно разделить на определение типа пустого элемента, элемента с простым телом, и элемента, содержащего вложенные элементы. Рассмотрим эти определения подробнее.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: