- Limitaciones de longitud: Longitud, Longitud mín., Longitud
máx.
- Mediante la utilización de las limitaciones de longitud, se pueden restringir
o incluso limitar a un solo valor la longitud de todos los elementos basados en el
tipo simple.
Se pueden aplicar limitaciones de longitud a los tipos simples que se derivan
de xsd:hexBinary, xsd:base64Binary o
xsd:string (incluidos los tipos de esquema
incorporados tales como xsd:normalisedString).
Las
limitaciones de longitud se heredan de los tipos ascendientes y las limitaciones de longitud
definidas para un tipo simple no deben rebajar las limitaciones impuestas por cualquiera de los
tipos ascendientes. Por ejemplo, un tipo 'longString'
(Longitud máx.=100)
no se puede derivar de un tipo 'shortString' (Longitud máx.=10).
Nota: Por omisión, para el dominio MRM,
las limitaciones de valor de
Longitud se convierten en limitaciones
de Longitud máx. cuando se añade un
conjunto de mensajes a un archivo BAR. Esto evita que
WebSphere Message Broker emita errores de validación falsos
para estructuras de datos de longitud fija, donde las series tienden a rellenarse
para ajustarse a un campo de anchura fija. Si es necesaria la validación estricta de la
longitud, este valor predeterminado se puede cambiar en las propiedades de conjunto de mensajes
cambiando el distintivo
El intermediario trata la faceta de longitud como longitud máxima.
- Limitaciones de rango: InclusivaMín, InclusivaMáx, ExclusivaMín,
ExclusivaMáx
- Las limitaciones de rango especifican el rango de valores permitido para todos los
elementos que están basados en el tipo simple. Las limitaciones inclusivas incluyen los
puntos finales especificados del rango permitido, mientras que las limitaciones
exclusivas no los incluyen. Las limitaciones de rango se pueden aplicar a tipos simples que sean
numéricos o que estén relacionados con valores de agenda y hora. No se pueden aplicar a series de caracteres, porque el orden de los valores de serie
de caracteres dependen del juego de caracteres que se utilice.
Las
limitaciones de rango se heredan de los tipos ascendientes y las limitaciones de rango
definidas para un tipo simple no deben rebajar las limitaciones impuestas por cualquiera de los
tipos ascendientes. Por ejemplo, un tipo 'largeNumber' (Inclusiva máx.=100) no se puede derivar de un tipo 'smallNumber' (InclusivaMáx.=10).
El modelo de mensaje no permite que se apliquen
limitaciones exclusivas a tipos no integrales (flotante, decimal,
doble, fecha y hora, etc).
- Limitaciones de enumeración
- Una limitación de enumeración especifica un solo valor permitido para todos los
elementos que están basados en el tipo simple. Se puede especificar una lista de valores
permitidos definiendo más de una limitación de enumeración para el mismo tipo simple.
Las limitaciones de enumeración se pueden aplicar a todos los tipos simples.
Las limitaciones
de enumeración se heredan de los tipos ascendientes y cualquier conjunto de limitaciones de
enumeración definidas para un tipo simple no debe incrementar el rango de valores permitidos. Por ejemplo, un tipo 'AllColors' (con enumeraciones para todos los colores del arco iris) no se puede derivar de un tipo 'MonoColors' (con enumeraciones para 'negro' y 'blanco' únicamente).
- Limitaciones de precisión: Dígitos totales y dígitos de fracción
- Las limitaciones de precisión sólo están relacionadas con los valores decimales. Limitan
el número de dígitos significativos (dígitos totales) y el número de posiciones decimales
(dígitos de fracción) para todos los elementos basados en el tipo simple. Se
pueden aplicar limitaciones de precisión a los tipos simples que derivan
de xsd:decimal, pero tenga presente
que, en tiempo de ejecución, el intermediario aplica estas limitaciones sólo a
xsd:decimal y los tipos de usuario que
derivan de él; se hace caso omiso de cualquier limitación de precisión que se
aplique a un tipo simple entero.
Las
limitaciones de precisión se heredan de los tipos ascendientes y las limitaciones de precisión
definidas para un tipo simple no deben rebajar las limitaciones impuestas por cualquiera de los
tipos ascendientes. Por ejemplo, un tipo 'veryPrecise'
(Dígitos de fracción=10)
no se puede derivar de un tipo 'notVeryPrecise' (Dígitos de fracción=1).
- Limitaciones de patrón
- Una limitación de patrón es una expresión regular que especifica un conjunto de valores
permitidos para todos los elementos basados en el tipo simple. Se pueden definir varios patrones
para el mismo tipo simple, permitiendo que se expresen normas de validación complejas
en partes separadas de forma lógica. Cada limitación de patrón de un tipo simple contribuye
el conjunto de valores permitidos para los elementos basados en el tipo simple. En otras palabras,
todos los patrones se combinan utilizando el valor booleano OR.
Igual que sucede con todas
las limitaciones de valor, un tipo simple puede heredar limitaciones de patrón del tipo
simple en el que está basado. En este caso, se debe satisfacer
el conjunto de limitaciones de patrón al que contribuye cada tipo ascendiente,
así como el conjunto al que contribuye el tipo simple.
En otras palabras,
los conjuntos de limitaciones de patrón de cada nivel de la jerarquía
de tipos se combinan utilizando el valor booleano AND.
Las limitaciones de patrón
sólo se pueden aplicar a tipos simples que se deriven de xsd:string.
- Limitaciones de espacio en blanco
- Una limitación de espacio en blanco especifica cómo debe tratar un analizador el
espacio en blanco para todos los elementos basados en el tipo simple.
Nota: Para el dominio MRM,
los formatos físicos
MRM permiten controlar de forma muy precisa el espacio en blanco para cada formato
físico definido para el mensaje, pero estas propiedades físicas son independientes
de la limitación de espacio en blanco del modelo lógico.