XML Schema sequence 元素

定义和用法

sequence 元素要求组中的元素以指定的顺序出现在包含元素中。每个子元素可出现 0 次到任意次数。

元素信息

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

语法

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

(? 声明在 sequence 元素中该元素可出现零次或一次。)

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

实例

例子 1

本例是一个针对 "personinfo" 元素的声明,该元素必需按顺序包含下列 5 个元素:"firstname", "lastname", "address", "city", and "country"。

  1. <xs:element name="personinfo">
  2. <xs:complexType>
  3. <xs:sequence>
  4. <xs:element name="firstname" type="xs:string"/>
  5. <xs:element name="lastname" type="xs:string"/>
  6. <xs:element name="address" type="xs:string"/>
  7. <xs:element name="city" type="xs:string"/>
  8. <xs:element name="country" type="xs:string"/>
  9. </xs:sequence>
  10. </xs:complexType>
  11. </xs:element>

例子 2

本例是一个针对 "pets" 元素的声明,可包含零个或多个 dog 和 cat 元素:

  1. <xs:element name="pets">
  2. <xs:complexType>
  3. <xs:sequence minOccurs="0" maxOccurs="unbounded">
  4. <xs:element name="dog" type="xs:string"/>
  5. <xs:element name="cat" type="xs:string"/>
  6. </xs:sequence>
  7. </xs:complexType>
  8. </xs:element>