Latest web development tutorials

XML Schema กำหนด / แง่มุม

จำกัด (มีข้อ จำกัด ) ถูกนำมาใช้ในการกำหนดองค์ประกอบ XML ที่ยอมรับได้หรือค่าแอตทริบิวต์ เพื่อกำหนดองค์ประกอบ XML จะเรียกว่าแง่มุม


การ จำกัด ค่า

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีการกำหนดและตั้งชื่อว่า "อายุ" ของ ค่าของอายุที่ไม่สามารถจะต่ำกว่า 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 จะถูก จำกัด ชุดของค่าที่ยอมรับได้เราจะใช้ข้อ จำกัด การแจงนับ ( จำกัด การแจงนับ)

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีชื่อที่มีคุณสมบัติเป็น "รถ" เป็น เฉพาะค่าที่ยอมรับได้คือ: ออดี้, กอล์ฟ, 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>

หมายเหตุ: ในกรณีนี้พิมพ์ "carType" สามารถใช้องค์ประกอบอื่น ๆ เพราะมันไม่ได้เป็นส่วนหนึ่งของ "รถยนต์" องค์ประกอบ


ชุดของค่า จำกัด

เพื่อ จำกัด เนื้อหาขององค์ประกอบ XML ถูกกำหนดให้เป็นชุดของตัวเลขหรือตัวอักษรที่สามารถนำมาใช้เราต้องการที่จะใช้การคุมขังโหมด (ข้อ จำกัด รูปแบบ)

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีกำหนดที่เรียกว่า "ตัวอักษร" ของ เพียงคนเดียวที่ได้รับการยอมรับค่าตัวพิมพ์เล็กตัวอักษร A - Z ที่หนึ่ง:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างต่อไปกำหนดองค์ประกอบที่มีกำหนดที่เรียกว่า "ชื่อย่อ" ของ ค่าที่ยอมรับได้มีตัวอักษรพิมพ์ใหญ่ 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>

ตัวอย่างต่อไปนอกจากนี้ยังกำหนดองค์ประกอบที่มีกำหนดที่เรียกว่า "ชื่อย่อ" ของ ค่าที่ยอมรับได้มีตัวอักษรพิมพ์ใหญ่หรือตัวพิมพ์เล็ก 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>

ตัวอย่างต่อไปกำหนดเป็นองค์ประกอบที่มีทางเลือกที่ จำกัด เรียกว่า "คุ้มค่าที่ยอมรับได้คือตัวอักษร 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 ของแต่ละ:

<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>


ชุดของค่าที่กำหนดไว้สำหรับอื่น ๆ

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีกำหนดที่เรียกว่า "ตัวอักษร" ของ ค่าที่ยอมรับได้มี A - Z ศูนย์หรือตัวอักษรเพิ่มเติมได้ที่:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีกำหนดที่เรียกว่า "ตัวอักษร" ของ ค่าที่ยอมรับได้มีหนึ่งหรือมากกว่าหนึ่งคู่ของตัวอักษรแต่ละคู่ประกอบด้วยตัวอักษรตัวพิมพ์เล็กตามด้วยอักษรตัวพิมพ์ใหญ่ ยกตัวอย่างเช่น "หยุด" จะตรวจสอบรูปแบบนี้ แต่ "หยุด" "หยุด" หรือ "หยุด" ไม่สามารถตรวจสอบ:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีกำหนดที่เรียกว่า "เพศ" เป็น ค่าที่ยอมรับได้เป็นชายหรือหญิง:

<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างต่อไปนี้กำหนดองค์ประกอบที่มีชื่อที่มีคุณสมบัติ "รหัสผ่าน" ของ ค่าที่ยอมรับได้มีแถวของตัวอักษรประกอบด้วยแปดตัวอักษรตัวละครเหล่านี้จะต้องเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก A - Z หรือจะดิจิตอล 0--9:

<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>


ตัวอักษรที่กำหนดไว้ว่างเปล่า

เพื่อระบุตัวอักษรพื้นที่สีขาว (ตัวอักษรช่องว่าง) วิธีการที่เราจำเป็นต้องใช้ช่องว่าง จำกัด

