Các phần tử chỉ có văn bản XSD
Phần tử chỉ có văn bản phức tạp có thể chứa văn bản và thuộc tính.
Các phần tử chỉ có văn bản phức tạp
Loại này chỉ chứa nội dung đơn giản (văn bản và thuộc tính), do đó chúng tôi thêm phần tử SimpleContent xung quanh nội dung. Khi sử dụng nội dung đơn giản, bạn phải xác định phần mở rộng HOẶC hạn chế trong phần tử SimpleContent, như sau:
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
OR
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Mẹo: Sử dụng phần tử mở rộng/hạn chế để mở rộng hoặc giới hạn loại đơn giản cơ sở cho phần tử.
Đây là ví dụ về phần tử XML, "shoesize", chỉ chứa văn bản:
<shoesize country="france">35</shoesize>
Ví dụ sau khai báo một complexType, "shoesize". Nội dung được xác định là một giá trị số nguyên và phần tử "shoesize" cũng chứa một thuộc tính có tên là "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à để phần tử "shoesize" có thuộc tính type tham chiếu đến tên của complexType (nếu bạn sử dụng phương thức này, một số phần tử có thể tham chiếu đến cùng một kiểu phức tạ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>