Latest web development tutorials

XML Schema องค์ประกอบที่ซับซ้อน - ข้อความเท่านั้น

องค์ประกอบคอมโพสิตมีเพียงข้อความที่สามารถมีข้อความและคุณลักษณะ


องค์ประกอบคอมโพสิตที่มีข้อความเพียง

ประเภทนี้มีเนื้อหาง่ายเท่านั้น (ข้อความและแอตทริบิวต์) ดังนั้นเราจึงต้องการที่จะเพิ่มเนื้อหานี้องค์ประกอบ simpleContent เมื่อใช้เนื้อหาง่ายที่เราจะต้องกำหนดส่วนขยายหรือ จำกัด ภายในองค์ประกอบ simpleContent เช่นนี้

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

或者:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>

เคล็ดลับ: ใช้ส่วนขยายหรือข้อ จำกัด องค์ประกอบเพื่อขยายหรือจำกัด ประเภทขององค์ประกอบพื้นฐานที่เรียบง่าย นี่คือตัวอย่างขององค์ประกอบ XML "shoesize" ซึ่งมีข้อความเพียง:

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

ตัวอย่างต่อไปนี้ประกาศประเภทที่ซับซ้อนที่มีเนื้อหาถูกกำหนดให้เป็นค่าจำนวนเต็มและ "shoesize" องค์ประกอบที่มีคุณสมบัติที่ชื่อ "ประเทศ" ของ:

<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" ประเภทองค์ประกอบในการอ้างถึงชื่อนี้ (โดยการใช้วิธีการนี้องค์ประกอบหลายอย่างสามารถอ้างถึงชนิดที่ซับซ้อนเดียวกัน):

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