XML Schema องค์ประกอบ schema
การใช้งานและการกำหนด
schema องค์ประกอบกำหนดรากของ schema。
ข้อมูลองค์ประกอบ
จำนวนการปรากฏตัว | หนึ่งครั้ง |
องค์ประกอบพ่อ | (ไม่มีองค์ประกอบพ่อ) |
เนื้อหา | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
ภาษาบางส่วน
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI any attributes > ((include|import|redefine|annotation)*,(((simpleType|complexType| (group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
attribute
id
เลือกตั้งได้ กำหนด ID ที่เป็นเดียวที่สำหรับองค์ประกอบนี้
attributeFormDefault
เลือกตั้งได้ รูปแบบของ attribute ที่ประกาศใน namespace ปลายทางของ schema ค่านี้ต้องเป็นหนึ่งในตัวอักษรต่อไปนี้: "qualified" หรือ "unqualified" ค่าเริ่มต้นคือ "unqualified"
- "unqualified" ชี้ว่าไม่ต้องใช้ prefix ของ namespace ในการกำหนด attribute ที่อยู่ใน namespace ปลายทาง
- "qualified" ชี้ว่าต้องใช้ prefix ของ namespace ในการกำหนด attribute ที่อยู่ใน namespace ปลายทาง
elementFormDefault
เลือกตั้งได้ รูปแบบขององค์ประกอบที่ประกาศใน namespace ปลายทางของ schema ค่านี้ต้องเป็นหนึ่งในตัวอักษรต่อไปนี้: "qualified" หรือ "unqualified" ค่าเริ่มต้นคือ "unqualified"
- "unqualified" ชี้ว่าไม่ต้องใช้ prefix ของ namespace ในการกำหนดองค์ประกอบที่อยู่ใน namespace ปลายทาง
- "qualified" ชี้ว่าต้องใช้ prefix ของ namespace ในการกำหนดองค์ประกอบที่อยู่ใน namespace ปลายทาง
blockDefault
เลือกตั้งได้ กำหนดค่าเริ่มต้นของ attribute บล็อค สำหรับ element และ complexType ใน namespace ปลายทาง บล็อค attribute ป้องกันชนิดที่เกิดขึ้นจากการมีชนิดที่กำหนด (หรือองค์ประกอบ) ไม่ให้แทนที่ชนิดที่สืบทอด (หรือองค์ประกอบ) ค่านี้สามารถประกอบด้วย #all หรือเป็นตัวเลือกที่เป็นชุดของ extension, restriction หรือ substitution
- extension - ป้องกันการใช้ชนิดที่เกิดขึ้นจากการขยายเพื่อแทนที่ชนิดที่กำหนด
- restriction - ป้องกันการใช้ชนิดที่เกิดขึ้นจากการจำกัดเพื่อแทนที่ชนิดที่กำหนด
- substitution - ป้องกันการแทนที่องค์ประกอบ
- #all - ป้องกันทุกชนิดที่เกิดขึ้นจากชนิดที่กำหนดเพื่อใช้แทนชนิดที่กำหนด
finalDefault
เลือกตั้ง。กำหนด default value ของ attribute final ของ element, simpleType และ complexType ใน namespace target ขององค์ประกอบ final attribute ป้องกัน element, simpleType หรือ complexType ถูกเรียกขายด้วยชนิดที่กำหนด สำหรับ element และ complexType ค่านี้สามารถมี #all หรือ list ที่เป็นส่วนย่อยของ extension หรือ restriction สำหรับ element simpleType ค่านี้ยังสามารถมี list และ union
- extension - โดยมาตรฐาน element ใน schema นี้ไม่สามารถถูกเรียกขายด้วย extension ได้ นั้นเป็นสำหรับ element และ element complexType เท่านั้น
- restriction - ป้องกันการเรียกขายด้วย restriction
- list - ป้องกันการเรียกขายด้วย list นั้นเป็นสำหรับ element simpleType เท่านั้น
- union - ป้องกันการเรียกขายด้วย union นั้นเป็นสำหรับ element simpleType เท่านั้น
- #all - โดยมาตรฐาน element ใน schema นี้ไม่สามารถถูกเรียกขายด้วยวิธีใดๆ
targetNamespace
URI ของ namespace ของ schema นี้ ยังสามารถกำหนด prefix ได้ ถ้าไม่มี prefix กำหนด component schema ของ namespace นั้นสามารถใช้กับอ้างอิงที่ไม่มีข้อจำกัดได้
version
เลือกตั้ง。กำหนด version ของ schema
xmlns
กำหนด URI ของ namespace หนึ่งหรือหลายที่ใช้ใน schema นี้ ถ้าไม่มี prefix กำหนด namespace นี้ component schema ของ namespace นั้นสามารถใช้กับอ้างอิงที่ไม่มีข้อจำกัดได้
any attributes
เลือกตั้ง。กำหนด attribute ที่มี namespace non-schema ใดๆ
ตัวอย่าง
ตัวอย่าง 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
ตัวอย่าง 2
ในตัวอย่างนี้ component schema (element name, type) ใน namespace http://www.w3.org/2001/XMLSchema ไม่มีข้อจำกัด และ http://www.codew3c.com/codew3cschema (mystring) ถูกจำกัดด้วย prefix wsc:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsc="http://www.codew3c.com/codew3cschema" <element name="fname" type="wsc:mystring"/> </schema>