Especificación de métodos de separación de elementos de datos para modelar un mensaje

Los elementos de datos de un mensaje TDS se identifican de acuerdo con el método de separación de elementos de datos que se debe especificar para la propiedad Separación de elementos de datos para un tipo complejo. En función del valor que haya establecido para Separación de elementos de datos, es posible que las propiedades Separador de datos de código y Delimitador (para un conjunto de mensajes y un tipo complejo) también sean necesarias para identificar cada elemento.

Los métodos que puede especificar para cada tipo complejo se describen más abajo. Todos los ejemplos proporcionados se basan en un tipo complejo que contiene tres elementos de tipo STRING. El Separador de datos de código, cuando se utiliza, es los dos puntos (:) y el Delimitador, cuando se utiliza, es el asterisco (*).

Codificado delimitado
Cada valor de datos va precedido de un código que se especifica como una propiedad de elemento. Si el código tiene asociada una Longitud de código, que indica que el código tiene una longitud fija, cada valor de datos sigue inmediatamente al código. Si el código no se especifica como longitud fija, se separa el código del elemento siguiente mediante un Separador de datos de código. Cada valor de datos se separa del siguiente mediante un Delimitador. No hay ningún Delimitador después del último elemento del tipo complejo.

El ejemplo siguiente muestra códigos de longitud fija:

 tag1data1*tag2data2*tag3data3

El ejemplo siguiente muestra códigos de longitud variable:

 tag1:data1*tag11:data2*tag111:data3
Longitud fija codificada
Este método es similar al Codificado delimitado, pero los valores de datos son siempre de longitud fija. Por consiguiente, no es necesario ningún delimitador después de cada valor de datos. Los propios códigos pueden tener una longitud fija o una longitud variable, en función del valor de Separador de datos de código y Longitud del código.

El ejemplo siguiente muestra códigos de longitud fija:

tag1data1tag2data2tag3data3

El ejemplo siguiente muestra códigos de longitud variable:

tag1:data1tag11:data2tag111:data3
Longitud codificada
Este método tiene un código y un campo de longitud antes de los datos. Indica al analizador que a continuación de cada código de la corriente de bits hay datos que definen la longitud de datos que se debe asociar con dicho código. Debe establecer el parámetro Longitud de longitud codificada. Si el valor de Longitud de longitud codificada incluye caracteres adicionales, también deberá establecer el parámetro Caracteres adicionales en longitud codificada.

El ejemplo siguiente muestra un código de longitud fija de cuatro caracteres (Longitud del código se ha establecido en cuatro), un campo de longitud de tres caracteres (Longitud de longitud codificada se ha establecido en tres) y varios caracteres de datos. Caracteres adicionales en longitud codificada se ha establecido en cero:

códigoA007datosAAAcódigoB006datosBBcódigoC009datosCCCCC
En la corriente de bits anterior, el analizador encuentra el código "códigoA" y extrae el valor de longitud 7. Dado que Caracteres adicionales en longitud codificada está establecido en cero, los siete (7 - 0) caracteres siguientes son los datos. A continuación, siguen los caracteres para el siguiente código "códigoB" y el valor de longitud de 6 y así sucesivamente para el código "códigoC". En cada caso de este ejemplo, el valor del campo de longitud es exactamente la longitud de los datos.

El ejemplo siguiente muestra códigos con una longitud fija de cuatro caracteres (Longitud del código se ha establecido en cuatro), un campo de longitud de tres caracteres (Longitud de longitud codificada se ha establecido en tres) y varios caracteres de datos. Caracteres adicionales en longitud codificada se ha establecido en tres (porque en este ejemplo el valor de campo de longitud incluye el campo de longitud de tres caracteres así como el campo de datos):

