論理モデルに関連して CWF を使用して定義されるメッセージにはいくつかの制限があります。 これらの制限を以下に説明します。
CWF メッセージは、常に論理メッセージ・モデル定義で指定されたシーケンスのエレメントを含む出力になります。 しかし、常にそのシーケンスでエレメントを構築する ESQL を指定する必要があるわけではありません。 タイプ「構成」プロパティーの各値ごとに、 ESQL のコーディングのための以下の規則が備えられています。
エレメントまたはタイプがデフォルト値を持つ場合、ユーザーが正しいシーケンスでメッセージを構築していないと、 間違ったシーケンスで構築されたそのエレメントにはユーザーが設定した値ではなくそのデフォルト値が含まれます。 これは、間違ったシーケンスで作成されたエレメントが自己定義と見なされ、 CWF の場合、これらはメッセージがビット・ストリームに書き込まれるときに破棄されるためです。
エレメントがデフォルト値を持つ場合、ユーザーが正しいシーケンスでメッセージを構築していないと、 間違ったシーケンスで構築されたそのエレメントにはユーザーが設定した値ではなくそのデフォルト値が含まれます。 これは、間違ったシーケンスで作成されたエレメントが自己定義と見なされ、 CWF の場合、これらはメッセージがビット・ストリームに書き込まれるときに破棄されるためです。
CWF は固定形式であり、すべてのエレメントがメッセージ内に存在していなければなりません。 したがって、 [内容の妥当性検査] は無視されます。 出力では、すべてのエレメントが明示的 (例えば、ESQL SET を使用して) または暗黙的 (ツリー・コピー機能を使用して) に設定されているか、 またはデフォルト値を定義している必要があります。
MRM ドメインの CWF メッセージの出力では、すべてのエレメント、 または値が (明示的にまたは暗黙的に) 設定されていないエレメントの出現は、 エレメントの指定されたデフォルト値を継承します。 デフォルト値が指定されていない場合には、例外がスローされます。
論理プロパティー「最小オカレンス」と「最大オカレンス」は、メッセージ内のエレメントまたはグループの許可された出現回数を指定します。 これらは、メッセージの構文解析と書き込み、およびメッセージの内容の妥当性検査を行うときに使用されます。
CWF では、構文解析時に「最大オカレンス」の出現が予期され、 欠落エレメントに使用されるデフォルト値で書き込みを行うときに「最大オカレンス」の出現が出力されます。
ただし、「反復参照」プロパティーが設定されている場合、この動作は無効にされます。このプロパティーは、メッセージ内で先に出現する整数エレメントによって、代わりに出現回数が指定されることを示します。 この場合、「最大オカレンス」は無視されます。
妥当性検査時に、「最初オカレンス」と「最大オカレンス」の両方を使用して、メッセージ・ツリーの内容がモデルと一致することを確認します。
リストと共用体は XML 特有の概念です。 メッセージ・セットに CWF 物理形式がある場合は、単純タイプがリストまたは共用体であるエレメントまたは属性が原因で、タスク・リストの警告が出されます。 ユーザーは、妥当性検査のプリファレンスを編集して、これをエラー、警告、または通知のどれにするかを選択できます。 ディクショナリー生成プログラムは、そのようなエレメントまたは属性を含むように定義されたメッセージをディクショナリーの CWF セクションから省略します。