このサンプルはサンプル・メッセージ CSV_2 に基づいて作成され、反復されるコンマ区切りレコードの中に選択項目を組み込みます。 入力メッセージ内にあるのは、単一のヘッダー・レコードと、それに続く反復するコンマ区切りレコードです。 DFDL スキーマ・ファイルでの定義に従い、この反復レコードには 2 個のエレメントまたは 7 個のエレメントを含めることができます。 マッピング・ノードは goldmember フィールドが真であるかどうかに応じて balance フィールドを変更します。 マッピングにより、カスタマー・レコード内の選択項目も処理されることに注意してください。このマッピングがマップに表示されない場合は、「マッピング」タブの上部にある「設定」ツールバー・ボタンをクリックし、左側のツリーを展開した後、「メッセージ・マップ・エディター」をクリックしてから、「グループの表示」を選択します。 出力 CSV メッセージにはメッセージの物理構造が示されます。これは、解析され、マッピングで変換されてから、出力キューにシリアライズされたものです。
このトピックには、サンプルを実行するための指示があります。 また、入力テスト・メッセージと、それに対応する、予想される出力メッセージの例も示されます。 これにより、サンプルが機能したかを確認できます。
このサンプルで使用されるメッセージ・モデルについて詳しくは、コンマ区切り値 (CSV) サンプルの調査を参照してください。
サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。
Message Broker Toolkit で DFDL スキーマ・ファイルに照らしてサンプル入力データを検査できます。
DFDL スキーマをテストするには、以下のようにします。
「DFDL テスト」パースペクティブが開き、「DFDL テスト - 解析」ビューにテスト解析の結果が表示されます。 テスト解析が成功した場合、「解析が正常に完了しました」というメッセージが表示されます。
「論理インスタンス」ビューでテスト解析の結果を確認できます。 「論理インスタンス」ビューには、論理ツリー・ビューでデータが表示されます。 解析中に発生したエラーを確認するには、「DFDL - トレース」ビューのパーサー・ログを使用します。
このサンプルの実行に使用されるテスト・メッセージは、以下のフォーマットに基づいています。
2011-11-11,X12334,customerdetails<CRLF> Bob,Dyson,true,23,23456,0,1543543.36<CRLF> Jimmy,Pace<CRLF> Ralf,McCartney,false,67,89125,4324307.35,986545.12<CRLF> Elvis,John<CRLF> Rick,Clayton,true,461,33101,1.11,100.01
<CRLF> は、ASCII 16 進コード・ポイントが x'0D' および x'0A' の文字を表します。
このサンプルは、CSV2CSV メッセージ・フローを使用します。このメッセージ・フローには、キュー CSV2CSV.IN2 に接続された 1 つの MQInput ノードが含まれています。マッピング・ノードは goldmember フィールドが真であるかどうかに応じて balance フィールドを変更します。 解析され、変換されて、シリアライズされたメッセージの物理構造が、出力 CSV メッセージに示されます。
サンプルを実行するには、次のようにします。
メッセージ・フローは CSV メッセージを解析し、それを適切に変更した後、元の CSV にシリアライズします。 出力メッセージは、CSV2CSV.OUT1 キューに入れられます。
このメッセージ・モデルについては、『Comma Separated Value (CSV) サンプルの調査』を参照してください。
予期される出力メッセージは、以下のとおりです。
2011-11-11,X12334,customerdetails Bob,Dyson,true,23,"23,456",0,"1,543,543.36" Jimmy,Pace Ralf,McCartney,false,67,"89,125","4,324,307.5","986,545.12" Elvis,John Rick,Clayton,true,461,"33,101",1.11,100.01