Latest web development tutorials

XML Schema mendefinisikan / segi

Limited (pembatasan) digunakan untuk mendefinisikan elemen XML diterima atau nilai atribut. Untuk menentukan elemen XML disebut facet.


membatasi nilai

Contoh berikut mendefinisikan sebuah elemen dengan didefinisikan dan diberi nama "usia" dari. Nilai usia tidak dapat lebih rendah dari 0 atau lebih besar dari 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>


Mendefinisikan seperangkat nilai-nilai

Untuk isi dari elemen XML terbatas pada seperangkat nilai-nilai yang dapat diterima, kami akan menggunakan pencacahan kendala (pencacahan kendala).

Contoh berikut mendefinisikan sebuah elemen dengan nama "mobil" yang berkualitas adalah. Hanya nilai yang dapat diterima adalah: 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 dapat ditulis sebagai:

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

Catatan: Dalam hal ini, jenis "carType" dapat digunakan oleh elemen-elemen lain karena bukan bagian dari "mobil" elemen.


Serangkaian nilai terbatas

Untuk membatasi isi dari sebuah elemen XML didefinisikan sebagai serangkaian angka atau huruf yang bisa digunakan, kita ingin menggunakan modus kurungan (pola kendala).

Contoh berikut mendefinisikan sebuah elemen dengan didefinisikan disebut "surat" dari. Satu-satunya nilai yang dapat diterima huruf kecil huruf a - z satu:

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

Contoh berikutnya mendefinisikan sebuah elemen dengan didefinisikan disebut "inisial" dari. nilai yang dapat diterima adalah huruf besar A - Z di mana tiga dari mereka:

<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 berikutnya juga mendefinisikan sebuah elemen dengan didefinisikan disebut "inisial" dari. nilai yang dapat diterima adalah huruf besar atau huruf kecil a - z tiga dari mereka:

<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 berikutnya mendefinisikan sebuah elemen dengan pilihan terbatas yang disebut "nilai yang dapat diterima adalah huruf x, y atau z di:

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

Contoh berikutnya mendefinisikan sebuah elemen dengan nama yang memenuhi syarat "prodid" dari. nilai yang dapat diterima adalah urutan lima digit, dan setiap angka di kisaran 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>


Serangkaian nilai yang ditetapkan untuk lainnya

Contoh berikut mendefinisikan sebuah elemen dengan didefinisikan disebut "surat" dari. nilai yang dapat diterima adalah - z nol atau lebih huruf:

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

Contoh berikut mendefinisikan sebuah elemen dengan didefinisikan disebut "surat" dari. nilai yang dapat diterima adalah satu atau lebih pasang huruf, masing-masing pasangan terdiri dari huruf kecil diikuti dengan huruf besar. Misalnya, "Stop" akan memvalidasi model ini, tetapi "Stop", "STOP" atau "berhenti" tidak dapat diverifikasi:

<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 mendefinisikan sebuah elemen dengan didefinisikan disebut "gender" adalah. nilai yang dapat diterima adalah laki-laki atau perempuan:

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

Contoh berikut mendefinisikan sebuah elemen dengan nama yang memenuhi syarat "password" dari. nilai yang dapat diterima adalah deretan karakter terdiri dari delapan karakter, karakter ini harus huruf besar atau huruf kecil a - z atau akan digital 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>


karakter kosong didefinisikan

Untuk menentukan pendekatan putih karakter ruang (karakter spasi), kita perlu menggunakan spasi terbatas.

Contoh berikut mendefinisikan bernama "alamat" elemen dengan mendefinisikan. spasi Terbatas ini diatur ke "melestarikan", yang berarti bahwa prosesor XML tidak akan menghapus karakter spasi:

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

Contoh ini juga mendefinisikan bernama "alamat" elemen dengan mendefinisikan. spasi Terbatas ini diatur ke "menggantikan", yang berarti bahwa prosesor XML akan menghapus semua karakter spasi (jeda baris, tombol kembali, spasi, dan tab):

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

Contoh ini juga mendefinisikan bernama "alamat" elemen dengan mendefinisikan. spasi Terbatas ini diatur ke "runtuh", yang berarti bahwa prosesor XML akan menghapus semua karakter spasi (line break, tombol kembali, spasi, dan tab diganti dengan spasi, terkemuka dan trailing spasi akan dihapus, dan beberapa ruang berturut-turut dikurangi untuk satu ruang):

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


Dari panjang didefinisikan

Untuk membatasi panjang dari nilai-nilai elemen, kita perlu menggunakan panjang, maxlength dan MINLENGTH terbatas.

Elemen dengan didefinisikan dan diberi nama "password" dalam hal ini didefinisikan. Nilainya harus tepat delapan karakter:

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

Contoh ini juga mendefinisikan sebuah elemen dengan nama yang memenuhi syarat "password" dari. nilainya minimal 5 karakter dan maksimal delapan karakter:

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


jenis data yang didefinisikan

terbatas deskripsi
pencacahan Tentukan daftar nilai yang diterima
fractionDigits Ini mendefinisikan maksimum jumlah diperbolehkan desimal. Ini harus lebih besar dari 0.
panjangnya Menentukan jumlah yang tepat dari karakter diperbolehkan atau daftar item. Ini harus lebih besar dari atau sama dengan 0.
maxExclusive Menentukan nilai batas atas. Nilai diizinkan harus kurang dari nilai ini.
maxInclusive Menentukan nilai batas atas. Nilai diperbolehkan harus kurang dari atau sama dengan nilai ini.
MAXLENGTH Mendefinisikan jumlah karakter maksimum yang diizinkan atau daftar item. Ini harus lebih besar dari atau sama dengan 0.
minExclusive Nilai batas bawah didefinisikan. Nilai harus diizinkan lebih besar dari nilai ini.
minInclusive Nilai batas bawah didefinisikan. Diizinkan nilai keharusan lebih besar dari atau sama dengan nilai ini.
MINLENGTH Mendefinisikan jumlah minimum diperbolehkan karakter atau daftar item. Ini harus lebih besar dari atau sama dengan 0.
pola Mendefinisikan urutan karakter diterima.
totalDigits Mendefinisikan presisi digit angka Arab yang diperbolehkan. Ini harus lebih besar dari 0.
spasi Definisi karakter putih ruang (jeda baris, tombol kembali, tab dan spasi) ditangani.