XML Schema restriction-elementti

Määrittely ja käyttö

restriction-elementti määrittää rajoitukset simpleType, simpleContent tai complexContent -tyypeille.

elementtin tiedot

esiintymisen määrä kerran
vanhempi elementti complexContent
sisältö ryhmä、kaikki、valinta、sarja、ominaisuus、ominaisuusryhmä、muiden ominaisuuksien

syntaksi

<restriction
id=ID
perus=QName
muiden ominaisuuksien
>
simpleType:n sisältö:
(huomautus?,(simpleType?,(minEksklusiivinen|minSisällyttävä| 
maxEksklusiivinen|maxSisällyttävä|kokonaislukumäärä|osamäärä|
pituus|minPituus|maxPituus|luettelo|valkoiho|malli)*))
simpleContent:n sisältö:
(huomautus?,(simpleType?,(minEksklusiivinen|minSisällyttävä| 
maxEksklusiivinen|maxSisällyttävä|kokonaislukumäärä|osamäärä|
(pituus|minPituus|maxPituus|luettelo|valkoiho|malli)*)?, 
((ominaisuus|ominaisuusryhmä)*,muiden ominaisuuksien?))
complexContent:n sisältö:
(huomautus?,(ryhmä|kaikki|valinta|sarja)?,
((ominaisuus|ominaisuusryhmä)*,muiden ominaisuuksien?))
</restriction>

(? symboli määritellään restriction-elementissä, ja elementti voi esiintyä nollan tai yhden kerran.)

ominaisuudet kuvaus
id Valinnainen. Määrittää kyseisen elementin ainutlaatuisen ID:n.
perus Välttämätön. Määrittää tässä schema:ssa (tai määritellyssä nimenkerroksessa olevassa schema:ssa) määritellyt sisäänrakennetut tyyppien, simpleType tai complexType-elementtien nimet.
muiden ominaisuuksien Valinnainen. Määrittää minkä tahansa non-schema-nimellisyyden omaavien muiden ominaisuuksien.

Esimerkki

Esimerkki 1

Seuraava esimerkki määrittelee rajoitetun ja nimeltään "age" elementin. Age-arvon ei tule olla alle 0 tai yli 100:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Esimerkki 2

Tämä esimerkki määrittelee nimeltään "initials" elementin. "initials" elementti on rajoitettu yksinkertainen tyyppi. Hyväksyttävät arvot ovat kolme isoa tai pientä kirjainta a:sta z:ään:

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

Esimerkki 3

Tämä esimerkki määrittelee nimeltään "password" elementin. "password" elementti on rajoitettu yksinkertainen tyyppi. Arvon on oltava vähintään 5 ja enintään 8 merkkiä:

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

Esimerkki 4

Tämä esimerkki näyttää monimutkaisen tyyppimäärittelyn käyttämisen. Monimutkainen tyyppi "Chinese_customer" perii tavallisen customer-monimutkaisen tyypin, ja sen country-elementin vakioarvo on "China":

<xs:complexType name="customer">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>
<xs:complexType name="Chinese_customer">
  <xs:complexContent>
    <xs:restriction base="customer">
      <xs:sequence>
        <xs:element name="firstname" type="xs:string"/>
        <xs:element name="lastname" type="xs:string"/>
        <xs:element name="country" type="xs:string" fixed="China"/>
      </xs:sequence>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>