องค์ประกอบ XML Schema
การกำหนดและการใช้งาน
group องค์ประกอบใช้ในการกำหนดกลุ่มองค์ประกอบที่ใช้ในการกำหนดองค์ประกอบที่ซับซ้อน
ข้อมูลองค์ประกอบ
จำนวนการเกิดขึ้น | ไม่จำกัด |
องค์ประกอบพ่อ | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
เนื้อหา | annotation、all、choice、sequence |
ภาษา
<group id=ID name=NCName ref=QName maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger attributes > annotation?,(all|choice|sequence)?) </group>
(? สัญลักษณ์การประกาศอยู่ใน element ของกลุ่ม ซึ่งอาจปรากฏขึ้นหรือไม่ปรากฏขึ้นในกลุ่มนี้。)
attribute
id
ให้เลือกใช้. กำหนด ID ที่เป็นเดียวกันของ element นี้
name
ให้เลือกใช้. กำหนดชื่อของกลุ่ม. ชื่อนี้ต้องเป็น NCName ที่กำหนดโดย XML Namespace ธรรมชาติ
ใช้แบบนี้เฉพาะเมื่อ element ของ schema เป็น element ของกลุ่ม. ในกรณีนี้ กลุ่มเป็นแบบของกลุ่ม model ที่ใช้โดย element complexType, choice และ sequence
attribute ของ name และ ref ไม่สามารถใช้พร้อมกัน
ref
ให้เลือกใช้. อ้างอิงชื่อของกลุ่มอื่น. ค่า ref ต้องเป็น QName. ref สามารถมีชื่อพื้นฐานที่มีชื่อสำหรับชุมชน
attribute ของ name และ ref ไม่สามารถใช้พร้อมกัน
maxOccurs
ให้เลือกใช้. กำหนดจำนวนของการปรากฏของ element ในกลุ่ม. ค่านี้เป็นตัวเลขเต็มที่มากกว่าหรือเท่ากับ 0.หากไม่ต้องการจำกัดจำนวนของการปรากฏ, ใช้คำว่า "unbounded". ค่าเริ่มต้นคือ 1.
minOccurs
ให้เลือกใช้. กำหนดจำนวนของการปรากฏของ element ในกลุ่ม. ค่านี้เป็นตัวเลขเต็มที่มากกว่าหรือเท่ากับ 0.ค่าเริ่มต้นคือ 1.
attributes
ให้เลือกใช้. กำหนดคุณสมบัติอื่นที่มีชื่อแบบ non-schema ในชื่อสำหรับชุมชน
ตัวอย่าง
ตัวอย่าง 1
ตัวอย่างดังต่อไปนี้กำหนดตัวแปรซึ่งมีสี่องค์ประกอบของซีเควนซ์และใช้กลุ่ม element นี้ในการกำหนดชนิดที่ซับซ้อน
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:group name="custGroup"> <xs:sequence> <xs:element name="customer" type="xs:string"/> <xs:element name="orderdetails" type="xs:string"/> <xs:element name="billto" type="xs:string"/> <xs:element name="shipto" type="xs:string"/> </xs:sequence> </xs:group> <xs:element name="order" type="ordertype"/> <xs:complexType name="ordertype"> <xs:group ref="custGroup"/> <xs:attribute name="status" type="xs:string"/> </xs:complexType> </xs:schema>