メッセージ中にインライン DTD を組み込んだり、
プロパティー「DOCTYPE テキスト」を設定して追加情報を指定したりできます。
ただし、パーサーで出力メッセージが構成される際に実行される処置に注意しなければなりません。
- 出力メッセージが再生成されることになる処置を実行する場合、
例えば、SET OutputRoot.MRM.Field1 = xxx のような ESQL ステートメントをコーディングして、
新しい出力メッセージを作成するよう Compute ノードを構成する場合は、
以下のようになります。
- このメッセージが定義されているメッセージ・セットのプロパティー「DOCTYPE の抑制」を「はい」に設定している場合は、
DOCTYPE 情報 (メッセージ・セットかメッセージの「DOCTYPE テキスト」プロパティーで指定されている) とインライン DTD の両方とも、
出力メッセージから除外されます。
- このメッセージが定義されているメッセージ・セットのプロパティー「DOCTYPE の抑制」を「いいえ」に設定している場合。
- 可能であれば、インライン DTD が保存されます。
- その他の場合、メッセージが自己定義である場合には、
出力メッセージ中にメッセージ・セット「DOCTYPE テキスト」プロパティー情報が組み込まれます。
- その他の場合 (メッセージが自己定義でない 場合)、
出力メッセージ中にメッセージ・レベル「DOCTYPE テキスト」プロパティー情報が組み込まれます。
- 出力メッセージが再生成されることになるアクションを実行しない場合、
パーサーによって、入力メッセージの直接コピーにより出力メッセージが生成されます。
SET OutputRoot = InputRoot を (明示的に、
または「メッセージ全体をコピー」チェック・ボックスにチェックを付けて) 使用して、
メッセージをコピーするようにメッセージ・フロー中の Compute ノードを構成しており、
しかもこのノードや他のノードでメッセージに何も変更を加えない場合に、
このようになります。
この場合、インライン DTD は出力メッセージ中に保存されますが、
メッセージ・セットまたはメッセージの「DOCTYPE テキスト」プロパティーで指定した情報は組み込まれません。