XSD 复合类型 - 仅含元素

“仅含元素”的复合类型元素是只能包含其他元素的元素。

复合类型仅包含元素

XML 元素,"person",仅包含其他的元素:

  1. <person>
  2. <firstname>John</firstname>
  3. <lastname>Smith</lastname>
  4. </person>

您可在 schema 中这样定义 "person" 元素:

  1. <xs:element name="person">
  2. <xs:complexType>
  3. <xs:sequence>
  4. <xs:element name="firstname" type="xs:string"/>
  5. <xs:element name="lastname" type="xs:string"/>
  6. </xs:sequence>
  7. </xs:complexType>
  8. </xs:element>

请留意这个 <xs:sequence>。它意味着被定义的元素必须按上面的次序出现在 "person" 元素中。

或者您可以为 complexType 元素设定一个名称,并让 "person" 元素的 type 属性来引用此名称(如使用此方法,若干元素均可引用相同的复合类型):

  1. <xs:element name="person" type="persontype"/>
  2.  
  3. <xs:complexType name="persontype">
  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>