コンテンツ・ベースのフィルターを ESQL 式として指定します。
.-"."---------------------. V | >>-+------------------+----field name--+---------+-+----------->< '-Correlation Name-' '-[INDEX]-'
コンテンツ・ベースのフィルター操作のフィルターで使用できるフィールド参照は、Filter ノードでサポートされているフィールド参照のサブセットを形成します。 Filter ノードの場合と同じく、フィルターでフィールドを参照するには、パスを指定しなければなりません。 パスの各エレメントにフィールド名 (場合によっては指標付きのフィールド名) を組み込みます。
フィールド参照の構文は上のとおりです (field name (フィールド名) と Correlation Name (相関名) は ID です)。 これらの ID は、すべてのメッセージを階層構文エレメント・ツリーとして表します。 それぞれのパスでは、そのツリーの中を通る経路を指定します。その経路は、どのメッセージにもある固定点を参照するいずれかの事前定義相関名から始まり、特定の構文エレメントに到達します。 コンテンツ・ベースのフィルター操作でサポートされている相関名は、以下のとおりです。
相関名 | 目的 |
---|---|
Root | パブリッシュするメッセージのルートを指定します。 |
Properties | メッセージの標準プロパティーが存在する部分を指定します。 |
Body | メッセージのルートの最後の子を指定します。通常は、ヘッダーの後のアプリケーション・データに相当します (ただし、常にそうであるとは限りません)。 |
フィールド参照の例とそれぞれの意味を以下にまとめます。
フィールド参照 | 目的 |
---|---|
Body.Person.Address | メッセージの本文にある Person エンティティーの最初の Address フィールドを参照します。 |
Properties.Topic | メッセージの標準プロパティーにある Topic フィールドを参照します。 |
Root.MQMD.UserIdentifier | メッセージの MQMD にある UserIdentifier フィールドを参照します。 |
フィルターでは、パス・エレメントとしての "*"、配列指標としての "LAST" はサポートされていません。