Elemento restriction XML Schema
Definizione e uso
L'elemento restriction definisce le restrizioni per simpleType, simpleContent o complexContent.
Informazioni sull'elemento
Frequenza di apparizione | una volta |
Padre elemento | complexContent |
Contenuto | group、all、choice、sequence、attribute、attributeGroup、qualsiasi attributo |
Sintassi
<restriction id=ID base=QName qualsiasi attributo > Contenuto per simpleType: (annotazione?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) Contenuto per simpleContent: (annotazione?,(simpleType?,(minExclusive |minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| (length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, ((attributo|group di attributi)*,qualsiasi attributo?)) Contenuto per complexContent: (annotazione?,(group|all|choice|sequence)?, ((attributo|group di attributi)*,qualsiasi attributo?)) </restriction>
(? Il simbolo è dichiarato nell'elemento restriction e può apparire zero o una volta.)
Proprietà | Descrizione |
---|---|
id | Opzionale. Specifica l'ID unico dell'elemento. |
base | Obbligatorio. Specifica il nome degli elementi di tipo built-in, simpleType o complexType definiti in questo schema (o in altri schema indicati dallo spazio nome specificato). |
qualsiasi attributo | Opzionale. Specifica qualsiasi altra proprietà con uno spazio nome non schema. |
Esempio
Esempio 1
L'esempio seguente definisce un elemento chiamato "age" con vincoli. Il valore di "age" non può essere inferiore a 0 o superiore a 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>
Esempio 2
Questo esempio definisce un elemento chiamato "initials". L'elemento "initials" è di tipo semplice con vincoli. I valori accettati sono tre lettere maiuscole o minuscole da a a 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>
Esempio 3
Questo esempio definisce un elemento chiamato "password". L'elemento "password" è di tipo semplice con vincoli. Il valore deve avere un minimo di 5 e un massimo di 8 caratteri:
<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>
Esempio 4
Questa esempio dimostra una definizione di tipo complesso utilizzando vincoli. Il tipo complesso "Chinese_customer" deriva dal tipo complesso "customer" comune, e il valore fisso dell'elemento "country" è "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>