Element choice w XML Schema

Definicja i zastosowanie

Element choice w XML Schema pozwala na wystąpienie tylko jednego z elementów zawartych w deklaracji <choice> w elemencie zawierającym.

Informacje o elemencie

Liczba wystąpień W grupie i elemencie complexType pojawia się tylko raz; inne są nieograniczone.
Rodzic group、choice、sequence、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Zawartość annotation、any、choice、element、group、sequence

Gramatyka

<choice
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
Każde atrybuty
>
(annotation?,(element|group|choice|sequence|any)*)
</choice>

(? symbol deklarowany w elemencie choice, element może występować zero lub jeden raz, * symbol deklarowany element, który może występować zero lub wiele razy.)

Atrybuty Opis
id Opcjonalne. Określa unikalny ID elementu.
maxOccurs Opcjonalne. Określa maksymalną liczbę wystąpień elementu choice w rodzicu. Wartość może być całkowitą liczbą większą lub równą zero. Aby nie ograniczać maksymalnej liczby wystąpień, użyj ciągului "unbounded". Domyślną wartością jest 1.
minOccurs Opcjonalne. Określa minimalną liczbę wystąpień elementu choice w rodzicu. Wartość może być całkowitą liczbą większą lub równą zero. Aby oznaczyć, że ten any jest opcjonalny, ustaw tę właściwość na zero. Domyślną wartością jest 1.
Każde atrybuty Opcjonalne. Określa każdą inną właściwość z non-schema przestrzeni nazw.

Przykład

<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>

Powyższy przykład definiuje, że element "person" musi zawierać element "employee" lub element "member".