Элемент all в XML Schema

Определение и использование

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

Информация о элементе

Количество出现的 один раз
Родительский элемент group, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), complexType
Содержание annotation, element

Грамматика

<all
id=ID
maxOccurs=1
minOccurs=0|1
любые атрибуты
>
(annotation?,element*)
</all>

(? символ указывает на то, что элемент может появляться нулевое или одно раз, а * символ указывает на то, что элемент может появляться нулевое или несколько раз в любом элементе.)

Атрибуты Описание
id Опционально. Уникальный идентификатор элемента.
maxOccurs Опционально. Максимальное количество出现的 элементов. Значение должно быть 1.
minOccurs Опционально. Минимальное количество出现的 элементов. Значение может быть целым числом 0 или 1. Чтобы определить элемент как опциональный, установите атрибут в 0. Значением по умолчанию является 1.
любые атрибуты Опционально. Определяет любые другие атрибуты с non-schema именованным пространством.

Пример 1

<xs:element name="person">
  <xs:complexType>
    <xs:all>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

Примеры показывают, что элементы "firstname" и "lastname" могут появляться в любом порядке, и оба элемента должны и могут появляться только один раз!

Пример 2

<xs:element name="person">
  <xs:complexType>
    <xs:all minOccurs="0">
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

Примеры показывают, что элементы "firstname" и "lastname" могут появляться в любом порядке, и каждый элемент может появляться нулевое или одно время!