Elemento de restricción de XML Schema
Definición y uso
El elemento restriction define las restricciones para simpleType, simpleContent o complexContent.
informaciónDeElemento
ocurrencia | una |
elementoPadre | complexContent |
Contenido | grupo、todos、elección、secuencia、atributo、grupoAtributo、anyAttribute |
Gramática
<restriction id=ID base=QName cualquier atributos > Contenido para simpleType: (anotación?,(simpleType?,(minExclusivo|minInclusivo| maxExclusivo|maxInclusivo|númeroTotal|decimales| longitud|minLongitud|maxLongitud|enumeración|espacioBlanco|patrón)*)) Contenido para simpleContent: (anotación?,(simpleType?,(minExclusivo |minInclusivo| maxExclusivo|maxInclusivo|númeroTotal|decimales| (longitud|minLongitud|maxLongitud|enumeración|espacioBlanco|patrón)*)?, ((atributo|grupoAtributo)*,anyAttribute?) Contenido para complexContent: (anotación?,(grupo|todos|elección|secuencia)?, ((atributo|grupoAtributo)*,anyAttribute?) </restriction>
(El símbolo de declaración se encuentra en el elemento restriction, que puede aparecer cero o una vez.)
Atributo | Descripción |
---|---|
id | Opcional. Especifica el ID único del elemento. |
base | Obligatorio. Especifica el nombre de los tipos de datos integrados, simpleType o complexType de elementos definidos en este esquema (o en otros esquemas indicados por el espacio de nombres especificado). |
cualquier atributos | Opcional. Especifica cualquier otra propiedad con un espacio de nombres no de 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 como mínimo 5 caracteres y como máximo 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 "customer" común, 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>