códigoA012datosAAAAAcódigoB010datosBBBcódigoC016datosCCCCCCCCC
En la corriente de bits anterior, después de "códigoA" el analizador extrae el valor de longitud 12. Pero dado que Caracteres adicionales en longitud codificada se ha establecido en tres, sólo los nueve (12 - 3) caracteres siguientes son los datos. A continuación, siguen los caracteres para "códigoB" y el valor de longitud 10 y así sucesivamente. En cada caso de este ejemplo, el valor del campo de longitud es tres más que la longitud real de los datos.
Todos los elementos delimitados
Los valores de datos no tienen ningún código, pero cada valor de datos se separa del siguiente mediante un delimitador.

Esto se muestra en el ejemplo siguiente:

data1*data2*data3
Elementos de longitud variable delimitados
Si un elemento de datos es de longitud fija, el siguiente valor de datos va inmediatamente después de él. Si el elemento de datos es de longitud fija, el siguiente valor de datos se separa de él mediante un delimitador. No hay códigos.

El ejemplo siguiente muestra el elemento 2 de longitud fija y los elementos 1 y 3 de longitud variable:

data1*data2data3
Utilizar patrón de datos
El analizador determina los datos asociados con cada elemento comparándolos con la expresión regular de la propiedad Patrón de datos de dicho elemento. El analizador TDS utiliza la expresión regular del Patrón de datos para:
  • Determinar la longitud de los datos a asociar con cada elemento.
  • Determinar, en el caso de un elemento de repetición, si existe otra aparición del elemento en la corriente de bits.
  • Determinar la presencia (si el patrón coincide) o la ausencia (si el patrón no coincide) de un elemento en la corriente de bits.
No hay delimitadores ni códigos que no sean los codificados como parte de los patrones de expresión regular. Consulte el apartado Sintaxis de expresiones regulares para obtener una explicación de cómo funciona la comparación de patrones.
El ejemplo siguiente muestra tres elementos, cada uno de los cuales contiene la expresión regular Patrón de datos:
Primer patrón de datos = [A-Z]{1,3}
Segundo patrón de datos = [0-9]+
Tercer patrón de datos = [a-z]*

Datos de mensaje = 'DT31758934información para el usuario'

Datos del primer elemento: 'DT'
Datos del segundo elemento: '31758934'
Datos del tercer elemento: 'información'
El primer Patrón de datos significa "de uno a tres caracteres en el rango de A a Z", el segundo significa "uno o más caracteres en el rango de 0 a 9" y el tercero significa "cero o más caracteres en el rango de a a z". Observe que los datos de cada elemento los termina el primer carácter que no coincide con el Patrón de datos del elemento.
Longitud fija
Todos los elementos son de longitud fija y cada valor de datos sigue inmediatamente al siguiente sin ningún delimitador. No hay códigos.

Esto se muestra en el ejemplo siguiente:

data1data2data3
Longitud fija AL3
Este método es igual que Longitud fija, pero también indica al analizador que implemente varias normas en relación a los elementos que faltan, a la codificación de la longitud y a las versiones predefinidas en el estándar ACORD AL3.
Indefinido
Este valor se establece automáticamente al establecer la propiedad Composición de tipo de un tipo complejo en Mensaje y no se puede establecer ningún otro valor. Tampoco se pueden establecer valores para las propiedades de Tipo TDS Indicador de grupo, Terminador de datos, Separador de datos de código, Longitud del código y Delimitador.

Si establece el método Separación de elementos de datos en No definida, no debe establecer la propiedad Composición de tipo en Vacío, Elección, Conjunto no ordenado, Conjunto ordenado, Secuencia o Conjunto no ordenado simple.

Para obtener más información sobre la Composición de tipo establecida en Mensaje, consulte Mensajes de varias partes.

Conceptos relacionados
Modelado de mensajes
El modelo de mensaje
Mensajes de varias partes
Formato TDS: Relación con el modelo lógico
Tareas relacionadas
Desarrollo de modelos de mensaje
Cómo trabajar con objetos de modelo de mensaje
Referencia relacionada
Información de referencia de modelo de mensaje
Propiedades de objeto de modelo de mensaje
Información adicional de dominio MRM
Información adicional de TDS
Características de mensaje
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad09830_