องค์ประกอบ attribute ของ XML Schema
การใช้งานและการกำหนด
องค์ประกอบ attribute กำหนดคุณสมบัติ
ข้อมูลองค์ประกอบ
ครั้งที่ปรากฏ | กำหนดครั้งเดียวในองค์ประกอบ schema ในลักษณะที่เรียกใช้มากกว่าครั้งหนึ่งในประเภท complexType หรือ attributeGroup。 |
องค์ประกอบพ่อ | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
เนื้อหา | annotation、simpleType |
ภาษาเกี่ยวข้อง
<attribute default=string fixed=string form=qualified|unqualified id=ID name=NCName ref=QName type=QName use=optional|prohibited|required any attributes > (annotation?,(simpleType?)) </attribute>
(? สัญลักษณ์นี้บ่งชี้ว่าองค์ประกอบนี้สามารถปรากฏขึ้นใน attribute ซึ่งมีสัญลักษณ์นี้ซึ่งสามารถปรากฏขึ้นและไม่ปรากฏขึ้นได้ครั้งเดียว。)
คุณสมบัติ
default
ตัวเลือกได้。กำหนดค่าเริ่มต้นของคุณสมบัติ。default และ fixed ไม่สามารถปรากฏพร้อมกันได้。
fixed
ตัวเลือกได้。กำหนดค่าคงที่ของคุณสมบัติ。default และ fixed ไม่สามารถปรากฏพร้อมกันได้。
form
ตัวเลือกได้。กำหนดรูปแบบของคุณสมบัติ。ค่าเริ่มต้นคือค่าของ attributeFormDefault ขององค์ประกอบ schema ที่มีคุณสมบัตินี้ ซึ่งสามารถตั้งค่าเป็นค่าดังนี้:
- "qualified" - บ่งชี้ว่าควรจะใช้คำนำหน้าชื่อช่วยชี้แนะและชื่อ (NCName) ที่ไม่มีคำนำหน้าของคุณสมบัติเพื่อจำกัดคุณสมบัตินี้。
- "unqualified" - บ่งชี้ว่าคุณสมบัตินี้ไม่ต้องมีคำนำหน้าชื่อช่วยชี้แนะ (namespace prefix) และไม่ต้องตรงกับชื่อ (NCName) ที่ไม่มีคำนำหน้าของคุณสมบัติ คือ ชื่อท้องถิ่น。
id
ใช้งานตามความต้องการ กำหนด ID ที่เด่นเด่นขององค์ประกอบนี้
name
ใช้งานตามความต้องการ กำหนดชื่อของคุณสมบัติ คุณสมบัติ name และ ref ไม่สามารถใช้พร้อมกัน
ref
ใช้งานตามความต้องการ กำหนดอ้างอิงต่อคุณสมบัติที่กำหนด คุณสมบัติ name และ ref ไม่สามารถใช้พร้อมกัน หาก ref มีอยู่ ตัวแปล simpleType และ form และ type ไม่สามารถแสดงขึ้นมาได้
type
ใช้งานตามความต้องการ กำหนดชนิดข้อมูลหรือชนิดเรียบเรียง คุณสมบัติ type สามารถแสดงขึ้นมาได้เมื่อเนื้อหาไม่มี element simpleType
use
ใช้งานตามความต้องการ กำหนดวิธีการใช้คุณสมบัติ สามารถกำหนดค่าด้านล่างนี้:
- optional - คุณสมบัติเป็นที่เลือก และสามารถมีค่าใดก็ได้ (ค่าเริ่มต้น)
- prohibited - ไม่สามารถใช้คุณสมบัติ
- required - คุณสมบัติที่จำเป็น
any attributes
ใช้งานตามความต้องการ กำหนดคุณสมบัติอื่นที่มีชื่อสำหรับชนิด non-schema
ตัวอย่าง
ตัวอย่าง 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
ตัวอย่างด้านบนนี้ชี้ว่าคุณสมบัติ "code" มีข้อจำกัด ค่าที่ยอมรับเพียงคู่ตัวอักษรใหญ่ A ถึง Z ของตัวอักษรสองตัว
ตัวอย่าง 2
เพื่อใช้คุณสมบัติที่มีการกำหนดไว้แล้วในชนิดที่ซับซ้อน เพื่อประกาศคุณสมบัติ ใช้คุณสมบัติ ref:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
ตัวอย่าง 3
คุณสมบัติสามารถมีค่าเริ่มต้น หรือค่าที่กำหนดไว้เฉพาะ โดยเมื่อไม่มีค่าอื่นถูกกำหนด จะส่งผลให้ค่าที่กำหนดไว้ในความหมายโดยอัตโนมัติต่อคุณสมบัติ ในตัวอย่างด้านล่างนี้ ค่าเริ่มต้นคือ "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
เมื่อไม่มีค่าอื่นถูกกำหนด จะส่งผลให้ค่าที่กำหนดไว้ในความหมายโดยอัตโนมัติต่อคุณสมบัติ แต่ต่างกับค่าเริ่มต้น หากคุณกำหนดค่าอื่นนอกจากค่าที่กำหนดไว้ในความหมายเฉพาะของคุณสมบัติ เอกสารจะตรวจสอบว่าเป็นค่าที่ผิดปกติ ในตัวอย่างด้านล่างนี้ ค่าที่กำหนดไว้ในความหมายเฉพาะคือ "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
ตัวอย่าง 4
คุณสมบัติทั้งหมดเป็นคุณสมบัติที่เป็นไปได้โดยเริ่มต้น ถ้าต้องการกำหนดคุณสมบัติเป็นคุณสมบัติที่เป็นไปได้โดยเริ่มต้น โปรดใช้คุณสมบัติ "use":
<xs:attribute name="lang" type="xs:string" use="optional"/>
ทำให้คุณสมบัติเป็นคุณสมบัติที่เกิดขึ้นโดยเริ่มต้น:
<xs:attribute name="lang" type="xs:string" use="required"/>