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>