Especificando Métodos de Separação de Elementos de Dados para Modelar uma Mensagem

Os elementos de dados em uma mensagem TDS são identificados de acordo com o método de separação de elementos de dados que devem ser especificados para a propriedade Separação de Elementos de Dados para um tipo complexo. Dependendo do valor definido para Separação de Elementos de Dados, as propriedades Separador de Dados de Tag e Delimitador (para um conjunto de mensagens e um tipo complexo) também podem ser requeridas para identificar cada elemento.

Os métodos que podem ser especificados para cada tipo complexo estão descritos abaixo. Todos os exemplos especificados são baseados em um tipo complexo, que contém três elementos de tipo STRING. O Separador de Dados de Tag, quando utilizado, são dois pontos (:) e o Delimitador, quando utilizado, é o asterisco (*).

Delimitado Marcado
Cada valor de dados é precedido por uma tag que é especificada como uma propriedade de elemento. Se a tag tiver um Comprimento de Tag associado, indicando que a tag possui um comprimento fixo, cada valor e dados seguirá imediatamente após a tag. Se a tag não for especificada como um comprimento fixo, ela será separada do próximo elemento por um Separador de Dados de Tag. Cada valor de dados é separado do próximo por um Delimitador. Não existe nenhum Delimitador após o último elemento no tipo complexo.

O exemplo a seguir mostra marcações de comprimento fixo:

 tag1data1*tag2data2*tag3data3

O exemplo a seguir mostra marcações de comprimento variável:

 
tag1:data1*tag11:data2*tag111:data3
Comprimento Fixo Marcado
Este método é semelhante ao Delimitado Marcado, mas os valores de dados têm sempre comprimento fixo. Portanto, não é requerido nenhum delimitador após cada valor de dados. As próprias marcações podem ter comprimento fixo ou variável, dependendo da definição de Separação de Dados de Tag e Comprimento de Tag.

O exemplo a seguir mostra marcações de comprimento fixo:

tag1data1tag2data2tag3data3

O exemplo a seguir mostra marcações de comprimento variável:

tag1:data1tag11:data2tag111:data3
Comprimento Codificado Marcado
Este método possui uma tag e um campo de comprimento antes dos dados. Ele indica ao analisador que após cada tag no fluxo de bits existem dados que definem o comprimento de dados a serem associados a essa tag. Você deve definir o parâmetro Comprimento de Comprimento Codificado. Se o valor em Comprimento de Comprimento Codificado incluir caracteres extras, também será necessário definir o parâmetro Caracteres Extras em Comprimento Codificado.

O exemplo a seguir mostra uma tag de comprimento fixo de quatro caracteres (Comprimento de Tag foi definido como quatro), um campo com comprimento de três caracteres (Comprimento de Comprimento Codificado foi definido como três) e vários caracteres de dados.Caracteres Extras em Comprimento Codificado foi definido como zero:

tagA007dataAAAtagB006dataBBtagC009dataCCCCC
Especificado o fluxo de bits acima, o analisador localiza a tag "tagA" e extrai o valor de comprimento 7. Como Caracteres Extras no Comprimento Codificado está definido como zero, os próximos sete caracteres (7 - 0) serão os dados. Siga então os caracteres para a próxima tag "tagB" e o valor de comprimento de 6, e assim por diante para a tag "tagC". Em cada caso neste exemplo, o valor no campo de comprimento é exatamente o comprimento de dados.

O exemplo a seguir mostra marcações com um comprimento fixo de quatro caracteres (Comprimento de Tag foi definido como quatro), um campo de comprimento de três caracteres (Comprimento de Comprimento Codificado foi definido como três) e vários caracteres de dados. Caracteres Extras em Comprimento Codificado foi definido como três (porque neste exemplo, o valor de campo de comprimento inclui o campo de comprimento de três caracteres, além do campo de dados):

