XML メッセージとビット・ストリームの処理

このトピックは、以下の ESQL コードを使用するのに役立ちます。

ASBITSTREAM 関数

ASBITSTREAM 関数をコーディングするとき、 パーサー・モード・オプションを RootBitStream に設定してメッセージ・ツリーをビット・ストリームに構文解析すると、 結果として、ターゲット・エレメントの子から XML 文書が通常の方法で生成されます。 このアルゴリズムは、通常の出力ビット・ストリームを生成する場合と同じです。 ターゲット・エレメントは出力ビット・ストリームに含まれないため、 エレメントの子が XML 文書のさまざまな制約に従うようにする必要があります。 1 つの制約は、メッセージ内にただ 1 つの本文エレメントだけが許容されることです。 この方法で生成した整形式ビット・ストリームを使用して、CREATE ステートメントで PARSE 文節を使って元のツリーを再作成することができます。

ASBITSTREAM 関数をコーディングするとき、 パーサー・モード・オプションを FolderBitStream に設定してメッセージ・ツリーをビット・ストリームに構文解析すると、 結果として生成されるビット・ストリームは、ターゲット・エレメントおよびその子から生成される XML 文書になります。 DocTypeDecl または XmlDecl エレメントはすべて無視され、ターゲット・エレメント自体が出力ビット・ストリームに含まれます。 このモードの利点は、ターゲット・エレメントが文書の本文エレメントになることと、 本文エレメントの中にネストした複数のエレメントを含められることです。 このモードを使用して、XML パーサーが所有する任意のサブツリーのビット・ストリーム記述を取得します。 この方法で取得したビット・ストリームを使用すると、PARSE 文節を伴う CREATE ステートメントと、FolderBitStream のモードを使って、元のツリーを再作成することができます。

ASBITSTREAM およびその使用方法の例の詳細については、 ASBITSTREAM 関数を参照してください。

CREATE ステートメントでの PARSE 文節

CREATE ステートメントで PARSE 文節を使ってコーディングするとき、 パーサー・モード・オプションを RootBitStream に設定してビット・ストリームをメッセージ・ツリーに構文解析すると、 結果として生成されるビット・ストリームは通常の XML 文書です。 文書の各フィールドごとに、1 つのフィールドがツリー内に作成されます。 このアルゴリズムは、入力ノードからビット・ストリームを構文解析する場合と同じです。 とくに、ツリーのルート・エレメントとして XML というエレメントが作成され、メッセージのすべての内容はこのルートの子として作成されます。

CREATE ステートメントで PARSE 文節を使ってコーディングするとき、 パーサー・モード・オプションを FolderBitStream に設定してビット・ストリームをメッセージ・ツリーに構文解析すると、 結果として生成されるビット・ストリームは通常の XML 文書です。 本文エレメントの外側にある内容 (XML 宣言や doctype など) は、すべて破棄されます。 構文解析中に作成される最初のエレメントは XML 文書の本文に対応し、そこから構文解析が通常どおりに進められます。

CREATE およびその使用方法の例の詳細については、CREATE ステートメントを参照してください。

関連概念
メッセージ・フロー
ESQL
メッセージのモデル化

関連タスク
メッセージ・フローの設計
メッセージ・フローの内容の定義
ESQL ファイルの管理

関連資料
Compute ノード
Database ノード
Filter ノード
ESQL
CREATE ステートメント
ASBITSTREAM 関数