En son web geliştirme öğreticiler
 

XSD Kısıtlamalar / YÖNÜ


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