องค์ประกอบข้อความเท่านั้นที่ซับซ้อนสามารถมีข้อความและคุณลักษณะ
องค์ประกอบข้อความเท่านั้นที่ซับซ้อน
ประเภทนี้ประกอบด้วยเฉพาะเนื้อหาที่เรียบง่าย (text and attributes) ดังนั้นเราจึงเพิ่มองค์ประกอบ simpleContent รอบเนื้อหา เมื่อใช้เนื้อหาที่เรียบง่ายคุณต้องกำหนดส่วนขยายหรือข้อ จำกัด ภายในองค์ประกอบ simpleContent เช่นนี้
<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>
Tip: ใช้องค์ประกอบการขยาย / ข้อ จำกัด ในการขยายหรือการ จำกัด การฐานประเภทที่เรียบง่ายสำหรับองค์ประกอบ
นี่คือตัวอย่างขององค์ประกอบ XML เป็น "shoesize" ที่ประกอบด้วยข้อความเท่านั้น:
<shoesize country="france">35</shoesize>
ตัวอย่างต่อไปนี้ประกาศ complexType ที่ "shoesize" เนื้อหาจะถูกกำหนดเป็นค่าจำนวนเต็มและ "shoesize" องค์ประกอบยังมีแอตทริบิวต์ชื่อ "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>
นอกจากนี้เรายังสามารถให้องค์ประกอบ complexType ชื่อและปล่อยให้ "shoesize" องค์ประกอบที่มีแอตทริบิวต์ประเภทที่หมายถึงชื่อของ complexType (ถ้าคุณใช้วิธีนี้หลายองค์ประกอบสามารถอ้างถึงชนิดที่ซับซ้อนเดียวกัน):
<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>