Elemento de restrição do XML Schema
Definição e uso
O elemento restriction define restrições para simpleType、simpleContent ou complexContent.
Informações do elemento
Aparições | uma vez |
Elemento pai | complexContent |
Conteúdo | grupo、all、choice、sequence、attribute、attributeGroup、anyAttribute |
Sintaxe
<restriction id=ID base=QName qualquer atributo > Conteúdo para simpleType: (anotação?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) Conteúdo para simpleContent: (anotação?,(simpleType?,(minExclusive |minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| (length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, ((atributo|grupoAtributo)*,anyAttribute?) Conteúdo para complexContent: (anotação?,(grupo|all|escolha|sequência)?, ((atributo|grupoAtributo)*,anyAttribute?) </restriction>
(? O símbolo declara que este elemento pode aparecer zero ou uma vez no elemento restriction.)
Atributo | Descrição |
---|---|
id | Opcional. Regula o ID único deste elemento. |
base | Obrigatório. Regula o nome do tipo de dados embutido, simpleType ou complexType definido neste schema (ou por outro schema indicado pelo espaço de nomes especificado). |
qualquer atributo | Opcional. Regula qualquer outra propriedade com espaço de nomes não esquema. |
Exemplo
Exemplo 1
O exemplo a seguir define um elemento chamado "age" com restrições. O valor de "age" não pode ser menor que 0 ou maior que 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>
Exemplo 2
Este exemplo define um elemento chamado "initials". O elemento "initials" é um tipo simples com restrições. Os valores aceitos são três letras maiúsculas ou minúsculas de "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>
Exemplo 3
Este exemplo define um elemento chamado "password". O elemento "password" é um tipo simples com restrições. O valor deve ter no mínimo 5 e no 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>
Exemplo 4
Este exemplo mostra uma definição de tipo complexo com restrições. O tipo complexo "Chinese_customer" é derivado do tipo complexo "customer" comum, e o valor fixo do 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>