WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

メッセージでのデータの変換

データをある形式から別の形式へ変換することができます。

データ変換が必要とされる典型例としては、あるメッセージでは項目が名前によって示されており、別のメッセージでは番号によって示されているという場合です。 以下に例を示します。

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>

このメッセージには 2 つのセクションがあります。最初のセクションは項目のリストで、それぞれの項目には、カタログ番号とタイプがあります。2 番目のセクションは、記述タイプ名と数値タイプ・コードとの間の変換表です。 以下の変換で Compute ノードを組み込みます。

SET OutputRoot.XMLNS.Result.Items.Item[] = 
   (SELECT M.Cat, M.Description, T.Number As Type
     FROM 
       InputRoot.XMLNS.Data.Items.Item[]               As M,
       InputRoot.XMLNS.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 ノードによりローカル環境でセットアップされたりする場合があります。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:47:30


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ak05790_