Os filtros baseados em conteúdo são especificados como expressões ESQL.
.-"."-------------------------. V | >>-+--------------------+----nome do campo--+----------+-+----->< '-Nome da Correlação-' '-[ÍNDICE]-'
As referências de campo que podem ser usadas nos filtros para filtragem baseada em conteúdo formam um subconjunto daquelas suportadas pelo nó Filter. Como com o nó Filter, para referenciar um campo em um filtro, é necessário especificar um caminho. Cada elemento do caminho consiste em um nome de campo, possivelmente indexado.
A sintaxe de uma referência de campo é mostrada acima, em que nome de campo e Nome de Correlação são identificadores. Estes identificadores representam todas as mensagens como uma árvore de elementos de sintaxe hierárquica. Cada caminho identifica uma rota através dessa árvore, que leva a um elemento da sintaxe específico, iniciando a partir de um dos nomes de correlação predefinidos que se referem aos pontos fixos que cada mensagem possui. Os seguintes nomes de correlação são suportados para filtragem baseada em conteúdo:
Nome de Correlação | Propósito |
---|---|
Raiz | Identifica a raiz de uma mensagem publicada. |
Propriedades | Identifica a parte da mensagem na qual as propriedades padrão de uma mensagem se encontram. |
Corpo | Identifica o último filho da raiz da mensagem, que são geralmente, mas não sempre, os dados do aplicativo que seguem qualquer cabeçalho. |
A seguir estão alguns exemplos de referências de campos, juntamente com seus significados:
Referência de campo | Propósito |
---|---|
Body.Person.Address | Refere-se ao primeiro campo Address na entidade Person no corpo da mensagem. |
Properties.Topic | Refere-se ao campo "Topic" nas propriedades padrão de uma mensagem. |
Root.MQMD.UserIdentifier | Refere-se ao campo UserIdentifier no MQMD da mensagem. |
Observe que os elementos de caminho de "*" e o índice de matriz "LAST" não são suportados nos filtros.