Комплексные типы XSD - содержат только элементы

Элемент составного типа "только элементы" может содержать только другие элементы.

Составной тип содержит только элементы

Элемент XML, "person", содержит только другие элементы:

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

Вы можете определить элемент "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 и позволить атрибуту type элемента "person" ссылаться на это имя (если вы используете этот метод, несколько элементов могут ссылаться на один и тот же составной тип):

<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>