Inhaltsbasierte Filter werden als ESQL-Ausdrücke angegeben.
.-"."-------------------. V | >>-+------------------+----Feldname--+---------+-+------------->< '-Korrelationsname-' '-[INDEX]-'
Die Feldverweise, die in Filtern für das inhaltsbasierte Filtern verwendet werden können, stellen eine Untergruppe der vom Filter-Knoten unterstützten Feldverweise dar. Wie im Filter-Knoten muss für den Verweis auf ein Feld in einem Filter ein Pfad angegeben werden. Jedes Pfadelement besteht aus einem möglicherweise indexierten Feldnamen.
Die Syntax eines Feldverweises ist oben zu sehen; dabei sind Feldname und Korrelationsname Kennungen. Mit diesen Kennungen werden alle Nachrichten in Form einer hierarchischen Syntaxelement-Baumstruktur dargestellt. Jeder Pfad führt durch die Baumstruktur hin zu einem bestimmten Syntaxelement; dabei bildet den Ausgangspunkt einer der vordefinierten Korrelationsnamen, die sich auf Fixpunkte beziehen, die in jeder Nachricht enthalten sind. Folgende Korrelationsnamen werden für das inhaltsbasierte Filtern verwendet:
Korrelationsname | Zweck |
---|---|
Root | Gibt das Stammelement einer veröffentlichten Nachricht an. |
Eigenschaften | Gibt den Teil der Nachricht an, der die Standardeigenschaften einer Nachricht enthält. |
Hauptteil | Bezeichnet das letzte untergeordnete Element unterhalb des Stammelements (der höchsten Ebene) der Nachricht; dabei handelt es sich in der Regel (wenn auch nicht immer) um die Anwendungsdaten im Anschluss an eventuell vorhandene Header. |
Hier einige Beispiele für Feldverweise sowie deren Bedeutung:
Feldreferenz | Zweck |
---|---|
Body.Person.Address | Verweist auf das erste Adressenfeld der Entität 'Person' im Nachrichtenhauptteil. |
Properties.Topic | Verweist auf das Feld 'Topic' in den Standardeigenschaften einer Nachricht. |
Root.MQMD.UserIdentifier | Verweist auf das Feld UserIdentifier im MQMD der Nachricht. |
Pfadelemente des Typs "*" und der Feldgruppenindex "LAST" werden in Filtern nicht unterstützt.