tagA012dataAAAAAtagB010dataBBBtagC016dataCCCCCCCCC
Especificado o fluxo de bits acima, após "tagA", o analisador extrai o valor de comprimento 12. Mas, como Caracteres Extras em Comprimento Codificado está definido como três, apenas os próximos nove caracteres (12 - 3) serão os dados. Siga então os caracteres para "tagB" e o valor de comprimento 10, etc. Em cada caso neste exemplo, o valor no campo de comprimento é três vezes maior que o comprimento de dados real.
Todos os Elementos Delimitados
Os valores de dados não possuem tag, mas cada um deles é separado do próximo por um delimitador.

O exemplo a seguir mostra isso:

data1*data2*data3
Elementos Variáveis de Comprimento Delimitados
Se um elemento de dados tiver comprimento fixo, o próximo valor de dados aparecerá imediatamente após ele. Se o elemento de dados tiver comprimento variável, o próximo valor de dados será separado dele pelo delimitador. Não existem marcações.

O exemplo a seguir mostra o elemento 2 como comprimento fixo e os elementos 1 e 3 como comprimento variável:

data1*data2data3
Utilizar Padrão de Dados
Os dados associados a cada elemento são determinados pelo analisador que corresponde os dados à expressão regular na propriedade Padrão de Dados para esse elemento. O analisador TDS utiliza a expressão regular no Padrão de Dados para:
  • Determinar o comprimento de dados a serem associados a cada elemento.
  • Determinar se, em caso de um elemento de repetição, outra ocorrência de um elemento está presente no fluxo de bits.
  • Determinar a presença (se o padrão for correspondente) ou ausência (se o padrão não for correspondente) de um elemento no fluxo de bits.
Não existem delimitadores ou marcações diferentes dos codificados como parte dos padrões da expressão regular. Consulte Sintaxe de Expressão Regular para obter uma explicação de como funciona a correspondência de padrões.
O exemplo a seguir mostra três elementos, cada um tendo a expressão regular Padrão de Dados mostrada:
Primeiro Padrão de Dados = [A-Z]{1,3}
Segundo Padrão de Dados = [0-9]+
Terceiro Padrão de Dados = [a-z]*

Dados da mensagem = 'DT31758934information for you'

Dados do primeiro elemento: 'DT'
Dados do segundo elemento: '31758934'
Dados do terceiro elemento: 'information'
O primeiro Padrão de Dados significa "de um a três caracteres no intervalo de A a Z", o segundo significa "um ou mais caracteres no intervalo de 0 a 9" e o terceiro significa "zero ou mais caracteres no intervalo de a a z". Observe como os dados de cada elemento foram finalizados pelo primeiro caractere que não correspondia ao Padrão de Dados do elemento.
Comprimento Fixo
Todos os elementos têm comprimento fixo e cada valor de dados aparece imediatamente após o próximo sem delimitador. Não existem marcações.

O exemplo a seguir mostra isso:

data1data2data3
Comprimento Fixo AL3
Este método é igual ao Comprimento Fixo, mas também notifica o analisador para implementar várias regras em relação a elementos ausentes, codificação de comprimento e criação de versões que são predefinidos no padrão ACORD AL3.
Indefinido
Este valor é definido automaticamente quando você define a propriedade Composição de Tipo de um tipo complexo como Mensagem e não é possível defini-la como nenhum outro valor. Também não é possível definir valores para as propriedades de Tipo TDS Indicador de Grupo, Terminador de Grupo, Separador de Dados de Tag, Comprimento de Tag e Delimitador.

Se você configurar o método Separação de Elemento de Dados como Indefinido, não deverá configurar a propriedade Composição de Tipo como Vazio, Opção, Conjunto Não Ordenado, Conjunto Ordenado, Seqüência ou Conjunto Não Ordenado Simples.

Para obter informações adicionais sobre Composição de Tipo definida como Mensagem, consulte Mensagens de Várias Partes.

Conceitos relacionados
Modelagem de Mensagens
O Modelo de Mensagem
Mensagens de Várias Partes
Formato TDS: Relacionamento com o Modelo Lógico
Tarefas relacionadas
Desenvolvendo Modelos de Mensagens
Trabalhando com Objetos de Modelo de Mensagem
Referências relacionadas
Informações de Referência do Modelo de Mensagens
Propriedades do Objeto de Modelo de Mensagem
Informações adicionais do domínio MRM
Informações Adicionais sobre TDS
Características de Mensagens
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ad09830_