XML Schema choice 元素

定义和用法

XML Schema 的 choice 元素仅允许包含在 <choice> 声明中的元素之一出现在包含元素中。

元素信息

出现次数 在 group 和 complexType 元素中为一次;其他为无限制。
父元素 group、choice、sequence、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
内容 annotation、any、choice、element、group、sequence

语法

  1. <choice
  2. id=ID
  3. maxOccurs=nonNegativeInteger|unbounded
  4. minOccurs=nonNegativeInteger
  5. any attributes
  6. >
  7.  
  8. (annotation?,(element|group|choice|sequence|any)*)
  9.  
  10. </choice>

(? 符号声明在 choice 元素中,元素可出现零次或一次,* 符号声明元素可出现零次或多次。)

属性 描述
id 可选。规定该元素的唯一的 ID。
maxOccurs 可选。规定 choice 元素在父元素中可出现的最大次数。该值可以是大于或等于零的整数。若不想对最大次数设置任何限制,请使用字符串 "unbounded"。 默认值为 1。
minOccurs 可选。规定 choice 元素在父元素中可出现的最小次数。该值可以是大于或等于零的整数。若要指定该 any 组是可选的,请将此属性设置为零。 默认值为 1。
any attributes 可选。规定带有 non-schema 命名空间的任何其他属性。

实例

  1. <xs:element name="person">
  2. <xs:complexType>
  3. <xs:choice>
  4. <xs:element name="employee" type="employee"/>
  5. <xs:element name="member" type="member"/>
  6. </xs:choice>
  7. </xs:complexType>
  8. </xs:element>

上面的例子定义 "person" 元素必须包含一个 "employee" 元素或一个 "member" 元素。