XML 메시지에서 데이터 변환

데이터를 한 형식에서 다른 형식으로 종종 변환해야 합니다. 예를 들면, 한 메시지에서 항목의 유형이 이름으로 표시되어 있으며 다른 메시지에서는 항목이 번호로 표시되어 있습니다. 예를 들면, 다음 코드와 같습니다.

Type Name          Type Code

Confectionary      2000
Newspapers         3000
Hardware           4000

다음 출력 메시지를 고려하십시오.

<Data>
  <Items>
    <Item>
      <Cat>1000</Cat>
      <Description>Milk Chocolate Bar</Description>
      <Type>Confectionary</Type>
    </Item>
    <Item>
      <Cat>1001</Cat>
      <Description>Daily Newspaper</Description>
      <Type>NewsPapers</Type>
    </Item>
    <Item>
      <Cat>1002</Cat>
      <Description>Kitchen Sink</Description>
      <Type>Hardware</Type>
    </Item>
  </Items>
  <TranslateTable>
    <Translate>
      <Name>Confectionary</Name>
      <Number>2000</Number>
    </Translate>
    <Translate>
      <Name>NewsPapers</Name>
      <Number>3000</Number>
    </Translate>
    <Translate>
      <Name>Hardware</Name>
      <Number>4000</Number>
    </Translate>
  </TranslateTable>
</Data>

메시지에는 두 섹션이 있습니다. 첫 번째 섹션은 각 항목에 카탈로그 번호와 유형이 있는 항목의 목록입니다. 두 번째 섹션은 설명적 유형 이름과 숫자 유형 코드 사이의 변환 테이블입니다. 다음과 같은 변환으로 Compute 노드를 포함하는 경우,

SET OutputRoot.XML.Result.Items.Item[] = 
      (SELECT M.Cat, M.Description, T.Number As Type
          FROM 
              InputRoot.XML.Data.Items.Item[]               As M,
              InputRoot.XML.Data.TranslateTable.Translate[] As T
          WHERE M.Type = T.Name
   );

다음 출력 메시지가 생성됩니다.

<Result>
  <Items>
    <Item>
      <Cat>1000</Cat>
      <Description>Milk Chocolate Bar</Description>
      <Type>2000</Type>
    </Item>
    <Item>
      <Cat>1001</Cat>
      <Description>Daily Newspaper</Description>
      <Type>3000</Type>
    </Item>
    <Item>
      <Cat>1002</Cat>
      <Description>Kitchen Sink</Description>
      <Type>4000</Type>
    </Item>
  </Items>
</Result>

결과에서 각 유형 이름은 해당 코드로 변환되었습니다. 이 예에서, 데이터와 변환 테이블이 모두 동일한 메시지 트리에 있었지만 요구사항은 아닙니다. 예를 들면, 변환 테이블은 데이터베이스로 코딩될 수 있었거나, 이전 Compute 노드에 의해 LocalEnvironment에서 설정되었을 수 있습니다.

관련 개념
메시지 플로우 개요
ESQL 개요
메시지 모델링
관련 태스크
메시지 플로우 설계
메시지 플로우 컨텐츠 정의
ESQL 파일 관리
관련 참조
Compute 노드
Database 노드
Filter 노드
ESQL 참조
SELECT 함수
SET문
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ak05790_