Limitación de valor

La Limitación de valor refina un tipo simple definiendo los límites de los valores que puede representar.

Suele resultar útil poder limitar los valores que puede tomar un elemento, tal vez para asegurarse de que los mensajes se ajustan a las normas empresariales. En este tema se describe cómo se pueden añadir limitaciones de valores a un tipo simple para limitar los valores de todos los elementos basados en el mismo.

La mayor parte de las limitaciones de valores que se describen aquí están relacionadas con las facetas del esquema XML y están asociadas a un tipo simple. No obstante, se pueden definir los valores por omisión y los valores fijos para un elemento y estos se asocian con el elemento propiamente dicho.

Consejo: Si se despliega el conjunto de mensajes en WebSphere Business Integration Message Broker, se pueden validar todas las limitaciones de valores, de modo que se pueda informar acerca de cualquier violación como errores o avisos.

Tipos de limitación de valor

Valor por omisión
Si hay un elemento vacío presente en un mensaje de entrada, se le asignará el valor por omisión. Si falta totalmente un elemento de un mensaje de entrada no se le asignará ningún valor.

Si falta un atributo de un mensaje de entrada, se le asignará el valor por omisión.

Tenga en cuenta que las limitaciones de valores por omisión están asociadas al elemento y, por lo tanto, no se pueden heredar.

Nota: Si despliega un conjunto de mensajes en WebSphere Business Integration Message Broker, el comportamiento descrito anteriormente no siempre se aplicará. Para obtener información detallada acerca de las diferencias, consulte el tema Relación con el modelo lógico para obtener el formato físico adecuado.
Valor fijo
Si aparece un elemento en un mensaje de entrada, su valor debe ser el valor fijo especificado. Si hay un elemento vacío presente en un mensaje de entrada, se le asignará un valor fijo. Si falta totalmente un elemento de un mensaje de entrada, se le asignará el valor fijo.

Si hay un atributo en un mensaje de entrada, debe tener el valor fijo. Si falta un atributo de un mensaje de entrada, se le asignará el valor fijo.

Las limitaciones de valores fijos se asocian con el propio elemento y, por lo tanto, no se pueden heredar.

Nota: Si despliega un conjunto de mensajes en WebSphere Business Integration Message Broker, el comportamiento descrito anteriormente no siempre se aplicará. Para obtener información detallada acerca de las diferencias, consulte el tema Relación con el modelo lógico para obtener el formato físico adecuado.
Limitaciones de longitud: Longitud, Longitud mínima, Longitud máxima
Utilizando las limitaciones de longitud, la longitud de todos los elementos basados en el tipo simple se pueden limitar o restringir a un valor individual.

Las limitaciones de longitud se pueden aplicar a tipos simples derivados de xsd:hexBinary, xsd:base64Binary o xsd:string (incluidos los tipos de esquemas incorporados como, por ejemplo, xsd:normalisedString).

Las limitaciones de longitud se heredan de los tipos antecesores y cualquier limitación de longitud definida para un tipo simple no debe relajar las limitaciones impuesta por cualquiera de sus tipos antecesores. Por ejemplo, no se permite derivar un tipo 'longString' (Longitud máxima=100) de un tipo 'shortString' (Longitud máxima=10).

Nota: Por omisión, en WebSphere Business Integration Message Broker las limitaciones del valor de Longitud se convierten a las limitaciones de Longitud máxima cuando se añade un conjunto de mensajes a un archivo BAR. Esto evita que se generen errores de validación de WebSphere Business Integration Message Broker improcedentes para las estructuras de datos de longitud fija, en las que las series suelen rellenarse para ajustarlas a un campo de anchura fija. Si se necesita la validación de longitud estricta, se puede modificar este valor por omisión en las propiedades del conjunto de mensajes modificando el distintivo >Tratar la faceta Longitud como de Longitud máxima.
Limitaciones de rango: Mín inclusive, Máx inclusive, Mín exclusive, Máx exclusive
Las limitaciones de rango especifican el rango de valores permitido para todos los elementos basados en el tipo simple. Las limitaciones inclusive incluyen los puntos finales especificados en el rango permitido, mientras que las limitaciones exclusive no. Las limitaciones de rango se pueden aplicar a los tipos simple que son numéricos o que están relacionados con valores de fecha y hora. No se pueden aplicar a las series de caracteres porque el orden de los valores de las series dependen del juego de caracteres que se está utilizando.

Las limitaciones de rango se heredan de los tipos antecesores y cualquier limitación de rango definida para un tipo simple no debe relajar las limitaciones impuesta por cualquiera de sus tipos antecesores. Por ejemplo, no se permite derivar un tipo 'largeNumber' (Máx inclusive=100) de un tipo 'smallNumber' (Máx inclusive=10).

El modelo de mensaje no permite aplicar las limitaciones exclusive a los tipos que no son integrales (flotante, decimal, doble, fecha y hora, etc.).

Limitaciones de enumeración
Una limitación de enumeración especifica un valor permitido individual 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 antecesores y cualquier limitación de enumeración definida para un tipo simple no debe relajar las limitaciones impuesta por cualquiera de sus tipos antecesores. Por ejemplo, no se permite derivar un tipo 'AllColours' (con enumeraciones para todos los colores del arco iris) de un tipo 'MonoColours' (con enumeraciones sólo para negro y blanco).

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) de todos los elementos basados en el tipo simple. Las limitaciones de precisión solamente se pueden aplicar a los tipos simples que se derivan de xsd:decimal.

Las limitaciones de precisión se heredan de los tipos antecesores y cualquier limitación de precisión definida para un tipo simple no debe relajar las limitaciones impuesta por cualquiera de sus tipos antecesores. Por ejemplo, no está permitido derivar un tipo 'veryPrecise' (Dígitos de fracción=10) 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, lo que permite expresar normas de validación complejas en partes separadas lógicamente. Cada limitación de patrón de un tipo simple contribuye al conjunto de valores permitidos para los elementos basados en la misma. En otras palabras, todos los patrones se combinan utilizando el valor booleano OR.

Al igual que con todas las limitaciones de valores, un tipo simple puede heredar las limitaciones de patrón del tipo simple en el que está basado. En este caso, el conjunto de limitaciones de patrón al que contribuye cada tipo de antecesor, se debe satisfacer del mismo modo que el conjunto al que contribuye el propio 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 solamente se pueden aplicar a los tipos simples que se derivan de xsd:string.

Limitaciones de espacio en blanco
Una limitación de espacio en blanco especifica cómo debe tratar el analizar un espacio en blanco para todos los elementos basados en el tipo simple.
Nota: En WebSphere Business Integration Message Broker, los formatos físicos MRM permiten controlar los espacios en blanco de forma muy precisa para cada formato físico definido para el mensaje pero estas propiedades físicas son distintas de la limitación de espacio en blanco del modelo lógico.

Conceptos relacionados
Conceptos de diseño de mensajes
Objetos de modelo de mensaje
Tipos complejos
Herencia de tipo
Formatos físicos del dominio MRM
Formato físico personalizado - Relación con el modelo lógico
Formato físico XML - Relación con el modelo lógico
Formato de serie de caracteres codificado/delimitado - Relación con el modelo lógico