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>