Элемент choice в XML Schema

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

Элемент choice в XML Schema позволяет только одному из элементов, указанных в объявлении <choice>, появляться в содержащем элементе.

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

Количество出现的 В элементах group и complexType может появляться один раз; в других без ограничений.
Родительский элемент group、choice、sequence、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Содержимое annotation、any、choice、element、group、sequence

Грамматика

<choice
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
любые атрибуты
>
(annotation?,(element|group|choice|sequence|any)*)
</choice>

(? символ указывает на то, что элемент может出现 0 или 1 раз, * символ указывает на то, что элемент может出现 0 или более раз。)

Атрибуты Описание
id Опционально. Определяет уникальный ID для этого элемента.
maxOccurs Опционально. Определяет максимальное количество раз, когда элемент choice может появляться в родительском элементе. Это значение может быть целым числом, не менее нуля. Если вы не хотите устанавливать ограничение на максимальное количество, используйте строку "unbounded". По умолчанию значение равно 1.
minOccurs Опционально. Определяет минимальное количество раз, когда элемент choice может появляться в родительском элементе. Это значение может быть целым числом, не менее нуля. Чтобы определить, что этот any является опциональным, установите это свойство в ноль. По умолчанию значение равно 1.
любые атрибуты Опционально. Определяет любые другие атрибуты с non-schema именем пространства.

Пример

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

Примеры выше определяют, что элемент "person" должен содержать элемент "employee" или элемент "member".