DFDL スキーマ CSV_1 の使用

この DFDL スキーマ CSV_1.xsd は、コンマ区切り値メッセージの最も単純なモデルを示しています。 サンプル入力データ CSV_1.csv には、反復されるコンマ区切りレコードが含まれています。 サンプル入力データは、サンプル DFDL スキーマ・ファイルを使用して解析されます。 マッピング・ノードによって DFDL ドメイン論理ツリーが XMLNSC ドメイン論理ツリーにコピーされ、XMLNSC ドメイン論理ツリーが XML メッセージとしてシリアライズされます。

このトピックには、サンプルを実行するための指示があります。 また、サンプル入力データおよび予想される出力メッセージも含まれるため、サンプルが機能したことを確認できます。

このサンプルで使用されるメッセージ・モデルについて詳しくは、コンマ区切り値 (CSV) サンプルの調査を参照してください。

サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。

DFDL スキーマ CSV_1 のテスト

Message Broker Toolkit を使用すると、DFDL スキーマ・ファイルに照らしてサンプル入力データを検査できます。

DFDL スキーマ・ファイルをテストするには、以下のようにします。

  1. DFDL スキーマ CSV_1.xsd を開きます。
  2. 「メッセージ・ルート」の下で CSV_1 を右クリックします。「テスト解析モデル」をクリックします。
  3. 「テスト解析モデル」ウィンドウで、「データ・ファイルの内容」を選択して「参照」をクリックします。
  4. 「ファイル選択」ウィンドウのメッセージ・ブローカー・プロジェクト CSVSchemas で、ファイル CSV_1.csv を選択します。「OK」をクリックします。
  5. 「DFDL テスト」パースペクティブを開くかどうか尋ねるウィンドウが表示されることがあります。 「はい」をクリックします。

「DFDL テスト」パースペクティブが開き、「DFDL テスト - 解析」ビューにテスト解析の結果が表示されます。 テスト解析が成功した場合、「解析が正常に完了しました」というメッセージが表示されます。

「論理インスタンス」ビューでテスト解析の結果を確認できます。 「論理インスタンス」ビューには、論理ツリー・ビューでデータが表示されます。 解析中に発生したエラーを確認するには、「DFDL - トレース」ビューのパーサー・ログを使用します。

入力テスト・メッセージ

このサンプルの実行に使用されるテスト・メッセージは、以下のフォーマットに基づいています。

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> は、ASCII 16 進コード・ポイントが x'0D' および x'0A' の文字を表します。

サンプルの実行

このサンプルは、メッセージ・フロー CSV2XML を使用します。このメッセージ・フローには、キュー CSV2XML.IN1 に接続された 1 つの MQInput ノードが含まれています。メッセージ・フローは、ドメインを XMLNSC に変更してキュー CSV2XML.OUT1 にメッセージを書き込む Mapping ノードを介してメッセージを渡します。出力 XML メッセージは、解析されたメッセージの論理構造を示します。

サンプルを実行するには、次のようにします。

  1. 「ブローカー開発」ビューでメッセージ・ブローカー・プロジェクト CSVMessageFlows を展開して、「フロー・テスト」の下の CSVApplication.mbtest を開きます。
  2. 「エディター」ビューで、「メッセージ・フローの起動 (CSV_1 から XML)」というラベルの付いた項目を選択します。CSV 形式のデータを確認します。
  3. エディターの左上にある「開始」アイコンをクリックします。
  4. メッセージ・フローは CSV メッセージを解析して、メッセージを XML としてシリアライズします。 出力メッセージが CSV2XML.OUT キューに書き込まれます。
  5. メッセージは「ビューアー」で連続する行で表示されることがあります。メッセージをより簡単に表示するには、「本文」リストをクリックし、「XML 構造として表示」を選択します。
  6. このメッセージを、予期していた出力メッセージと比較します。

すべてのステップが正常に終了したなら、サンプルは完了です。

ここで、メッセージ・ブローカー・プロジェクト CSVSchemas の DFDL スキーマ・ファイルを調べます。このメッセージ・モデルについては、『Comma Separated Value (CSV) サンプルの調査』を参照してください。

予期される出力メッセージ

予期される出力 XML メッセージは、以下のとおりです。

<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>

「サンプルの実行」に戻る

サンプルのホームに戻る