カスタム・ワイヤー形式: 論理モデルとの関係

論理モデルに関連して CWF を使用して定義されるメッセージにはいくつかの制限があります。 これらの制限を以下に説明します。

構成

CWF メッセージは、常に論理メッセージ・モデル定義で指定されたシーケンスのエレメントを含む出力になります。 しかし、常にそのシーケンスでエレメントを構築する ESQL を指定する必要があるわけではありません。 タイプ「構成」プロパティーの各値ごとに、 ESQL のコーディングのための以下の規則が備えられています。

シーケンス
出力メッセージは、メッセージ内のエレメントまたはグループのシーケンスと一致するように構築する必要があります。 通常これは、ESQL SET ステートメントを使用して各エレメントまたはタイプに値を割り当てることによって行えます。 最初の SET ステートメントは、メッセージ内の最初のエレメントまたはタイプの値を設定し、 2 番目の SET は 2 番目のエレメントまたはタイプの値を設定し、それ以降も同様になります。 このステートメントのシーケンスは、 ESQL ATTACH、CREATE、および MOVE ステートメントを使用して変更できます。

エレメントまたはタイプがデフォルト値を持つ場合、ユーザーが正しいシーケンスでメッセージを構築していないと、 間違ったシーケンスで構築されたそのエレメントにはユーザーが設定した値ではなくそのデフォルト値が含まれます。 これは、間違ったシーケンスで作成されたエレメントが自己定義と見なされ、 CWF の場合、これらはメッセージがビット・ストリームに書き込まれるときに破棄されるためです。

順序セット
出力メッセージは、 メッセージ内のエレメントのシーケンスと一致するように構築する必要があります。 通常これは、各エレメントに値を割り当てる ESQL SET ステートメントを使用して行えます。 最初の SET ステートメントは、メッセージ内の最初のエレメントの値を設定し、 次の SET は 2 番目のエレメントの値を設定し、それ以降も同様になります。 このステートメントのシーケンスは、 ESQL ATTACH、CREATE、および MOVE ステートメントを使用して変更できます。

エレメントがデフォルト値を持つ場合、ユーザーが正しいシーケンスでメッセージを構築していないと、 間違ったシーケンスで構築されたそのエレメントにはユーザーが設定した値ではなくそのデフォルト値が含まれます。 これは、間違ったシーケンスで作成されたエレメントが自己定義と見なされ、 CWF の場合、これらはメッセージがビット・ストリームに書き込まれるときに破棄されるためです。

非順序セット
出力メッセージのエレメントは、どんなシーケンスでも構築できます。 出力には、エレメントは論理メッセージ・モデル定義で指定した順序で書き込まれます。
すべて
出力メッセージのエレメントは、どんなシーケンスでも構築できます。 各エレメントは 1 度だけしか現れません (すなわち、繰り返されません)。出力には、エレメントは論理メッセージ・モデル定義で指定した順序で書き込まれます。
選択
選択を純粋にデータから解決することはできません。 受信プログラムがデータを解釈し、メッセージ・インスタンスにどの選択のオプションが含まれているかを判別する必要があります。 このプロセスは、未解決の選択処理と呼ばれます。 いずれかの選択エレメントに対するアプリケーション内の最初の参照が、選択をそのエレメントの入ったオプションに解決します。
メッセージ
CWF には、入力メッセージのビット・ストリーム内では、 この入力メッセージ内にどの組み込みメッセージが現れるかを識別する方法はありません。組み込みメッセージの解決のメカニズムは、カスタム・ワイヤー形式: 複数パーツ・メッセージのトピックで説明されています。

内容の妥当性検査

CWF は固定形式であり、すべてのエレメントがメッセージ内に存在していなければなりません。 したがって、 [内容の妥当性検査] は無視されます。 出力では、すべてのエレメントが明示的 (例えば、ESQL SET を使用して) または暗黙的 (ツリー・コピー機能を使用して) に設定されているか、 またはデフォルト値を定義している必要があります。

デフォルト値

MRM ドメインの CWF メッセージの出力では、すべてのエレメント、 または値が (明示的にまたは暗黙的に) 設定されていないエレメントの出現は、 エレメントの指定されたデフォルト値を継承します。 デフォルト値が指定されていない場合には、例外がスローされます。

最小オカレンスと最大オカレンス

論理プロパティー「最小オカレンス」「最大オカレンス」は、メッセージ内のエレメントまたはグループの許可された出現回数を指定します。 これらは、メッセージの構文解析と書き込み、およびメッセージの内容の妥当性検査を行うときに使用されます。

CWF では、構文解析時に「最大オカレンス」の出現が予期され、 欠落エレメントに使用されるデフォルト値で書き込みを行うときに「最大オカレンス」の出現が出力されます。

ただし、「反復参照」プロパティーが設定されている場合、この動作は無効にされます。このプロパティーは、メッセージ内で先に出現する整数エレメントによって、代わりに出現回数が指定されることを示します。 この場合、「最大オカレンス」は無視されます。

妥当性検査時に、「最初オカレンス」「最大オカレンス」の両方を使用して、メッセージ・ツリーの内容がモデルと一致することを確認します。

単純タイプ – リストと共用体

リストと共用体は XML 特有の概念です。 メッセージ・セットに CWF 物理形式がある場合は、単純タイプがリストまたは共用体であるエレメントまたは属性が原因で、タスク・リストの警告が出されます。 ユーザーは、妥当性検査のプリファレンスを編集して、これをエラー、警告、または通知のどれにするかを選択できます。 ディクショナリー生成プログラムは、そのようなエレメントまたは属性を含むように定義されたメッセージをディクショナリーの CWF セクションから省略します。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ad10490_