XSD - Restrição

O elemento de restrição é usado para definir valores aceitos que um elemento XML pode assumir.

Sintaxe

<xs:restriction base = "element-type"> restrictions </xs:restriction>

base

Tipo de elemento ao qual a restrição deve ser aplicada. Por exemplo,

<xs:restriction base = "xs:integer">

especifica que essa restrição é específica para um elemento do tipo int.

restrição

A restrição é normalmente uma gama de condições a serem aplicadas ao valor do elemento. Neste exemplo, definimos uma restrição às marcas de que as marcas devem estar no intervalo de 0 a 100 com ambos os valores incluídos.

<xs:minInclusive value = "0"/>
<xs:maxInclusive value = "100"/>

Exemplos

Restrição de valor.

Condition - As marcas devem estar no intervalo de 0 a 100.

<xs:element name = "marks">
   <xs:simpleType>
      <xs:restriction base = "xs:integer">
         <xs:minInclusive value = "0"/>
         <xs:maxInclusive value = "100"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

Restrição no conjunto de valores.

Condition - As notas devem ser apenas A, B ou C.

<xs:element name = "grades">
   <xs:simpleType>
      <xs:restriction base = "xs:string">
         <xs:enumeration value = "A"/>
         <xs:enumeration value = "B"/>
         <xs:enumeration value = "C"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

Restrição usando padrão regular.

Condition - o primeiro nome deve estar apenas em alfabetos.

<xs:element name = "firstname">
   <xs:simpleType>
      <xs:restriction base = "xs:string">
         <xs:pattern value = "[a-z]"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

Tipos de Restrições

S.No. Restrição e descrição
1

enumeration

Define uma lista de valores que são aceitáveis.

2

fractionDigits

Define o número máximo de casas decimais permitidas (zero ou mais).

3

length

Define o comprimento em termos de caracteres de string ou itens em uma lista (zero ou mais).

4

maxExclusive

Define limites superiores para valores numéricos excluindo este número.

5

maxInclusive

Define limites superiores para valores numéricos incluindo este número.

6

maxLength

Define o comprimento máximo em termos de caracteres de string ou itens em uma lista (zero ou mais).

7

minExclusive

Define limites inferiores para valores numéricos, excluindo este número.

8

minInclusive

Define limites inferiores para valores numéricos incluindo este número.

9

minLength

Define o comprimento mínimo em termos de caracteres de string ou itens em uma lista (zero ou mais).

10

pattern

Define a sequência exata de caracteres identificados pelo padrão que são aceitáveis

11

totalDigits

Define o número exato de dígitos permitidos no número (sempre maior que zero)

12

whiteSpace

Define a maneira como os caracteres de espaço em branco (avanços de linha, tabulações, espaços e retornos de carro) são tratados