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