Usando o Esquema DFDL CSV_1

Esse esquema DFDL, CSV_1.xsd, ilustra o modelo mais simples para uma mensagem de valor separado por vírgulas. Os dados de entrada de amostra, CSV_1.csv, contêm um registro separado por vírgula repetitivo. Os dados de entrada de amostra são analisados usando o arquivo de esquema DFDL de amostra, um nó de mapeamento copia a árvore de estrutura lógica de domínio DFDL para uma árvore de domínio XMLNSC e essa árvore é serializada como uma mensagem XML.

Este tópico inclui instruções para a execução da amostra. Ele também inclui dados de entrada de amostra e uma mensagem de saída esperada para que seja possível confirmar que a amostra funcionou.

Para uma explicação mais detalhada do modelo da mensagem que é usado nesta amostra, consulteExplorando a amostra Comma Separated Value (CSV).

Se você encontrar algum problema ao executar a amostra, consulte Resolvendo problemas ao executar amostras na documentação do WebSphere Message Broker.

Esquema DFDL de Teste CSV_1

É possível testar os dados de entrada de amostra com relação ao arquivo de esquema DFDL usando o Message Broker Toolkit.

Para testar o arquivo de esquema DFDL:

  1. Abra o esquema DFDL, CSV_1.xsd.
  2. Em Raízes da Mensagem, clique com o botão direito do mouse em CSV_1. Clique em Testar Modelo de Análise.
  3. Na janela Testar Modelo de Análise, selecione Conteúdo a partir e um arquivo de dados e clique em Procurar.
  4. Na janela Seleção de Arquivo, no Projeto do Message Broker, CSVSchemas, selecione o arquivo CSV_1.csv. Clique em OK.
  5. Uma janela poderá ser exibida perguntando se deseja abrir a perspectiva de Teste DFDL. Clique em Yes.

A perspectiva Teste DFDL é aberta e os resultados de sua análise de teste são exibidos na visualização Teste DFDL - Análise. Se a análise de teste for bem sucedida, uma mensagem será exibida indicando "Análise concluída com êxito".

É possível visualizar os resultados de sua análise de teste na visualização Instância Lógica. A visualização Instância Lógica exibe os dados em uma visualização em árvore lógica. Use o log do analisador na visualização DFDL - Rastreio para visualizar quaisquer erros que ocorreram durante a análise.

Mensagem de Teste de Entrada

A mensagem de teste que é usada na execução desta amostra é baseada no seguinte formato:

Bob,Dyson,true,23,23456,0,1543543.36<CRLF>
Jimmy,Pace,false,1002,10001,-4.32423,654654.99<CRLF>
Ralf,McCartney,false,67,89125,4324307.35,986545.12<CRLF>
Elvis,John,true,3,60699,-0.343242356675,99999999999999.99<CRLF>
Rick,Clayton,true,461,33101,0.000000000000001,100.01
<CRLF> representa os caracteres com pontos de código ASCII hexadecimais x'0D' e x'0A'.

Executando a Amostra

Esta amostra usa o fluxo de mensagens, CSV2XML. Esse fluxo de mensagens contém um único nó MQInput anexado à fila, CSV2XML.IN1. O fluxo de mensagens analisa a mensagem por meio de um nó Mapping que altera o domínio para XMLNSC e coloca a mensagem na fila CSV2XML.OUT1. A mensagem XML de saída mostra a estrutura lógica da mensagem que foi analisada.

Para executar a amostra:

  1. Na visualização Desenvolvimento do Broker, expanda o Projeto do Message Broker, CSVMessageFlows, em Testes de Fluxo, abra CSVApplication.mbtest.
  2. Na visualização do Editor, selecione a entrada com o rótulo "Chamar Fluxo de Mensagens (CSV_1 para XML)". Observe os dados em formato CSV.
  3. Clique no ícone Iniciar no canto esquerdo do editor.
  4. O fluxo de mensagens analisa a mensagem CSV e serializa a mensagem como XML. A mensagem de saída é colocada na fila CSV2XML.OUT.
  5. A mensagem pode ser mostrada no Visualizador em uma linha contínua. Para visualizar a mensagem mais facilmente, clique na lista Corpo e selecione Visualizar como Estrutura XML.
  6. Compare essa mensagem com a mensagem de saída esperada.

Se todas as etapas forem bem-sucedidas, então a amostra estará completa.

Agora, observe o arquivo de esquema DFDL no projeto do Message Broker, CSVSchemas, e a explicação desse modelo de mensagem em Explorando a amostra Comma Separated Value (CSV).

Mensagem de Saída Esperada

A mensagem XML de saída esperada é:

<io:CSV_1 xmlns:io="http://www.example.org">
  <customer>
    <firstname>Bob</firstname>
    <lastname>Dyson</lastname>
    <goldmember>true</goldmember>
    <housenumber>23</housenumber>
    <postcode>23456</postcode>
    <float>0E+0</float>
   <balance>1543543.36</balance>
  </customer><customer>
    <firstname>Jimmy</firstname>
    <lastname>Pace</lastname>
    <goldmember>false</goldmember>
    <housenumber>1002</housenumber>
    <postcode>10001</postcode>
    <float>-4.3242301940918E+0</float>
    <balance>654654.99</balance>
  </customer>
  <customer>
    <firstname>Ralf</firstname>
    <lastname>McCartney</lastname>
    <goldmember>false</goldmember>
    <housenumber>67</housenumber>
    <postcode>89125</postcode>
    <float>4.3243075E+6</float>
    <balance>986545.12</balance>
  </customer>
  <customer>
    <firstname>Elvis</firstname>
    <lastname>John</lastname>
    <goldmember>true</goldmember>
    <housenumber>3</housenumber>
    <postcode>60699</postcode>
    <float>-3.43242347240448E-1</float>
    <balance>99999999999999.99</balance>
  </customer>
  <customer>
    <firstname>Rick</firstname>
    <lastname>Clayton</lastname>
    <goldmember>true</goldmember>
    <housenumber>461</housenumber>
    <postcode>33101</postcode>
    <float>1.00000000362749E-15</float>
    <balance>100.01</balance>
  </customer>
</io:CSV_1>

Voltar para Executando a Amostra

Voltar para o Início da Amostra