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
ocorrência | aparecer |
Elemento pai | complexContent |
Conteúdo | group、all、choice、sequence、attribute、attributeGroup、anyAttribute |
Gramática
<restriction id=ID base=QName qualquer atributos > Conteúdo para simpleType: (annotation?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) Conteúdo para simpleContent: (annotation?,(simpleType?,(minExclusive |minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| (length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, ((attribute|attributeGroup)*,anyAttribute?) Conteúdo para complexContent: (annotation?,(group|all|choice|sequence)?, ((attribute|attributeGroup)*,anyAttribute?) </restriction>
(O símbolo de declaração está no elemento restriction. Este elemento pode aparecer zero ou uma vez.)
Atributo | Descrição |
---|---|
id | Opcional. Especifica o ID exclusivo do elemento. |
base | Obrigatório. Especifica o nome do tipo de dados nativo, simpleType ou complexType definido no esquema (ou em outro esquema indicado pelo espaço de nomes especificado). |
qualquer atributos | Opcional. Especifica 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 demonstra uma definição de tipo complexo com restrições. O tipo complexo "Chinese_customer" deriva do tipo complexo "customer" comum, cujo 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>