Los filtros basados en el contenido se especifican como expresiones ESQL.
>>-+-----------------------+------------------------------------> '-Nombre de correlación-' .-"."---------------------------. V | >----nombre de campo--+----------+-+--------------------------->< '-[ÍNDICE]-'
Las referencias de campo que se pueden utilizar en los filtros de filtrado basado en contenido forman un subconjunto de los soportados por el nodo de Filter. Como ocurre con el nodo de Filter, para hacer referencia a un campo en un filtro, debe especificar una vía de acceso. Cada elemento de la vía de acceso consta de un nombre de campo, posiblemente indexado.
La sintaxis de una referencia de campo se muestra arriba, donde nombre de campo y Nombre de correlación son identificadores. Estos identificadores representan todos los mensajes como un árbol jerárquico de elementos de sintaxis. Cada vía de acceso identifica una ruta a través de este árbol, que conduce a un elemento de sintaxis concreto, a partir de uno de los nombres de correlación predefinidos que se refieren a puntos fijos que tiene cada mensaje. Los siguientes nombres de correlación están soportados por el filtrado basado en contenido:
Nombre de correlación | Finalidad |
---|---|
Root | Identifica la raíz de un mensaje publicado. |
Properties | Identifica la parte del mensaje en que se encuentran las propiedades estándar de un mensaje. |
Body | Identifica el último hijo de la raíz del mensaje, que corresponde generalmente, pero no siempre, a los datos de aplicación que sigue a las cabeceras. |
Estos son algunos ejemplos de las referencias de campo, junto con sus significados:
Referencia de campo | Finalidad |
---|---|
Body.Person.Address | Hace referencia al primer campo Dirección en la entidad Persona en el cuerpo del mensaje. |
Properties.Topic | Hace referencia al campo "Tema" de las propiedades estándar de un mensaje. |
Root.MQMD.UserIdentifier | Hace referencia al campo UserIdentifier del MQMD del mensaje. |
Observe que los elementos de la vía de acceso de "*" y el índice de matriz "LAST" no están soportados en los filtros.