Elemento 'restriction' del XML Schema
Definición y uso
El elemento 'restriction' define las restricciones para simpleType, simpleContent o complexContent.
Información del elemento
número de apariciones | una vez |
Elemento padre | complexContent |
Contenido | grupo、todo、elección、secuencia、atributo、grupoAtributo、cualquierAtributo |
Gramática
<restriction id=ID base=QName cualquier atributo > Contenido para simpleType: (anotación?,(simpleType?,(minExclusivo|minInclusivo| maxExclusivo|maxInclusivo|digitosTotales|digitosDecimales| longitud|minLongitud|maxLongitud|enumeración|espacioEnBlanco|patrón)*)) Contenido para simpleContent: (anotación?,(simpleType?,(minExclusivo |minInclusivo| maxExclusivo|maxInclusivo|digitosTotales|digitosDecimales| (longitud|minLongitud|maxLongitud|enumeración|espacioEnBlanco|patrón)*)?, ((atributo|grupoAtributo)*,cualquierAtributo?)) Contenido para complexContent: (anotación?,(grupo|todo|elección|secuencia)?, ((atributo|grupoAtributo)*,cualquierAtributo?)) </restriction>
(El símbolo '?' indica que el elemento puede aparecer cero o una vez en el elemento 'restriction').
Atributo | Descripción |
---|---|
id | Opcional. Define el ID único de este elemento. |
base | Obligatorio. Define el nombre de los elementos nativos, simpleType o complexType definidos en este esquema (o en otro esquema especificado por el espacio de nombres). |
cualquier atributo | Opcional. Define cualquier otro atributo con espacio de nombres no esquema. |
Ejemplo
Ejemplo 1
El siguiente ejemplo define un elemento llamado "age" con restricciones. El valor de "age" no puede ser menor de 0 ni mayor de 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>
Ejemplo 2
Este ejemplo define un elemento llamado "initials". El elemento "initials" es un tipo simple con restricciones. Los valores aceptados son tres letras mayúsculas o minúsculas de la a a la 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>
Ejemplo 3
Este ejemplo define un elemento llamado "password". El elemento "password" es un tipo simple con restricciones. El valor debe tener entre 5 y 8 caracteres:
<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>
Ejemplo 4
Este ejemplo muestra una definición de tipo complejo complejo utilizando restricciones. El tipo complejo "Chinese_customer" se deriva del tipo complejo común "customer", y el valor fijo del elemento "country" es "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>