Especificación de métodos de separación de elementos de datos para diseñar un mensaje

Los elementos de datos de un mensaje TDS se identifican según el método de separación de los elementos de datos que debe especificar para la propiedad Separación de elemento de datos para un tipo complejo. Según el valor que haya establecido para Separación de elemento de datos, es posible que también se necesiten las propiedades Separador de datos de código y Delimitador (para un conjunto de mensajes y un tipo complejo) para identificar cada uno de los elementos.

A continuación, se describen los métodos que puede especificar para cada tipo complejo. Los ejemplos que se proporcionan están todos basados en un tipo complejo que contiene tres elementos de tipo STRING. La Separador de datos de código, donde se utiliza, es el signo de dos puntos (:) y el Delimitador, donde 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 un valor de Longitud del código, que indica que el código tiene una longitud fija, cada valor de datos sigue inmediatamente al código. Si no se especifica el código como de 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 los códigos de longitud fija:

 tag1data1*tag2data2*tag3data3

El ejemplo siguiente muestra los códigos de longitud variable:

 tag1:data1*tag11:data2*tag111:data3
Longitud fija codificada
Este método es similar a Codificado delimitado pero los valores de datos son siempre de longitud fija. Por lo tanto, no se necesita un delimitador después de cada valor de datos. Los códigos propiamente dichos pueden ser de longitud fija o de longitud variable, dependiendo del valor de Separador de datos de código y Longitud del código.

El ejemplo siguiente muestra los códigos de longitud fija:

tag1data1tag2data2tag3data3

El ejemplo siguiente muestra los códigos de longitud variable:

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

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

tagA007dataAAAtagB006dataBBtagC009dataCCCCC
Dada la corriente de bits anterior, el analizador encuentra el código "tagA" y extrae el valor de longitud 7. Porque el valor de Caracteres adicionales en longitud codificada se ha establecido en cero, los siguientes siete caracteres (7 - 0) son datos. A continuación, siga los caracteres del código siguiente "tagB" y el valor de longitud de 6, y así sucesivamente, para el código "tagC". 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 de longitud fija de cuatro caracteres (el valor de Longitud del código se ha establecido en cuatro), un campo de longitud de tres caracteres (el valor de Longitud de longitud codificada se ha establecido en tres) y varios caracteres de datos. El valor de Caracteres adicionales en longitud codificada se ha establecido en tres (porque en este ejemplo el valor del campo de longitud incluye el campo de longitud de tres caracteres al igual que el campo de datos).

tagA012dataAAAAAtagB010dataBBBtagC016dataCCCCCCCCC
Dada la corriente de bits anterior, después de "tagA" el analizador extrae el valor de longitud 12. Pero dado que sCaracteres adicionales en longitud codificada se ha establecido en tres, solamente los siguientes nueve caracteres (12 - 3) son datos. A continuación, los caracteres para "tagB" 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 el valor real de longitud de los datos.
Todos los elementos codificados
Los valores de datos no tienen código, pero cada valor de datos está separado del siguiente por un delimitador.

El ejemplo siguiente lo muestra:

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

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

data1*data2data3
Utilizar patrón de datos
El analizador determina los datos asociados a cada elemento comparando los datos 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 que se han de asociar a cada elemento.
  • Determinar si, en el caso de un elemento repetitivo, existe otra aparición de un elemento en la corriente de bits.
  • Determinar la presencia (si el patrón debe coincidir) o la ausencia (si el patrón no debe coincidir) de un elemento de la corriente de bits.
No hay delimitadores o códigos que no sean los codificados como parte de los patrones de expresiones regulares. Consulte Sintaxis de las expresiones regulares para obtener una descripción de las comparaciones de patrones.
El ejemplo siguiente muestra tres elementos, cada uno de los cuales tiene 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 del mensaje = 'DT31758934information for you'

Primer elemento de datos: 'DT'
Segundo elemento de datos: '31758934'
Tercer elemento de datos: 'information'
El primer Patrón de datos significa "de uno a tres caracteres en el rango de la A a la 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 la a a la z". Observe que los datos de cada elemento se han finalizado mediante el primer carácter que no coincidía con el Patrón de datos del elemento.
Longitud fija
Todos los elementos tienen longitud fija y cada valor de datos sigue inmediatamente al siguiente sin ningún delimitador. No hay códigos.

El ejemplo siguiente lo muestra:

data1data2data3
Longitud fija AL3
Este método es el mismo que el de Longitud fija, pero también notifica al analizador que ha de implementar varias normas relacionadas con elementos que faltan, la codificación de longitud y las versiones que están definidas previamente en el estándar ACORD AL3.
Indefinido
Este valor se establece automáticamente cuando se establece la propiedad Composición de tipo de un tipo complejo en Mensaje, y no puede establecerla en ningún otro valor. Tampoco puede establecer valores para las propiedades de Tipo TDS Indicador de grupo, Terminador de grupo, Separador de datos de código, Longitud del código y Delimitador.

Si establece el método Separación de elementos de datos en Indefinido, no debe establecer la propiedad Composición de tipo en Vacío, Opción, Conjunto desordenado, Conjunto ordenado, Secuencia o Conjunto simple desordenado. Si lo hace, no podrá incorporar el tipo.

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

Conceptos relacionados
Diseño de mensajes
El modelo de mensaje

Tareas relacionadas
Desarrollo de modelos de mensajes
Trabajo con los objetos del modelo de mensajes

Referencia relacionada
Información de referencia del modelo de mensaje
Propiedades del objeto del modelo de mensaje
Información adicional del dominio MRM
Información TDS adicional
Características del mensaje