XML Schema restriction-element
Definitie en gebruik
De restriction-element definieert de beperkingen voor simpleType、simpleContent of complexContent.
Elementinformatie
voorkomen | eenmaal |
Hoofd-element | complexContent |
Inhoud | group、all、choice、sequence、attribute、attributeGroup、anyAttribute |
Syntax
<restriction id=ID base=QName enkele eigenschappen > Inhoud voor simpleType: (annotation?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) Inhoud voor simpleContent: (annotation?,(simpleType?,(minExclusive |minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| (length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, ((attribute|attributeGroup)*,anyAttribute?)) Inhoud voor complexContent: (annotation?,(group|all|choice|sequence)?, ((attribute|attributeGroup)*,anyAttribute?)) </restriction>
(? Symbool wordt aangegeven in het restriction-element dat het element nul of één keer kan aangeven.)
Eigenschappen | Beschrijving |
---|---|
id | Optioneel. Bepaalt het unieke ID van dit element. |
basis | Verplicht. Bepaalt de namen van de ingebouwde datatypes, simpleType of complexType-elementen die zijn gedefinieerd in dit schema (of een ander schema dat wordt aangegeven door de opgegeven naamruimte). |
enkele eigenschappen | Optioneel. Bepaalt alle andere eigenschappen met een non-schema naamruimte. |
Voorbeeld
Voorbeeld 1
Het volgende voorbeeld definieert een element genaamd "age" met beperkingen. De waarde van "age" mag niet kleiner zijn dan 0 of groter dan 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>
Voorbeeld 2
Dit voorbeeld definieert een element genaamd "initials". Het element "initials" is van het eenvoudige type met beperkingen. De aanvaardbare waarden zijn drie hoofdletters of kleine letters van a tot z:
<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>
Voorbeeld 3
Dit voorbeeld definieert een element genaamd "password". Het element "password" is van het eenvoudige type met beperkingen. De waarde moet minimaal 5 en maximaal 8 tekens zijn:
<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>
Voorbeeld 4
Deze voorbeeld toont een complexe type definitie met beperkingen. Het complexe type "Chinese_customer" wordt afgeleid van de gewone complexe type "customer", waarbij de vastgestelde waarde van het "country" element "China" is:
<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>