XMLNSC Validation サンプルについて
XMLNSC Validation サンプルでは、WebSphere Message Broker の XMLNSC パーサーが、
どのような方法で XML メッセージをスキーマに照らして検証するのかを示します。
メッセージ・フロー
サンプルの処理は、XMLNSCVALIDATIONMF1 という名前の 1 つのメッセージ・フローから構成されます。
下の図は、XMLNSCVALIDATIONMF1 メッセージ・フローを示しています。

XMLNSCVALIDATIONMF1 メッセージ・フローは、XMLNSCVALIDATIONMF という名前のメッセージ・ブローカー・プロジェクトに含まれています。このメッセージ・フローでは、以下のタスクが実行されます。
- MQInput ノードを通じて WebSphere MQ キュー XMLNSCVALIDATIONMF1.IN から XML メッセージを取り込みます。
- MQInput ノードでは、以下のタブでこのようにプロパティーが定義されています。
「入力メッセージ構文解析」タブ:
- 「メッセージ・ドメイン」は、「XMLNSC」に設定されています。
- 「メッセージ・セット」は、「XMLNSCVALIDATIONMS」に設定されています。
「パーサー・オプション」タブ:
- 「構文解析のタイミング」は、「完了」に設定されています。
- 「XML スキーマ・データ・タイプを使用してツリーを作成」が選択されています。
「妥当性検査」タブ:
- 「妥当性検査」は、「内容と値」に設定されています。
- 「失敗時の処置」は、「例外」に設定されています。
- MQInput ノードの Out ターミナルが、ProcessValidMessage という名前の Compute ノードに接続されます。InputRoot を OutputRoot にコピーする ESQL に Compute ノードが関連付けられます。
- Compute ノードの Out ターミナルが、OutputOK という名前の MQOutput ノードに接続されます。MQOutput ノードは、メッセージをキュー XMLNSCVALIDATIONMF1.OUT に書き込みます。
- MQInput ノードの Catch および Failure ターミナルが、
ProcessExceptionList という名前の 2 番目の Compute ノードに接続されます。この Compute ノードは、ExceptionList の関係のある部分を OutputRoot にコピーします。
- この Compute ノードの Out ターミナルが、OutputFailure という名前の MQOutput ノードに接続されます。この MQOutput ノードは、メッセージをキュー XMLNSCVALIDATIONMF1.FAIL に書き込みます。
メッセージ・セット
メッセージ・セット XMLNSCVALIDATIONMS は、ランタイム・ドメイン XMLNSC を指定しており、
SampleMessageValidation.xsd という名前の XML スキーマが含まれます。メッセージ定義ファイルは、このスキーマから作成されています。このメッセージ・セットには、以下の内容が含まれます。
- SaleListMessage という 1 つのメッセージ。SaleListMessage は、他の多くのサンプルで使用されているメッセージに基づいています。
- このメッセージで各種の検証の失敗を表すために、いくつかの制約が XML スキーマに追加されています。これらの制約は、以下のとおりです。
- 値の制約:
- Surname の maxLength には、20 が設定されています。
- Currency の有効な値には、「GBP」、「Sterling」、「USD」、「EUR」、「Euros」、および「JPY」があります。
- Quantity には、minInclusive 1 と maxInclusive 100 が設定されています。
- Code のパターンには、2 つの英数字が設定されています。
- 変更されたエレメントと属性:
- Header にオプションの属性「Title」。
- SaleList に必須属性「occurrence」。
- SaleList にオプションの属性「guaranteed」。
- Trailer に必須属性「isLast」。
ブローカー・アーカイブ・ファイル
メッセージ・ブローカー・プロジェクト XMLNSCVALIDATIONMF には、サンプル用のブローカー・アーカイブ・ファイル XMLNSCVALIATION.BAR が含まれています。このメッセージ・ブローカー・プロジェクトには、サンプルで使用されるテスト・メッセージも含まれています。
テスト・メッセージ
このサンプルでは、以下のテスト・メッセージが使用されます。
- ValidMessage.xml
- MissingElement.xml
- NamespacedMessage.xml
- NumericOutOfRange.xml
- PatternMismatch.xml
- StringInNumeric.xml
- StringTooLong.xml
- ValueNotInList.xml
メッセージ、およびサンプルから期待される結果について詳しくは、XMLNSC Validation サンプルの実行を参照してください。
サンプルのホームに戻る