XSD 属性
ทุกคุณสมบัติถูกประกาศในรูปแบบที่ง่ายต่อการใช้งาน。
อะไรคือคุณสมบัติ?
อิเล็กทรอนิกส์เอ็กซ์เอ็มแบบง่าย ไม่สามารถมีคุณสมบัติได้ ถ้าอิเล็กทรอนิกส์มีคุณสมบัติ มันจะถูกมองเป็นชนิดที่ทรงพลัง แต่คุณสมบัติมักถูกประกาศในรูปแบบที่ง่ายต่อการใช้งาน。
แบบฝึกวิธีในการประกาศคุณสมบัติ
การกำหนดความเป็นภาษาของคุณสมบัติคือ:
<xs:attribute name="xxx" type="yyy"/>
ที่นี่ xxx หมายถึงชื่อคุณสมบัติ yyy กำหนดประเภทของข้อมูลของคุณสมบัติ อิเล็กทรอนิกส์เอ็กซ์เอ็มแชมเปย์มีประเภทข้อมูลที่ถูกกำหนดภายในอยู่มากมาย。
ประเภทที่ใช้บ่อยที่สุดคือ:
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
ตัวอย่าง
นี่คืออิเล็กทรอนิกส์เอ็กซ์เอ็มและได้มีคุณสมบัติ:
<lastname lang="EN">Smith</lastname>
นี่คือการกำหนดคุณสมบัติที่เท่ากัน:
<xs:attribute name="lang" type="xs:string"/>
ค่าที่เรียกว่า "default" และ "fixed" ของคุณสมบัติ
คุณสมบัติสามารถมีค่าที่เรียกว่า "default" หรือ "fixed" ที่ถูกกำหนด。
เมื่อไม่มีค่าอื่นๆ ที่ถูกกำหนด ค่าที่เรียกว่า "default" จะถูกแจกจ่ายอัตโนมัติแก่อิเล็กทรอนิกส์。
ในตัวอย่างด้านล่างนี้ ค่าที่เรียกว่า "default" คือ "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
ค่าที่ถูกกำหนดเป็นค่า "EN" จะถูกแจกจ่ายอัตโนมัติแก่อิเล็กทรอนิกส์ และคุณไม่สามารถกำหนดค่าอื่นๆ ได้。
ในตัวอย่างด้านล่างนี้ ค่าที่ถูกกำหนดเป็นค่า "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
คุณสมบัติที่เป็นที่เลือกใช้งานและจำเป็น
โดยมาตรฐาน คุณสมบัติเป็นที่เลือกใช้งาน ถ้าต้องการกำหนดให้คุณสมบัติเป็นจำเป็น ใช้คุณสมบัติ "use" ดังนี้:
<xs:attribute name="lang" type="xs:string" use="required"/>
ข้อจำกัดเนื้อหา
เมื่ออิเล็กทรอนิกส์เอ็กซ์เอ็มและคุณสมบัติมีประเภทของข้อมูลที่ถูกกำหนด จะมีการเพิ่มข้อจำกัดที่เกี่ยวกับเนื้อหาของอิเล็กทรอนิกส์หรือคุณสมบัติ。
ถ้าประเภทของอิเล็กทรอนิกส์เอ็กซ์เอ็มแอลเป็น "xs:date" และเนื้อหาที่มีความหมายเป็นตัวอักษรที่คล้ายกับ "Hello World" อิเล็กทรอนิกส์จะไม่ได้รับการตรวจสอบ (ผ่าน)。
ผ่าน XML schema คุณยังสามารถเพิ่มข้อจำกัดของตัวเองใน XML องค์ประกอบและอาทิตย์ของคุณได้ ข้อจำกัดเหล่านี้เรียกว่า facet (หมายเหตุ: หมายถึง(มหาสมบัติ)ด้าน สามารถแปลเป็น ข้อจำกัดด้าน) คุณจะได้รับข้อมูลเกี่ยวกับ facet มากยิ่งขึ้นในบทต่อไป