XML Schema complexContent 元素

定义和用法

complexContent 元素定义对复杂类型(包含混合内容或仅包含元素)的扩展或限制。

元素信息

出现次数 一次
父元素 complexType
内容 可选项。annotation 必选项。 有并且只有一个下列元素: restriction (complexContent) 或 extension (complexContent)。

语法

  1. <complexContent
  2. id=ID
  3. mixed=true|false
  4. any attributes
  5. >
  6.  
  7. (annotation?,(restriction|extension))
  8.  
  9. </complexContent>

(? 符号声明元素可在 complexContent 元素内出现零次或一次。)

属性 描述
id 可选。规定该元素的唯一的 ID。
mixed 可选。规定是否允许字符数据出现在该 complexType 元素的子元素之间。 默认值为 false。
any attributes 可选。规定带有 non-schema 命名空间的任何其他属性。

实例

下面的例子中有一个复杂类型 "fullpersoninfo",这个复杂类型是通过用三个补充的元素扩展继承的类型,从另一个复杂类型 "personinfo" 衍生而来的:

  1. <xs:element name="employee" type="fullpersoninfo"/>
  2.  
  3. <xs:complexType name="personinfo">
  4. <xs:sequence>
  5. <xs:element name="firstname" type="xs:string"/>
  6. <xs:element name="lastname" type="xs:string"/>
  7. </xs:sequence>
  8. </xs:complexType>
  9.  
  10. <xs:complexType name="fullpersoninfo">
  11. <xs:complexContent>
  12. <xs:extension base="personinfo">
  13. <xs:sequence>
  14. <xs:element name="address" type="xs:string"/>
  15. <xs:element name="city" type="xs:string"/>
  16. <xs:element name="country" type="xs:string"/>
  17. </xs:sequence>
  18. </xs:extension>
  19. </xs:complexContent>
  20. </xs:complexType>

在上例中,"employee" 元素必须按顺序包含下面的元素:"firstname"、"lastname"、"address"、"city" 以及 "country"。