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 negocio. 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 él.

La mayoría de las limitaciones de valor descritas aquí se modelan mediante facetas de esquema XML y están asociadas con un tipo simple. Sin embargo, se pueden definir valores por omisión y valores fijos para un elemento y éstos están asociados con el propio elemento.

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

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

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

Tenga en cuenta que las limitaciones de valor por omisión están asociadas con el propio elemento y, por consiguiente, no se pueden heredar.

Nota: Si despliega un conjunto de mensajes en WebSphere Message Broker, el comportamiento descrito más arriba no siempre se aplicará. Encontrará información detallada de las diferencias en el tema Relación con el modelo lógico correspondiente al formato físico apropiado.
Valor fijo
Si un elemento aparece en un mensaje de entrada, su valor debe ser el valor fijo especificado. Si existe un elemento vacío en un mensaje de entrada, se le asignará el valor fijo. Si un elemento está totalmente ausente en un mensaje de entrada, se le asignará el valor fijo.

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

Las limitaciones de valor fijo están asociadas con el propio elemento y, por consiguiente, no se pueden heredar.

Nota: Si despliega un conjunto de mensajes en WebSphere Message Broker, el comportamiento descrito más arriba no siempre se aplicará. Encontrará información detallada de las diferencias en el tema Relación con el modelo lógico correspondiente al formato físico apropiado.
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, no estará permitido derivar un tipo 'longString' (Longitud máx.=100) de un tipo 'shortString' (Longitud máx.=10).

Nota: Por omisión, para WebSphere Message Broker, 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 por omisión 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 esté utilizando.

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, no estará permitido derivar un tipo 'largeNumber' (InclusivaMáx=100) 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, no estará permitido derivar un tipo 'AllColours' (con enumeraciones para todos los colores del arco iris) de un tipo 'MonoColours' (con enumeraciones sólo para 'blanco' y 'negro').

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. Las limitaciones de precisión sólo se pueden aplicar a los tipos simples que se derivan de xsd:decimal.

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, no estará 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, permitiendo que se expresen normas de validación complejas en partes separadas de forma lógica. Cada limitación de patrón en un tipo simple contribuye en el conjunto de valores permitidos para los elementos basados en él. En otras palabras, todos los patrones se combinan utilizando el OR booleano.

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 en el que ha contribuido cada tipo ascendiente así como el conjunto en el que ha contribuido el propio tipo. En otras palabras, los conjuntos de limitaciones de patrón de cada nivel de la jerarquía de tipos se combinan utilizando el AND booleano.

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 WebSphere Message Broker, 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, 2006 Última actualización: 22/08/2006
ad10470_