Formato TDS: Relación con el modelo lógico

Existen algunas limitaciones entre los tipos de separación TDS y las propiedades de modelo lógico como, por ejemplo, la validación de composición de grupo y contenido de grupo. En el apartado Limitaciones para anidar tipos complejos, se explican las normas que controlan estas opciones.

Estas normas existen para asegurar la integridad del mensaje. Una combinación de tipo de separación y validación de composición de grupo o contenido de grupo no debe producir un mensaje que no sea claro para un analizador TDS.

Valores por omisión

En TDS, sólo los elementos de longitud fija adoptan los valores por omisión:

Tipo de separación Uso de valores por omisión

Codificado delimitado
Longitud fija codificada
Longitud codificada
Todos los elementos delimitados
Patrón de datos

Los valores por omisión no se adoptan nunca.

Longitud fija
Longitud fija AL3

Todos los elementos adoptan los valores por omisión en la salida. Un elemento ausente que no tenga definido ningún valor por omisión producirá un error en la escritura.
Elementos de longitud variable delimitados Sólo los elementos de longitud fija adoptan los valores por omisión en la salida. Los valores de longitud fija ausentes deben tener un valor por omisión disponible para ellos. Un elemento ausente que no tenga definido ningún valor por omisión producirá un error en la escritura.

Tipos simples - listas y uniones

Las listas y uniones son conceptos específicos del XML. Un elemento o atributo de un tipo simple que sea una lista o una unión hará que aparezca un aviso en la lista de tareas si hay un formato físico TDS en el conjunto de mensajes. El usuario puede convertirlo en un error, un aviso o en información editando las preferencias de validación. Si un diccionario se genera a partir de un conjunto de mensajes y se intenta analizar un mensaje TDS definido para contener estos elementos o atributos, se producirá un error de tiempo de ejecución.

Mín apariciones y Máx apariciones

Las propiedades lógicas Mín apariciones y Máx apariciones especifican el número permitido de apariciones de un elemento o grupo de un mensaje. Se utilizan cuando se analizan y graban mensajes y cuando se valida el contenido de un mensaje.

Durante el análisis y la escritura, la interpretación exacta de estas propiedades depende de la propiedad Separación de elementos de datos del tipo complejo padre o del grupo como se muestra en la tabla siguiente.

Durante la validación, se utilizan tanto Mín apariciones como Máx apariciones para comprobar que el contenido del árbol de mensaje coincide con el modelo.

Tipo de separación Interpretación de Mín apariciones y Máx apariciones

Codificado delimitado
Longitud fija codificada
Longitud codificada

En la práctica, durante el análisis y la grabación se ignoran Mín apariciones y Máx apariciones. Durante el análisis, el número de apariciones se identifica mediante códigos en el mensaje. Durante la escritura, el transcriptor genera una salida con todas las apariciones del árbol de mensaje.
  • Se permite un número de apariciones variable (Mín apariciones <> Máx apariciones).
  • Se permite la aparición opcional (Mín apariciones = 0).
  • Se permite que siempre esté ausente (Máx apariciones = 0).
  • Se permite un número de apariciones sin límite (Máx apariciones = -1).
Todos los elementos delimitados Máx apariciones sólo se utiliza durante el análisis y la escritura, junto con la propiedad Delimitador de elemento de repetición y la propiedad Suprimir delimitadores de elementos ausentes.

Se permite un número de apariciones variable (Mín apariciones <> Máx apariciones) si Suprimir delimitadores de elementos ausentes se establece en Fin de tipo.

  • Si el Delimitador es distinto de Delimitador de elemento de repetición, entonces el Delimitador marcará el fin de las apariciones.
  • Si el Delimitador es el mismo que el Delimitador de elemento de repetición, entonces una repetición vacía significa el fin de las apariciones.
  • En ambos casos, Máx apariciones es el número máximo de repeticiones previsto.

Si Suprimir delimitadores de elementos ausentes es Nunca, entonces se esperan todas las apariciones durante el análisis y en la salida, aunque el análisis aceptará elementos que estén ausentes.

Se ignora la aparición opcional (Mín apariciones = 0) y se continúa esperando un delimitador durante el análisis y en la salida de grabación.

Se permite que siempre esté ausente (Máx apariciones = 0). No se espera ningún delimitador durante el análisis ni en la salida durante la grabación.

Se permite un número de apariciones sin límite (Máx apariciones = -1) únicamente si el Delimitador de elemento de repetición es diferente del Delimitador. Las repeticiones deben estar terminadas por el delimitador, un Terminador de grupo o Delimitador del grupo que las contiene o por el fin de la corriente de bits del mensaje. Durante la escritura, el transcriptor genera una salida con todas las apariciones del árbol de mensaje.

Longitud fija
Longitud fija AL3

Max apariciones sólo se utiliza durante el análisis y escritura. En general, se espera el valor de Máx apariciones durante el análisis y cuando se utilizan valores por omisión para los elementos que faltan durante la grabación la salida es el número de apariciones correspondiente a Máx apariciones.

Se ignora un número de apariciones variable (Mín apariciones <> Máx apariciones), se presupone Máx apariciones.

Se ignora la aparición opcional (Mín apariciones = 0), se presupone Máx apariciones.

Se permite que siempre esté ausente (Máx apariciones = 0).

Sólo longitud fija Se permite un número sin límite de apariciones (Máx apariciones = -1) si el elemento o grupo es el último hijo del grupo padre y el grupo termina con un Terminador de grupo o un Terminador de grupo del grupo que lo contiene o un Delimitador , o con en el fin de la corriente de bits del mensaje. Durante la escritura, el transcriptor genera una salida con todas las apariciones del árbol de mensaje y si este número es inferior al valor de Mín apariciones se escriben valores por omisión adicionales.

Elementos de longitud variable delimitados Para los elementos simples de longitud fija, se siguen las normas para la separación de Longitud fija anterior pero con las dos diferencias siguientes:
  1. Se permite un número de apariciones variable (Mín apariciones <> Máx apariciones); el final de las apariciones indicado por un delimitador adicional.
  2. Se permite un número de apariciones sin límite (Máx apariciones = -1); el final de las apariciones indicado por un delimitador adicional. Durante la escritura, el transcriptor genera una salida con todas las apariciones en el árbol de mensaje seguidas de un delimitador adicional.

Para los elementos simples de longitud variable, todos los elementos y grupos complejos, se siguen las normas para Todos los elementos delimitados.

Patrón de datos En la práctica, durante el análisis y la grabación se ignoran Mín apariciones y Máx apariciones. Durante el análisis, se busca la coincidencia con el patrón todas las veces posibles. Durante la escritura, el transcriptor genera una salida con todas las apariciones del árbol de mensaje. Tenga en cuenta que durante el análisis, si el patrón de datos permite una coincidencia de longitud cero y se da una coincidencia de longitud cero, se añade un elemento al árbol de mensaje y la coincidencia termina para impedir que se produzca un bucle infinito.

Se permite un número de apariciones variable (Mín apariciones <> Máx apariciones).

Se permite la aparición opcional (Mín apariciones = 0). Se permite que siempre esté ausente (Máx apariciones = 0).

Se permite un número de apariciones sin límite (Máx apariciones = -1).

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad10510_