Pergunta

Eu tenho um esquema que tem o comprimento máximo de propriedade definida em todos os seus elementos, de diferentes tamanhos.Eu sou o mapeamento para ele e esperar que o comprimento máximo ser excedido com bastante frequência.

Existe uma maneira de dizer BizTalk para truncar automaticamente sem ter que ir e configurar manualmente uma functoid de cada elemento?

Há um propósito para o tamanho máximo da propriedade de outros que a validação?

Foi útil?

Solução

Não há nenhuma funcionalidade para fazer o que você deseja no BizTalk mapper - você certamente poderia escrever algum tipo de pré ou pós-processador que iria fazer isso, mas eu sugiro que você está indo no caminho errado.

Ele vai dar mais trabalho, mas eu aconselho a investigar por que sua origem e de destino sistemas de ter tais esquemas diferentes.Ele é provavelmente um sinal de alerta que você deseja truncar tantos campos, para ser capaz de transmitir a informação.

Vai valer a pena o seu tempo para trabalhar fora:

  • São estes maxLength elementos estritamente necessário?
  • Vai truncamento de qualquer de seus campos causar problemas, seja tecnicamente ou para os usuários de negócios?
  • Deve alguns desses campos em vez de estar a ser dividido?Talvez um sistema que define um único 100 caracteres do campo de endereço, enquanto o outro sistema tem uma rua e uma cidade de campo.

A propriedade maxLength define por quanto tempo um elemento de conteúdo que pode ser.Então, sim, é única finalidade é fornecer adicionais, regras de validação para o seu esquema.

Do W3C XML Schema definition:

maxLength· prevê:

•Constrangimento ·o valor de espaço· para valores com mais de um número específico de unidades de comprimento, onde as unidades de o comprimento varia dependendo {tipo de base definição}.

Eu prefiro a palavra que eles usam constrangimento sobre a palavra validação - para mim isso mais claramente expressa o conceito do seu esquema XML a ser um contrato que define o que o sistema vai ser passar para outros sistemas.Facetas como maxLength dizer (para o leitor do esquema) que os sistemas esperando para consumir estes dados pode muito bem quebrar se eles são passados nada mais do que o maxLength.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top