XSD - Restricción

El elemento de restricción se utiliza para definir valores aceptados que puede tomar un elemento XML.

Sintaxis

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

base

Tipo de Elemento sobre el que se aplicará la restricción. Por ejemplo,

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

especifica que esta restricción es específica de un elemento de tipo int.

restricción

La restricción es normalmente un rango de condiciones que se aplicarán al valor del elemento. En este ejemplo, hemos establecido una restricción en las marcas de que las marcas deben estar en el rango de 0 a 100 con ambos valores incluidos.

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

Ejemplos

Restricción de valor.

Condition - Las marcas deben estar en el rango 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>

Restricción del conjunto de valores.

Condition - Las calificaciones solo deben ser A, B o 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>

Restricción mediante patrón regular.

Condition - el nombre debe estar solo en 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 restricciones

S.No. Restricción y descripción
1

enumeration

Define una lista de valores que son aceptables.

2

fractionDigits

Define el número máximo de lugares decimales permitidos (cero o más).

3

length

Define la longitud en términos de caracteres de cadena o elementos en una lista (cero o más).

4

maxExclusive

Define límites superiores para valores numéricos excluyendo este número.

5

maxInclusive

Define los límites superiores para los valores numéricos, incluido este número.

6

maxLength

Define la longitud máxima en términos de caracteres de cadena o elementos en una lista (cero o más).

7

minExclusive

Define límites inferiores para valores numéricos excluyendo este número.

8

minInclusive

Define límites inferiores para valores numéricos, incluido este número.

9

minLength

Define la longitud mínima en términos de caracteres de cadena o elementos en una lista (cero o más).

10

pattern

Define la secuencia exacta de caracteres identificados por el patrón que son aceptables

11

totalDigits

Define el número exacto de dígitos permitidos en el número (siempre mayor que cero)

12

whiteSpace

Define la forma en que se manejan los caracteres de espacio en blanco (avances de línea, tabulaciones, espacios y retornos de carro)