XSD - ประเภทที่ซับซ้อน

Complex Element คือองค์ประกอบ XML ซึ่งสามารถมีองค์ประกอบและ / หรือแอตทริบิวต์อื่น ๆ เราสามารถสร้างองค์ประกอบที่ซับซ้อนได้สองวิธี -

  • กำหนดประเภทที่ซับซ้อนแล้วสร้างองค์ประกอบโดยใช้ type แอตทริบิวต์

  • กำหนดประเภทที่ซับซ้อนโดยตรงโดยการตั้งชื่อ

กำหนดประเภทที่ซับซ้อนแล้วสร้างองค์ประกอบโดยใช้แอตทริบิวต์ type

<xs:complexType name = "StudentType">
   <xs:sequence>
      <xs:element name = "firstname" type = "xs:string"/>
      <xs:element name = "lastname" type = "xs:string"/>
      <xs:element name = "nickname" type = "xs:string"/>
      <xs:element name = "marks" type = "xs:positiveInteger"/>
   </xs:sequence>
   <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
</xs:complexType>

<xs:element name = 'student' type = 'StudentType' />

กำหนดประเภทที่ซับซ้อนโดยตรงโดยการตั้งชื่อ

<xs:element name = "student">
   <xs:complexType>   
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
   <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>
<xs:element>

ต่อไปนี้เป็นรายการประเภทที่ซับซ้อนที่ XSD รองรับ

ส. ประเภทและคำอธิบายง่ายๆ
1

ว่างเปล่า

องค์ประกอบประเภท Complex Empty complex สามารถมีได้เฉพาะแอตทริบิวต์ แต่ไม่มีเนื้อหา

2

องค์ประกอบเท่านั้น

องค์ประกอบประเภทเชิงซ้อน Elements-Only สามารถมีองค์ประกอบได้เท่านั้น

3

ข้อความเท่านั้น

องค์ประกอบประเภทที่ซับซ้อนแบบข้อความเท่านั้นมีได้เฉพาะแอตทริบิวต์และข้อความ

4

ผสม

องค์ประกอบประเภทที่ซับซ้อนผสมสามารถมีองค์ประกอบแอตทริบิวต์และข้อความ

5

ตัวชี้วัด

อินดิเคเตอร์ควบคุมวิธีการจัดระเบียบองค์ประกอบในเอกสาร XML

6

องค์ประกอบ <any> ใช้สำหรับองค์ประกอบที่ไม่ได้กำหนดโดยสคีมา

7

แอตทริบิวต์ <anyAttribute> ใช้สำหรับแอตทริบิวต์ที่ไม่ได้กำหนดโดย schema