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, 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. |
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 |