องค์ประกอบ 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>