Questo esempio si basa sull'esempio 2 ed aggiunge un record trailer al messaggio CSV. Analizza il trailer utilizzando un modello dati che separa l'ultimo record nel messaggio e lo analizza come trailer. Nel messaggio di input vi è un singolo record header seguito da un singolo record separato da virgole che si ripete, a sua volta seguito da un singolo record trailer.Tale messaggio viene analizzato utilizzando la serie di messaggi di esempio e scritto come messaggio XML.
Questo argomento include istruzioni per l'esecuzione dell'esempio. Include inoltre un esempio di messaggio di prova di input e un messaggio di output corrispondente previsto, in modo da poter confermare il funzionamento dell'esempio.
Per una spiegazione dettagliata del modello di messaggio utilizzato in questo esempio fare riferimento a Esame dell'esempio CSV (Comma Separated Value).
Il messaggio di prova utilizzato nell'esecuzione di questo esempio si basa sul seguente formato:
2005-04-01,X123456IB7,dettagli cliente<CRLF>
Bob,Dyson,1 Desolation Row,Orlando,FL,32802,HYT-457-AX<CRLF>
Jimmy,Pace,1002 Misty Mountain Drive,New York,NY,10001,ADU-239-BX<CRLF>
Ralf,McCartney,67 Penny Lane,Las Vegas,NV,89125,JUI-854-CF<CRLF>
Elvis,John,3 Yellow Brick Road,Chicago,IL,60699,GGY-118-AS<CRLF>
Rick,Clayton,461 Ocean Boulevard,Miami,FL,33101,LOP-212-TY<CRLF>
5
<CRLF> rappresenta i caratteri con punti codice esadecimale ASCII x'0D' e x'0A'.
Questo esempio utilizza il flusso di messaggi CSV2XML. Contiene molti nodi di input ma per questo esempio utilizza il nodo con la coda denominata CSV2XML.IN4. Il flusso di messaggi trasmette il messaggio ad un nodo Compute che ne modifica il formato in XML e scrive il messaggio. Questo fa sì che il messaggio CSV venga analizzato in un albero logico e quindi scritto in formato XML. Il messaggio XML di output mostra la struttura logica del messaggio analizzato.
Per eseguire l'esempio:
Provare a ripetere i passi da 2 a 6, utilizzando il file XML_msg4.enqueue (che contiene lo stesso messaggio XML emesso dal primo flusso) e XML2CSV.IN e XML2CSV.OUT come le due code. In questo modo si trasmette il messaggio XML al flusso inverso rispetto a quello utilizzato nel primo stadio che dà come risultato un messaggio CSV come output. Confrontare questo messaggio con il messaggio CSV originale. Dovrebbero essere identici.
Se tutti i passi sono riusciti, l'esempio è completato.
Ora è opportuno consultare il progetto della serie di messaggi e la spiegazione di questa definizione di messaggio contenuti nella sezione Esame dell'esempio CSV (Comma Separated Value).
Il messaggio XML di output previsto è:
<?xml version="1.0"?>
<CSV_4>
<header>
<requestDate>2005-04-01</requestDate>
<requestID>X123456IB7</requestID>
<requestType>dettagli cliente</requestType>
</header>
<customer>
<firstname>Bob</firstname>
<lastname>Dyson</lastname>
<streetaddress>1 Desolation Row</streetaddress>
<cityname>Orlando</cityname>
<statecode>FL</statecode>
<postcode>32802</postcode>
<referencecode>HYT-457-AX</referencecode>
</customer>
<customer>
<firstname>Jimmy</firstname>
<lastname>Pace</lastname>
<streetaddress>1002 Misty Mountain Drive</streetaddress>
<cityname>New York</cityname>
<statecode>NY</statecode>
<postcode>10001</postcode>
<referencecode>ADU-239-BX</referencecode>
</customer>
<customer>
<firstname>Ralf</firstname>
<lastname>McCartney</lastname>
<streetaddress>67 Penny Lane</streetaddress>
<cityname>Las Vegas</cityname>
<statecode>NV</statecode>
<postcode>89125</postcode>
<referencecode>JUI-854-CF</referencecode>
</customer>
<customer>
<firstname>Elvis</firstname>
<lastname>John</lastname>
<streetaddress>3 Yellow Brick Road</streetaddress>
<cityname>Chicago</cityname>
<statecode>IL</statecode>
<postcode>60699</postcode>
<referencecode>GGY-118-AS</referencecode>
</customer>
<customer>
<firstname>Rick</firstname>
<lastname>Clayton</lastname>
<streetaddress>461 Ocean Boulevard</streetaddress>
<cityname>Miami</cityname>
<statecode>FL</statecode>
<postcode>33101</postcode>
<referencecode>LOP-212-TY</referencecode>
</customer>
<trailer>
<totalRecords>5</totalRecords>
</trailer>
</CSV_4>