Mundo
del Programador

Facetas


Facetas o restricciones, se pueden aplicar sobre tipos simples utilizando el elemento xs:restriction. Se expresan como un elemento dentro de una restricción y se pueden combinar para lograr restringir más el valor del elemento. Estas restricciones son:

  • length, minlength, maxlength - longitud del tipo de dato
  • enumeration - restringe a un determinado conjunto de valores
  •                       (creción de una cadena de texto con longitud máxima de 9 caracteres y dos valores posibles)
    
                          <xs:simpleType name="estado">
                          <xs:restriction base="xs:string">
                            <xs:maxLength value="9"/>
                            <xs:enumeration value="conectado"/>
                            <xs:enumeration value="ocupado"/>
                          </xs:retriction>
                          </xs:simpleType>
                        
  • whitespace - define el trateamiento de espacios (preserve/replace, collapse)
  •                       (creación de un elemento en el que se respetan los espacios tal y como se han introducido)
                          
                          <xs:simpleType name="nombre">
                          <xs:restriction base="xs:string">
                            <xs:whitespace value="preserve"/>
                          </xs:retriction>
                          </xs:simpleType>
                        
  • max/min, inclusive/exclusiv - limites superiores/inferiores del tipo de datas. Cuando son inclusiv el valor pertenece al conjunto de valores validos, mientras que exclusiv el valor dado no pertenece al conjunto de valores válidos
  • totalDigits, fractionDigits - número de digitos totales y decimales de un número decimal
  •                       (creción de un elemento calificaciones de dos digitos cuyo valor es un número entero comprendido entre 1 y 10, ambos inclusive)
                          
                          <xs:simpleType name="calificaciones">
                          <xs:restriction base="xs:integer">
                            <xs:totalDigits value="2"/>
                            <xs:minExclusive value="0"/>
                            <xs:maxInclusive value="10"/>
                          </xs:retriction>
                          </xs:simpleType>
                        
  • pattern - permite construir máscaras que han de cumplir los datos de un elemento. Hay que tener en cuenta la siguiente tabla:

  • Patrón Significado
    [A-Z a-z] Letra
    [A-Z] Letra mayúscula
    [a-z] Letra minuscula
    [0-9] Digitos decimales
    \D Cualquier caracter excepto un digito decimal
    (A) Cadena que coincida con A
    A|B Cadena que es igual a la cadena A o a la B
    AB Cadena que es la concatenación de las cadenas A y B
    A? Cero o una vez la cadena A
    A+ Una o más veces la cadena A
    A* Cero o más veces la cadena A
    [abcd] Alguno de los caracteres que están entre corchetes
    [^abcd] Cualquier caracter que no esté entre corchetes
    \t Tabulación
                
                          (creación de una máscara de un DNI)
                          
                          <xs:simpleType name="dni">
                          <xs:restriction base="xs:string">
                            <xs:pattern value="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-Z]"/>
                          </xs:retriction>
                          </xs:simpleType>
                        
Siguiente
Atras