Objetos de modelo de mensaje: limitaciones de valor de tipo simple

Las limitaciones de valor refinan un tipo simple definiendo límites en los valores que éste puede representar.

Normalmente es útil poder limitar los valores que un elemento puede tomar, quizá para asegurar que los mensajes se ajusten a las normas de empresa. Este tema describe cómo se pueden añadir limitaciones de valor a un tipo simple con el fin de limitar los valores de todos los elementos basados en el tipo simple.

Las limitaciones de valor descritas aquí se modelan mediante facetas del esquema XML y están asociadas con un tipo simple.

Consejo: Si se despliega el conjunto de mensajes en WebSphere Message Broker, todas las limitaciones de valor se pueden validar, de modo que las violaciones se indicarán como errores o avisos.

Tipos de limitación de valor

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.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:54:28

ad10470_