ข้อ จำกัด ที่มีการใช้ในการกำหนดค่าที่ยอมรับได้สำหรับองค์ประกอบ XML หรือแอตทริบิวต์ ข้อ จำกัด เกี่ยวกับองค์ประกอบ XML จะเรียกว่าแง่มุม
ข้อ จำกัด เกี่ยวกับค่านิยม
ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่เรียกว่า "age" ที่มีข้อ จำกัด ค่าของอายุที่ไม่สามารถจะต่ำกว่า 0 หรือมากกว่า 120:
<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ข้อ จำกัด เกี่ยวกับชุดของค่า
เพื่อ จำกัด เนื้อหาขององค์ประกอบ XML ไปยังชุดของค่าที่ยอมรับได้ที่เราจะใช้ข้อ จำกัด การแจงนับ
ตัวอย่างด้านล่างนี้กำหนดองค์ประกอบที่เรียกว่า "car" ที่มีข้อ จำกัด เท่านั้นค่าที่ยอมรับได้คือ: Audi, Golf, BMW :
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างข้างต้นยังสามารถได้รับการเขียนเช่นนี้
<xs:element name="car" type="carType"/>
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
Note: ในกรณีนี้ประเภท "carType" สามารถใช้องค์ประกอบอื่น ๆ เพราะมันไม่ได้เป็นส่วนหนึ่งของ "car" องค์ประกอบ
ข้อ จำกัด ในซีรีส์ของค่า
เพื่อ จำกัด เนื้อหาขององค์ประกอบ XML ในการกำหนดชุดของตัวเลขหรือตัวอักษรที่สามารถนำมาใช้เราจะใช้ข้อ จำกัด รูปแบบ
ตัวอย่างด้านล่างนี้กำหนดองค์ประกอบที่เรียกว่า "letter" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นหนึ่งในตัวพิมพ์เล็กจาก A ถึง Z:
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "initials" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นที่สามของตัวอักษรพิมพ์ใหญ่จาก A ถึง Z:
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปนอกจากนี้ยังกำหนดองค์ประกอบที่เรียกว่า "initials" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นที่สามของตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ตัวอักษรจาก A ถึง Z:
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "choice" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นหนึ่งในตัวอักษรต่อไปนี้: X, Y, Z หรือ:
<xs:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "prodid" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นตัวเลขห้าหลักในลำดับและแต่ละหลักต้องอยู่ในช่วง 0-9 A:
<xs:element name="prodid">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ข้อ จำกัด อื่น ๆ ในชุดของค่า
ตัวอย่างด้านล่างนี้กำหนดองค์ประกอบที่เรียกว่า "letter" ที่มีข้อ จำกัด ค่าที่ยอมรับได้คือศูนย์หรือมากกว่าการเกิดขึ้นของอักษรตัวพิมพ์เล็กจาก A ถึง Z:
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปนอกจากนี้ยังกำหนดองค์ประกอบที่เรียกว่า "letter" ที่มีข้อ จำกัด ค่าที่ยอมรับได้คือหนึ่งหรือมากกว่าหนึ่งคู่ของตัวอักษรแต่ละคู่ประกอบด้วยตัวอักษรกรณีที่ต่ำกว่าตามด้วยตัวอักษรตัวพิมพ์ใหญ่ ยกตัวอย่างเช่น "sToP" จะได้รับการตรวจสอบโดยรูปแบบนี้ แต่ไม่ได้ "Stop" หรือ "STOP" หรือ "stop" :
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "gender" ที่มีข้อ จำกัด ค่าเดียวเท่านั้นที่ได้รับการยอมรับเป็นชายหรือหญิง:
<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างต่อไปกำหนดองค์ประกอบที่เรียกว่า "password" ที่มีข้อ จำกัด ต้องมีตรงแปดตัวอักษรในแถวและตัวอักษรเหล่านั้นจะต้องเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่จาก A ถึง Z หรือหมายเลข 0-9 A:
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ข้อ จำกัด เกี่ยวกับตัวละครช่องว่าง
เพื่อระบุว่าตัวละครช่องว่างควรจะจัดการเราจะใช้ช่องว่าง จำกัด
ตัวอย่างนี้กำหนดองค์ประกอบที่เรียกว่า "address" กับข้อ จำกัด ข้อ จำกัด ช่องว่างถูกตั้งค่าเป็น "preserve" ซึ่งหมายความว่าหน่วยประมวลผล XML จะไม่ลบอักขระช่องว่างใด ๆ สีขาว:
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างนี้ยังกำหนดองค์ประกอบที่เรียกว่า "address" กับข้อ จำกัด ข้อ จำกัด ช่องว่างถูกตั้งค่าเป็น "replace" ซึ่งหมายความว่าหน่วยประมวลผล XML จะเข้ามาแทนที่ตัวอักษรทั้งหมดพื้นที่สีขาว (สายฟีดแท็บพื้นที่และผลตอบแทนการขนส่ง) ที่มีช่องว่าง:
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างนี้ยังกำหนดองค์ประกอบที่เรียกว่า "address" กับข้อ จำกัด ข้อ จำกัด ช่องว่างถูกตั้งค่าให้ "collapse" ซึ่งหมายความว่าหน่วยประมวลผล XML จะลบอักขระพื้นที่สีขาวทั้งหมด (สายฟีดแท็บช่องว่างผลตอบแทนการขนส่งจะถูกแทนที่ด้วยช่องว่างช่องว่างนำหน้าและต่อท้ายจะถูกลบออกและช่องว่างหลายจะลดลงไป พื้นที่เดียว):
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ข้อ จำกัด เกี่ยวกับความยาว
เพื่อ จำกัด ความยาวของค่าในองค์ประกอบที่เราจะใช้ความยาว maxLength และข้อ จำกัด minLength
ตัวอย่างนี้กำหนดองค์ประกอบที่เรียกว่า "password" ที่มีข้อ จำกัด ค่าต้องตรงแปดตัวอักษร:
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ตัวอย่างนี้กำหนดองค์ประกอบอื่นที่เรียกว่า "password" ที่มีข้อ จำกัด ค่าต้องเป็นขั้นต่ำห้าตัวอักษรและสูงสุดไม่เกินแปดตัวอักษร:
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
ข้อ จำกัด สำหรับประเภทข้อมูล
การ จำกัด | ลักษณะ |
---|---|
enumeration | กำหนดรายการของค่าที่ยอมรับได้ |
fractionDigits | ระบุจำนวนสูงสุดของตำแหน่งทศนิยมที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์ |
length | ระบุจำนวนที่แน่นอนของตัวละครหรือรายการที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์ |
maxExclusive | ระบุขอบเขตบนสำหรับค่าตัวเลข (ค่าต้องน้อยกว่าค่านี้) |
maxInclusive | ระบุขอบเขตบนสำหรับค่าตัวเลข (ค่าต้องน้อยกว่าหรือเท่ากับค่านี้) |
maxLength | ระบุจำนวนสูงสุดของตัวละครหรือรายการที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์ |
minExclusive | ระบุขอบเขตที่ต่ำกว่าสำหรับค่าตัวเลข (ค่าต้องมากกว่าค่านี้) |
minInclusive | ระบุขอบเขตที่ต่ำกว่าสำหรับค่าตัวเลข (ค่าต้องมากกว่าหรือเท่ากับค่านี้) |
minLength | ระบุจำนวนขั้นต่ำของตัวละครหรือรายการที่ได้รับอนุญาต ต้องเท่ากับหรือมากกว่าศูนย์ |
pattern | กำหนดลำดับที่แน่นอนของตัวอักษรที่เป็นที่ยอมรับ |
totalDigits | ระบุจำนวนที่แน่นอนของตัวเลขที่ได้รับอนุญาต จะต้องมีค่ามากกว่าศูนย์ |
whiteSpace | ระบุว่าพื้นที่สีขาว (สายฟีดแท็บพื้นที่และผลตอบแทนการขนส่ง) จะถูกจัดการ |