ตัวอย่างต่อไปนี้กำหนดชื่ออยู่ "" องค์ประกอบที่มีการกำหนดไว้ ช่องว่างนี้ จำกัด ตั้ง "รักษา" ซึ่งหมายความว่าหน่วยประมวลผล XML จะไม่ลบอักขระช่องว่างใด ๆ สีขาว:

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างนี้ยังกำหนดชื่ออยู่ "" องค์ประกอบที่มีการกำหนดไว้ ช่องว่างนี้ จำกัด ตั้ง "แทนที่" ซึ่งหมายความว่าหน่วยประมวลผล XML จะลบอักขระพื้นที่สีขาวทั้งหมด (แบ่งบรรทัดย่อหน้าเว้นวรรคและแท็บ):

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างนี้ยังกำหนดชื่ออยู่ "" องค์ประกอบที่มีการกำหนดไว้ ช่องว่างนี้ จำกัด ตั้ง "ล่มสลาย" ซึ่งหมายความว่าหน่วยประมวลผล XML จะลบอักขระพื้นที่สีขาวทั้งหมด (แบ่งบรรทัดย่อหน้าเว้นวรรคและแท็บจะถูกแทนที่ด้วยช่องว่างชั้นนำและช่องว่างต่อท้ายจะถูกลบออกและ พื้นที่ติดต่อกันหลาย ๆ จะลดลงไปพื้นที่เดียว):

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


ความยาวที่กำหนดไว้

เพื่อกำหนดความยาวของค่าองค์ประกอบที่เราจำเป็นต้องใช้ความยาว maxLength และ minLength จำกัด

องค์ประกอบที่มีการกำหนดและตั้งชื่อว่า "รหัสผ่าน" ในกรณีนี้จะกำหนด ค่าของมันจะต้องตรงแปดตัวอักษร:

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

ตัวอย่างนี้ยังกำหนดองค์ประกอบที่มีชื่อที่มีคุณสมบัติ "รหัสผ่าน" ของ ความคุ้มค่าเป็นอย่างน้อย 5 ตัวอักษรและสูงสุดแปดตัวอักษร:

<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>


ชนิดข้อมูลที่กำหนดไว้

ถูก จำกัด ลักษณะ
การนับ กำหนดรายการของค่าที่ยอมรับได้
fractionDigits มันกำหนดได้สูงสุดจำนวนที่ได้รับอนุญาตของตำแหน่งทศนิยม มันจะต้องเป็นมากกว่า 0
ความยาว กำหนดจำนวนที่แน่นอนของตัวละครที่ได้รับอนุญาตหรือรายการ มันต้องมีค่ามากกว่าหรือเท่ากับ 0
maxExclusive กำหนดค่าขีด จำกัด บน ค่าที่ได้รับอนุญาตต้องมีค่าน้อยกว่าค่านี้
maxInclusive กำหนดค่าขีด จำกัด บน ค่าที่ได้รับอนุญาตจะต้องน้อยกว่าหรือเท่ากับค่านี้
maxLength กำหนดจำนวนสูงสุดของตัวละครที่ได้รับอนุญาตหรือรายการ มันต้องมีค่ามากกว่าหรือเท่ากับ 0
minExclusive มูลค่าวงเงินที่ต่ำกว่าที่มีการกำหนด ค่าที่ต้องได้รับอนุญาตมากขึ้นกว่าค่านี้
minInclusive มูลค่าวงเงินที่ต่ำกว่าที่มีการกำหนด ได้รับอนุญาตต้องมีมูลค่ามากกว่าหรือเท่ากับค่านี้
minLength กำหนดจำนวนขั้นต่ำที่ได้รับอนุญาตของตัวละครหรือรายการ มันต้องมีค่ามากกว่าหรือเท่ากับ 0
แบบแผน กำหนดลำดับที่แน่นอนของตัวละครที่ได้รับการยอมรับ
totalDigits มันกำหนดที่ได้รับอนุญาตแม่นยำหลักเลขอารบิค มันจะต้องเป็นมากกว่า 0
ช่องว่าง ความหมายของตัวอักษรสีขาวพื้นที่ (แบ่งบรรทัดย่อหน้าแท็บและช่องว่าง) ได้รับการจัดการ