Tutorial Skema ...login
Tutorial Skema XML
pengarang:php.cn  masa kemas kini:2022-04-20 14:13:02

Kelayakan / Aspek Skema XML


Sekatan pada elemen XML dipanggil faset.

Kelayakan nilai

Contoh berikut mentakrifkan elemen bernama "umur" dengan kelayakan. Nilai umur tidak boleh lebih rendah daripada 0 atau lebih tinggi daripada 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>




Penghadan pada set nilai
Jika anda perlu Untuk mengehadkan kandungan kepada satu set nilai yang boleh diterima, kami menggunakan kekangan penghitungan.

Contoh berikut mentakrifkan elemen bernama "kereta" dengan kelayakan. Nilai yang boleh diterima hanyalah: 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>


Contoh di atas juga boleh ditulis sebagai:

<xs:nama elemen ="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>

Nota: Dalam kes ini, jenis "carType" boleh digunakan oleh elemen lain kerana ia bukan sebahagian daripada elemen "kereta".


Penghadan pada siri nilai

Untuk mengehadkan kandungan elemen XML kepada siri nombor atau huruf yang boleh digunakan, kita perlu menggunakan kekangan corak.

Contoh berikut mentakrifkan elemen bernama "surat" dengan kelayakan. Nilai yang boleh diterima hanyalah salah satu daripada huruf kecil a - z:

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

Contoh seterusnya mentakrifkan elemen bernama "initials" dengan kelayakan. Nilai yang boleh diterima ialah tiga daripada huruf besar 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>

Contoh seterusnya juga mentakrifkan elemen bernama "initials" dengan kelayakan. Nilai yang boleh diterima ialah tiga daripada huruf besar atau huruf kecil 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>

Contoh seterusnya mentakrifkan elemen bernama "pilihan" dengan kelayakan yang boleh diterima ialah huruf x , salah satu daripada y atau z:

<xs:element name="choice">
<xs:simpleType>
' <xs:restriction base="xs:string">
- <xs:pattern value="[xyz]"/>
' </xs:restriction>
</xs:simpleType>
</xs:element>

Contoh seterusnya mentakrifkan elemen bernama "prodid" dengan kelayakan. Nilai yang boleh diterima ialah jujukan lima digit Arab, setiap satu dalam julat 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>


Kelayakan lain untuk julat nilai

Contoh berikut mentakrifkan Dengan elemen yang layak dinamakan "surat". Nilai yang boleh diterima ialah sifar atau lebih huruf daripada a - z:

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

Contoh berikut mentakrifkan elemen bernama "huruf" dengan kelayakan. Nilai yang boleh diterima ialah satu atau lebih pasangan huruf, setiap satu terdiri daripada huruf kecil diikuti dengan huruf besar. Contohnya, "sToP" akan lulus pengesahan dalam mod ini, tetapi "Stop", "STOP" atau "stop" tidak akan lulus pengesahan:

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

Contoh berikut mentakrifkan elemen bernama "jantina" dengan kelayakan. Nilai yang boleh diterima adalah lelaki atau perempuan:

<xs:element name="gender">
<xs:simpleType>
' <xs:restriction base="xs:string">
- <xs:pattern value="lelaki|perempuan"/>
' </xs:restriction>
</xs:simpleType>
</xs:element>

Contoh berikut mentakrifkan elemen bernama "kata laluan" dengan kelayakan. Nilai yang boleh diterima ialah baris 8 aksara, yang mestilah huruf besar atau huruf kecil a - z atau nombor 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>


Penghadan pada aksara ruang putih

Jika anda perlu menentukan aksara ruang putih ( aksara ruang putih), kita perlu menggunakan kelayakan WhiteSpace.

Contoh berikut mentakrifkan elemen bernama "alamat" dengan kelayakan. Kelayakan WhiteSpace ditetapkan kepada "pelihara", yang bermaksud bahawa pemproses XML tidak akan mengalih keluar sebarang aksara ruang putih:

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

Contoh ini juga mentakrifkan elemen bernama "alamat" dengan kelayakan. Kelayakan WhiteSpace ditetapkan kepada "menggantikan", yang bermaksud bahawa pemproses XML akan mengalih keluar semua aksara ruang putih (baris baharu, pemulangan pengangkutan, ruang dan tab):

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

Contoh ini juga mentakrifkan elemen bernama "alamat" dengan kelayakan. Kelayakan WhiteSpace ditetapkan kepada "runtuh", yang bermaksud bahawa pemproses XML akan mengalih keluar semua aksara ruang putih (baris baharu, pemulangan pengangkutan, ruang dan tab akan digantikan dengan ruang, ruang hadapan dan belakang akan dialih keluar dan ruang berbilang berturut-turut akan dikurangkan kepada satu ruang):

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


Penghadan panjang

Jika anda perlu mengehadkan panjang nilai dalam elemen , kita perlu menggunakan had length, maxLength dan minLength.

Contoh ini mentakrifkan elemen bernama "kata laluan" dengan kelayakan. Nilai mestilah tepat 8 aksara:

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

Contoh ini juga mentakrifkan elemen bernama "kata laluan" dengan kelayakan. Nilai minimum ialah 5 aksara dan nilai maksimum ialah 8 aksara:

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


Sekatan jenis data

限定描述
enumeration定义可接受值的一个列表
fractionDigits定义所允许的最大的小数位数。必须大于等于0。
length定义所允许的字符或者列表项目的精确数目。必须大于或等于0。
maxExclusive定义数值的上限。所允许的值必须小于此值。
maxInclusive定义数值的上限。所允许的值必须小于或等于此值。
maxLength定义所允许的字符或者列表项目的最大数目。必须大于或等于0。
minExclusive定义数值的下限。所允许的值必需大于此值。
minInclusive定义数值的下限。所允许的值必需大于或等于此值。
minLength定义所允许的字符或者列表项目的最小数目。必须大于或等于0。
pattern定义可接受的字符的精确序列。
totalDigits定义所允许的阿拉伯数字的精确位数。必须大于0。
whiteSpace定义空白字符(换行、回车、空格以及制表符)的处理方式。