XML Schema element 元素
定义和用法
element 元素定义一个元素。
元素信息
出现次数 | 在架构中定义的元素的数目。 |
父元素 | schema、choice、all、sequence |
内容 | simpleType、complexType、key、keyref、unique |
语法
<element id=ID name=NCName ref=QName type=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger nillable=true|false abstract=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) คุณสมบัติอื่นๆ > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
(? สัญลักษณ์การบอกออกมาในอิเลเมนต์ element อิเลเมนต์นี้สามารถปรากฏขึ้นโดยไม่มีครั้งหรือครั้งเดียว * สัญลักษณ์การบอกออกมาในอิเลเมนต์สามารถปรากฏขึ้นโดยไม่มีครั้งหรือปรากฏขึ้นหลายครั้ง)
attribute
id
ความเลือกตั้งได้ กำหนด ID แรงเด่นของอิเลเมนต์
name
ความเลือกตั้งได้ กำหนดชื่ออิเลเมนต์ ถ้าอิเลเมนต์ปลายทางเป็นอุปกรณ์ schema นี้คุณสมบัตินี้เป็นข้อจำเป็น
ref
ความเลือกตั้งได้ อ้างอิงอิเลเมนต์อื่น คุณสมบัติ ref สามารถมีชื่อช่วยหน้าชื่อสาธารณะ
type
ความเลือกตั้งได้ กำหนดชื่อของประเภทข้อมูลที่มีอยู่ในลำดับ หรือกำหนดชื่ออิเลเมนต์ simpleType หรือ complexType
substitutionGroup
ความเลือกตั้งได้ กำหนดชื่ออิเลเมนต์ที่สามารถใช้แทนอิเลเมนต์นี้ อิเลเมนต์นี้ต้องมีประเภทเดียวกันหรือประเภทที่มีมาจากประเภทที่กำหนด
ไม่สามารถใช้คุณสมบัตินี้ได้ ถ้าอิเลเมนต์ปลายทางไม่ใช่อุปกรณ์ schema
default
ความเลือกตั้งได้ กำหนดค่าที่เป็นที่นั่ง (ใช้เมื่อเนื้อหาของอิเลเมนต์เป็นประเภทของข้อมูลเรียบเรียงหรือ textOnly)
fixed
ความเลือกตั้งได้ กำหนดค่าที่เป็นที่นั่ง (ใช้เมื่อเนื้อหาของอิเลเมนต์เป็นประเภทของข้อมูลเรียบเรียงหรือ textOnly)
form
ความเลือกตั้งได้ รูปแบบของอิเลเมนต์ ค่าเริ่มต้นคือค่าของอุปกรณ์ schema ที่มีอยู่ในคุณสมบัติ elementFormDefault ของอุปกรณ์นี้ ค่านี้ต้องเป็นหนึ่งในคำตะพาะดังนี้: "qualified" หรือ "unqualified"
ถ้าองค์ประกอบพ่อคือองค์ประกอบ schema ไม่สามารถใช้คุณสมบัตินี้ได้
- ถ้าค่านี้เป็น "unqualified" ไม่จำเป็นต้องจำกัดอิเลเมนต์ด้วยชื่อช่วยหน้าชื่อชนิดที่มีอยู่ในชื่อสาธารณะ
- ถ้าค่านี้เป็น "qualified" ต้องจำกัดอิเลเมนต์ด้วยชื่อช่วยหน้าชื่อชนิดที่มีอยู่ในชื่อสาธารณะ
maxOccurs
ความเลือกตั้งได้ กำหนดจำนวนครั้งที่อิเลเมนต์เฉพาะได้ปรากฏในตัวปลายทาง ค่านี้เป็นตัวเลขเต็มที่มากกว่าหรือเท่ากับ 0 ถ้าไม่ต้องการตั้งข้อจำกัดเกี่ยวกับจำนวนครั้งที่สูงสุด ใช้คำตะพาะ "unbounded" ค่าเริ่มต้นคือ 1
ถ้าองค์ประกอบพ่อคือองค์ประกอบ schema ไม่สามารถใช้คุณสมบัตินี้ได้
minOccurs
เลือกได้ กำหนดจำนวนครั้งที่องค์ประกอบ element สามารถปรากฏในองค์ประกอบพ่อ ค่านี้เป็นตัวเลขเต็มที่มากกว่าหรือเท่ากับ 0 ค่าเริ่มต้นคือ 1
ถ้าองค์ประกอบพ่อคือองค์ประกอบ schema ไม่สามารถใช้คุณสมบัตินี้ได้
nillable
เลือกได้ หน้าตาว่าจะสามารถจัดสรรค่าเริ่มต้นที่เป็นศูนย์สูตรแก่องค์ประกอบหรือไม่ จะนำไปใช้สำหรับเนื้อหาขององค์ประกอบและไม่ใช่คุณสมบัติขององค์ประกอบ ค่าเริ่มต้นคือ false
ถ้า nillable เป็น true องค์ประกอบขององค์ประกอบนี้จะสามารถตั้งค่า nil ให้เป็น true คุณสมบัติ nil ถูกนิยามในช่วงนาม XML Schema ขององค์ประกอบ
ตัวอย่าง ข้อต่อไปนี้นิยามองค์ประกอบเดียวและตั้งค่า nillable ให้เป็น true
<xs:element name="myDate" type="xs:date" nillable="true"/>
ข้อต่อไปใช้องค์ประกอบนี้และมีค่าเริ่มต้นที่เป็นศูนย์สูตร (nil ที่ตั้งค่าเป็น true)
<myDate xsi:nil="true"></myDate>
abstract
เลือกได้ หน้าตาองค์ประกอบนี้สามารถใช้ในเอกสารตัวอย่างหรือไม่ ถ้าค่านี้เป็น true องค์ประกอบนี้ไม่สามารถปรากฏในเอกสารตัวอย่าง ข้างหลัง substitutionGroup คุณสมบัติประกอบคุณสมบัติ QName ขององค์ประกอบนี้ต้องปรากฏในตำแหน่งขององค์ประกอบนี้ องค์ประกอบหลายองค์ประกอบสามารถอ้างอิงองค์ประกอบนี้ในคุณสมบัติ substitutionGroup ของตน ค่าเริ่มต้นคือ false
block
เลือกได้ ประเภทที่สืบทอดมา คุณสมบัติ block ป้องกันองค์ประกอบที่มีประเภทที่สืบทอดมาที่กำหนดใช้แทนองค์ประกอบนี้ ค่านี้สามารถประกอบด้วย #all หรือรายชื่อ รายชื่อนี้เป็นชุดย่อยของ extension、restriction หรือ substitution:
- extension - ป้องกันองค์ประกอบที่สืบทอดมาผ่านการขยายใช้แทนองค์ประกอบนี้
- restriction - ป้องกันองค์ประกอบที่สืบทอดมาผ่านการจำกัดใช้แทนองค์ประกอบนี้
- substitution - ป้องกันองค์ประกอบที่สืบทอดมาผ่านการแทนที่ใช้แทนองค์ประกอบนี้
- #all - ป้องกันองค์ประกอบที่สืบทอดมาใช้แทนองค์ประกอบนี้
final
เลือกได้ ตั้งค่าค่าเริ่มต้นของคุณสมบัติ final ของ element องค์ประกอบ。ถ้าองค์ประกอบพ่อไม่ใช่องค์ประกอบ schema ไม่สามารถใช้คุณสมบัตินี้ได้ ค่านี้สามารถประกอบด้วย #all หรือรายชื่อ รายชื่อนี้เป็นชุดย่อยของ extension หรือ restriction:
- extension - ป้องกันไม่ให้องค์ประกอบที่ย่อยที่มีการขยายมาแทนองค์ประกอบนี้
- restriction - ป้องกันไม่ให้องค์ประกอบที่ย่อยที่มีการจำกัดมาแทนองค์ประกอบนี้
- #all - ป้องกันไม่ให้องค์ประกอบที่ย่อยมาแทนองค์ประกอบนี้
คุณสมบัติอื่นๆ
เลือกตัวเลือกเล็ก. กำหนดคุณสมบัติที่มีชื่อที่ไม่มีมาตราฐาน.
ตัวอย่าง
ตัวอย่าง 1
ตัวอย่างด้านล่างคือ schema ที่มีองค์ประกอบสี่องค์ประกอบ: "fname", "lname", "age" และ "dateborn" โดยประเภทคือ string, nonNegativeInteger และ date:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="fname" type="xs:string"/> <xs:element name="lname" type="xs:string"/> <xs:element name="age" type="xs:nonNegativeInteger"/> <xs:element name="dateborn" type="xs:date"/> </xs:schema>
ตัวอย่าง 2
ตัวอย่างด้านล่างคือ schema ที่มีองค์ประกอบที่มีความหมาย "note" ซึ่งมีองค์ประกอบที่เรียบง่ายสี่องค์ประกอบ: "to", "from", "heading" และ "body":
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
ตัวอย่าง 3
นี่คือตัวอย่างที่เหมือนตัวอย่าง 2 แต่ในตัวอย่างนี้ เราเลือกใช้คุณภาพ ref ที่จะอ้างอิงชื่อองค์ประกอบ:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element ref="to"/> <xs:element ref="from"/> <xs:element ref="heading"/> <xs:element ref="body"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:schema>