Existem algumas restrições em relação ao modelo lógico para mensagens definidas utilizando o CWF.
Uma mensagem CWF é sempre gravada com os elementos na seqüência especificada na definição de modelo de mensagem lógica. No entanto, você nem sempre precisa especificar o ESQL ou Java que constrói elementos nessa seqüência. As seguintes regras para codificação de ESQL são especificadas para cada valor da propriedade Composição de tipo.
Se os elementos ou tipos tiverem valores padrão e você não construir a mensagem na seqüência correta, esses elementos construídos fora de seqüência conterão seus valores padrão, não os valores configurados. Isto ocorre porque os elementos construídos fora de seqüência são assumidos como de autodefinição e, para CWF, eles são descartados quando a mensagem é gravada no fluxo de bits.
Se os elementos tiverem valores padrão e você não construir a mensagem na seqüência correta, esses elementos construídos fora de seqüência conterão seus valores padrão, não os valores configurados. Isto ocorre porque os elementos construídos fora de seqüência são assumidos como de autodefinição e, para CWF, eles são descartados quando a mensagem é gravada no fluxo de bits.
CWF é um formato fixo e todos os elementos devem estar presentes em uma mensagem. Portanto, a validação de conteúdo é ignorada. Na saída, todos os elementos devem ser definidos explicitamente (por exemplo, utilizando ESQL SET), definidos implicitamente (utilizando uma função de cópia de árvore) ou devem ter um valor padrão definido.
Na saída de uma mensagem CWF no domínio MRM, qualquer elemento ou ocorrência de um elemento para o qual um valor não foi configurado (explícita ou implicitamente) herda o valor padrão especificado do elemento. Se nenhum valor padrão tiver sido especificado, será emitida uma exceção.
As propriedades lógicas Mín. Ocorrências e Máx. Ocorrências especificam o número permitido de ocorrências de um elemento, ou grupo, em uma mensagem. Estas propriedades são utilizadas durante análise e gravação de mensagens e durante a validação do conteúdo de uma mensagem.
No CWF, as ocorrências Máx. Ocorrências são esperadas durante a análise e as ocorrências Máx. Ocorrências são geradas durante a gravação. Os valores padrão são utilizados para elementos ausentes e os elementos em excesso serão descartados.
Estas regras surgem porque, em um formato da mensagem CWF, não há tags ou outra marcação que pode ser utilizada para determinar o final de um número variável de repetições.
Entretanto, este comportamento é substituído se a propriedade Referência de Repetição de CWF estiver configurada, o que indica que o número de ocorrências é fornecido em substituição por um elemento inteiro que ocorre anteriormente na mensagem. Neste caso, Máx. Ocorrências é ignorado.
Na validação, Mín. Ocorrências e Máx. Ocorrências são utilizados para verificar se o conteúdo da árvore de mensagens corresponde ao modelo.
Listas e uniões são conceitos específicos de XML. Um elemento ou atributo de um tipo simples que é uma lista ou uma união gerará um aviso da lista de tarefas se um formato físico CWF estiver presente no conjunto de mensagens. O usuário pode escolher se deseja transformar isso em um erro, aviso ou informação, editando as Preferências de Validação. O gerador de dicionário omitirá mensagens definidas para conter tais elementos ou atributos da seção CWF do dicionário.