Sınırlamalar, XML elemanları veya özellik için kabul edilebilir değerler tanımlamak için kullanılır. XML öğeleri ilişkin kısıtlamalar yönleriyle denir.
Değerler ilişkin kısıtlamalar
Aşağıdaki örnek, olarak adlandırılan bir elemanı tanımlanmıştır "age" bir sınırlama ile. yaş değeri 120 0'dan daha düşük veya daha büyük olamaz:
<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>
Değerlerin bir Set ilişkin kısıtlamalar
kabul edilebilir değerler kümesi için bir XML öğesinin içeriğini sınırlamak için, numaralandırma kısıtlamayı kullanmak.
Aşağıdaki örnek olarak adlandırılan bir elemanı tanımlanmıştır "car" bir sınırlama ile. Kabul edilebilir tek değerler şunlardır: 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>
Yukarıdaki örnek de böyle yazılmış olabilir:
<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: Bu durumda tipi "carType" o bir parçası olmadığı için başka unsurlar tarafından kullanılabilir "car" unsuru.
Değerlerin bir Serisi ilişkin kısıtlamalar
kullanılabilecek sayı veya harf dizisi tanımlamak için bir XML öğesi içeriğini sınırlamak için, desen kısıtlamayı kullanmak.
Aşağıdaki örnek olarak adlandırılan bir elemanı tanımlanmıştır "letter" bir sınırlama ile. tek olarak kabul edilebilir bir değer A'dan Z'ye küçük harflerin biri:
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Sonraki örnek olarak adlandırılan bir elemanı tanımlanmıştır "initials" bir sınırlama ile. tek olarak kabul edilebilir bir değer A'dan büyük harf üçtür:
<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>
Sonraki örnek, olarak da adlandırılan bir elemanı tanımlanmıştır "initials" bir sınırlama ile. tek olarak kabul edilebilir bir değer A'dan Z'ye küçük veya büyük harfleri üçtür:
<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>
Sonraki örnek olarak adlandırılan bir elemanı tanımlanmıştır "choice" bir sınırlama ile. X, Y, Z: tek kabul edilebilir değeri, aşağıdaki Şöyle ki:
<xs:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Sonraki örnek olarak adlandırılan bir elemanı tanımlanmıştır "prodid" bir sınırlama ile. tek olarak kabul edilebilir bir değer, bir sırayla beş basamaklı ve her bir hane 0 ila 9 arasında bir aralıkta olmalıdır:
<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>
Değerlerin bir Serisi Diğer Kısıtlamalar
Aşağıdaki örnek olarak adlandırılan bir elemanı tanımlanmıştır "letter" bir sınırlama ile. olarak kabul edilebilir bir değer A'dan Z'ye küçük harflerin sıfır veya daha fazla olaylar olduğu:
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Sonraki örnek, olarak da adlandırılan bir elemanı tanımlanmıştır "letter" bir sınırlama ile. olarak kabul edilebilir bir değer harf, bir ya da daha fazla çift, bir büyük harf tarafından izlenen bir küçük harfle oluşan her çiftidir. Örneğin, "sToP" Bu desen ile doğrulanır değil "Stop" veya "STOP" veya "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>
Sonraki örnek olarak adlandırılan bir elemanı tanımlanmıştır "gender" bir sınırlama ile. tek olarak kabul edilebilir bir değer ya da erkek bir kadın:
<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Sonraki örnek olarak adlandırılan bir elemanı tanımlanmıştır "password" bir sınırlama ile. Orada bir satırda tam sekiz karakter olmalı ve bu karakterler dan z veya 0 ila 9 arasındaki bir sayıya küçük veya büyük harfler olmalıdır:
<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>
Boşluk Karakterler ilişkin kısıtlamalar
nasıl işleneceğini boşluk karakterleri belirtmek için, beyaz boşluk kısıtlamayı kullanmak.
Bu örnek olarak adlandırılan bir elemanı tanımlanmıştır "address" bir sınırlama ile. Beyaz boşluk kısıt olarak ayarlandığında "preserve" XML işlemci herhangi bir beyaz boşluk karakterleri kaldırmak OLMAYACAKTIR anlamına gelir:
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Bu örnek, aynı zamanda olarak adlandırılan bir elemanı tanımlanmıştır "address" bir sınırlama ile. Beyaz boşluk kısıt olarak ayarlandığında "replace" XML işlemci boşluklarla tüm beyaz boşluk karakterleri (hat beslemeleri, sekmeler, boşluk ve satır başlarını) DEĞİŞTİRECEKTİR anlamına gelir:
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Bu örnek, aynı zamanda olarak adlandırılan bir elemanı tanımlanmıştır "address" bir sınırlama ile. Beyaz boşluk kısıtlama ayarlanır "collapse" XML işlemci tüm boşluk karakteri (hat ön ve arka boşluklar çıkarılır, sekme, boşluklar, satır başları boşluk ile değiştirilir, beslenir ve birden çok boşluk indirgenir kaldırır anlamına gelir, tek bir boşluk):
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Uzunluk ilişkin kısıtlamalar
bir eleman bir değerin uzunluğunu sınırlamak için, uzunluk, MaxLength ve MINLENGTH kısıtlamaları kullanmak.
Bu örnek olarak adlandırılan bir elemanı tanımlanmıştır "password" bir sınırlama ile. değeri tam sekiz karakter olmalıdır:
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Bu örnek, olarak adlandırılan başka bir elemanı tanımlanmıştır "password" bir sınırlama ile. değeri beş karakter ve maksimum sekiz karakter asgari olmalıdır:
<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>
Datatypes ilgili kısıtlamalar
Kısıtlama | Açıklama |
---|---|
enumeration | olarak kabul edilebilir değerler listesi tanımlar |
fractionDigits | izin verilen ondalık basamak sayısını belirtir. eşit veya sıfırdan büyük olmalıdır |
length | izin karakter veya liste öğelerinin tam sayısını belirtir. eşit veya sıfırdan büyük olmalıdır |
maxExclusive | Sayısal değerler için üst sınır (değer bu değerden daha az olmalıdır) belirtir |
maxInclusive | Sayısal değerler için üst sınır (değer bu değere eşit veya daha az olmalıdır) belirtir |
maxLength | izin karakter veya liste öğelerinin sayısını belirtir. eşit veya sıfırdan büyük olmalıdır |
minExclusive | Sayısal değerler için alt sınır (değer bu değerden daha büyük olması gerekmektedir) belirtir |
minInclusive | Sayısal değerler için alt sınır (değer bu değere eşit veya daha büyük olmalıdır) belirtir |
minLength | izin karakter veya liste öğelerinin asgari sayısını belirtir. eşit veya sıfırdan büyük olmalıdır |
pattern | kabul edilebilir karakter tam dizisini tanımlar |
totalDigits | izin basamak sayısını tam belirtir. sıfırdan büyük olmalı |
whiteSpace | işlenir (hat, sekmeler, boşluk ve satır başlarını beslemeleri) beyaz boşluk nasıl belirler |