element choice w XML Schema

definicja i zastosowanie

Element XML Schema choice może zawierać tylko jeden z elementów znajdujących się w deklaracji <choice>.

informacje o elemencie

ilość wystąpień w elementach group i complexType pojawia się tylko jeden raz; inne mają nieograniczoną liczbę wystąpień.
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
jakiekolwiek atrybuty
>
(annotation?,(element|group|choice|sequence|any)*)
</choice>

(? symbol oznacza, że element może występować zero lub jeden raz, * symbol oznacza, że element może występować zero lub wiele razy.)

atrybuty opis
id opcjonalne. Określa unikalny identyfikator elementu.
maxOccurs opcjonalne. Określa maksymalną liczbę wystąpień elementu choice w kontekście nadrzędnym. Wartość może być całkowitą liczbą nieujemną. Jeśli nie chcesz określić maksymalnej liczby wystąpień, użyj ciągłej "unbounded". Domyślna wartość to 1.
minOccurs opcjonalne. Określa minimalną liczbę wystąpień elementu choice w kontekście nadrzędnym. Wartość może być całkowitą liczbą nieujemną. Aby oznaczyć, że ten zestaw any jest opcjonalny, ustaw tę właściwość na zero. Domyślna wartość to 1.
jakiekolwiek atrybuty Opcjonalne. Określa jakiekolwiek inne atrybuty z non-schema namespace.

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