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>