XSD 組合タイプ - 要素のみを含む

「要素のみを含む」複合タイプの要素は他の要素を含むことができます。

複合タイプは要素のみを含みます

XML要素、"person"は他の要素を含みます:

<person>
<firstname>John</firstname>
<lastname>Smith</lastname>
</person>

schemaの中でperson要素を以下のように定義できます:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

この<xs:sequence>に注意してください。これは、定義された要素がperson要素の中で上記の順序で出現する必要があることを意味します。

complexType要素に名前を設定することができ、person要素のtype属性がその名前を参照するようにすることができます(この方法を使用すると、複数の要素が同じ複合タイプを参照できます):

<xs:element name="person" type="persontype"/>
<xs:complexType name="persontype">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>