Loại phức hợp XSD - chỉ chứa văn bản

Phần tử phức hợp chỉ chứa văn bản có thể chứa văn bản và thuộc tính.

Phần tử phức hợp chỉ chứa văn bản

Loại này chỉ chứa nội dung đơn giản (văn bản và thuộc tính), vì vậy chúng ta cần thêm phần tử simpleContent vào nội dung này. Khi sử dụng nội dung đơn giản, chúng ta phải định nghĩa mở rộng hoặc giới hạn trong phần tử simpleContent, như thế này:

<xs:element name="Một tên nào đó">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

hoặc:

<xs:element name="Một tên nào đó">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Lưu ý:Hãy sử dụng phần tử extension hoặc restriction để mở rộng hoặc giới hạn loại cơ bản của phần tử.

Dưới đây là một ví dụ về phần tử XML, "shoesize", chỉ chứa văn bản:

<shoesize country="france">35</shoesize>

Dưới đây là ví dụ về một loại phức hợp được tuyên bố, nội dung của nó được xác định là giá trị nguyên, và phần tử "shoesize" chứa thuộc tính có tên "country":

<xs:element name="shoesize">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="country" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Chúng ta cũng có thể đặt tên cho phần tử complexType và để thuộc tính type của phần tử "shoesize" tham chiếu đến tên này (bằng cách này, nhiều phần tử có thể tham chiếu đến cùng một loại phức hợp):

<xs:element name="shoesize" type="shoetype"/>
<xs:complexType name="shoetype">
  <xs:simpleContent>
    <xs:extension base="xs:integer">
      <xs:attribute name="country" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>