이 샘플은 CSV 메시지에 두 가지 서로 다른 유형의 고객 레코드의 선택을 포함하기 위해 샘플 8에 빌드됩니다. 태그 표시된 모델을 통해 쉽게 수행될 수 있으며 여러 유형의 레코드의 수에 관계없이 어떤 순서로도 발생할 수 있는 모델을 가질 수 있다는 것을 설명합니다. 입력 메시지에는 단일 헤더 레코드 다음에 단일 반복 쉼표 분리 레코드가 포함되어 있습니다. 이는 샘플 메시지 세트를 사용하여 구문 분석되며 XML 메시지로 쓰여집니다.
이 주제에는 샘플 실행에 대한 지시사항이 들어 있습니다. 또한 샘플이 수행되었는지 확인할 수 있도록 입력 테스트 메시지 예와 해당되는 예상 출력 메시지도 들어 있습니다.
이 샘플에 사용된 메시지 모델에 대한 자세한 설명은 CSV(Comma Separated Value) 메시지 샘플 탐색을 참조하십시오.
이 샘플을 실행하는 데 사용된 테스트 메시지는 다음 형식을 기본으로 합니다.
HEADER,2005-04-01,X123456IB7,고객 세부사항
CUST,Bob,Dyson,1 Desolation Row,Orlando,FL,32802,HYT-457-AX
CUST,Jimmy,Pace,1002 Misty Mountain Drive,New York,NY,10001,ADU-239-BX
CUST,Ralf,McCartney,67 Penny Lane,Las Vegas,NV,89125,JUI-854-CF
CUST,Elvis,John,3 Yellow Brick Road,Chicago,IL,60699,GGY-118-AS
BUS,USA.COM,1600 Pensylvania Avenue,Washington,DC,20500,MAD-444-IT
CUST,Rick,Clayton,461 Ocean Boulevard,Miami,FL,33101,LOP-212-TY
TRAILER,5
<CRLF>는 ASCII 16진수 코드 포인트 x'0D' 및 x'0A'를 나타냅니다.
이 샘플에서는 CSV2XML 메시지 플로우를 사용합니다. 여러 개의 입력 노드가 들어 있지만 이 샘플의 경우 CSV2XML.IN9이라는 큐가 있는 노드를 사용합니다. 메시지 플로우는 형식을 XML로 변경하는 Compute 노드를 통해 메시지를 전달하고 메시지를 모두 씁니다. 이는 CSV 메시지를 논리적 트리로 구문 분석한 후 XML 형식으로 작성합니다. 출력 XML 메시지는 구문 분석된 메시지의 논리적 구조를 표시합니다.
샘플을 실행하려면 다음을 수행하십시오.
메시지 플로우는 CSV 메시지를 구문 분석하고 동일한 논리적 메시지를 XML 형식으로 모두 씁니다. 메시지가 CSV2XML.OUT 큐에 나타나야 합니다.
이제 XML_msg9.enqueue 파일(첫 번째 플로우에서 동일한 XML 메시지 출력을 포함함) 및 XML2CSV.IN과 XML2CSV.OUT을 두 개의 큐로 사용하여 2-6 단계를 반복하십시오. 그러면 첫 번째 단계에서 사용된 메시지 플로우의 역방향 플로우를 통해 XML 메시지를 전달합니다. 원래 CSV 메시지와 이를 비교하십시오. 이들 메시지는 서로 동일해야 합니다.
모든 단계가 수행되면 샘플이 완료됩니다.
이제 CSV(Comma Separated Value) 메시지 샘플 탐색에서 메시지 세트 프로젝트 및 이 메시지 정의에 대한 설명을 살펴보십시오.
예상되는 출력 XML 메시지는 다음과 같습니다.
<?xml version="1.0"?>
<CSV_9>
<header>
<requestDate>2005-04-01</requestDate>
<requestID>X123456IB7</requestID>
<requestType>customer details</requestType>
</header>
<individualCustomer>
<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>
</individualCustomer>
<individualCustomer>
<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>
</individualCustomer>
<individualCustomer>
<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>
</individualCustomer>
<individualCustomer>
<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>
</individualCustomer>
<businessCustomer>
<businessname>USA.COM</businessname>
<streetaddress>1600 Pennsylvania Avenue</streetaddress>
<cityname>Washington</cityname>
<statecode>DC</statecode>
<postcode>20500</postcode>
<referencecode>MAD-444-IT</referencecode>
</businessCustomer>
<individualCustomer>
<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>
</individualCustomer>
<trailer>
<totalRecords>6</totalRecords>
</trailer>
</CSV_9>