Auf den Inhalt einer Nachricht in der MRM-Domäne zugreifen, wenn die Namespace-Unterstützung aktiviert ist

Nutzen Sie die Namespaces für Nachrichten, die vom MRM-Parser syntaktisch analysiert werden.

Wenn Sie auf Elemente einer Nachricht zugreifen möchten und Namespaces aktiviert sind, müssen Sie bei der Codierung des ESQL-Verweises auf das Element den Namespace einfügen. Andernfalls durchsucht der Broker den Namespace no target. Wird das Element im Namespace no target nicht gefunden, durchsucht der Broker alle anderen bekannten Namespaces im Nachrichtenverzeichnis (d. h. innerhalb der implementierten Nachrichtengruppe). Geben Sie aus Gründen der Leistung und Integrität immer die Namespaces an, falls diese relevant sind.

Die effektivste Weise des Verweises auf Elemente, wenn Namespaces aktiviert sind, besteht in der Definition einer Namespace-Konstante und deren Verwendung in den entsprechenden ESQL-Anweisungen. Durch dieses Verfahren wird die Lesbarkeit und Verwaltung Ihres ESQL-Codes erheblich vereinfacht.

Definieren Sie eine Konstante mithilfe der Anweisung DECLARE NAMESPACE:

DECLARE ns01 NAMESPACE 'http://www.ns01.com'
.
.
SET OutputRoot.MRM.Element1 = InputBody.ns01:Element1;

ns01 wird aufgrund seiner Deklarationsweise richtigerweise als Namespace interpretiert.

Sie können für die Deklaration eines Namespace auch eine CHARACTER-Variable verwenden:

DECLARE ns02 CHARACTER 'http://www.ns02.com'
.
.
SET OutputRoot.MRM.Element2 = InputBody.{ns02}:Element2;

Wenn Sie diese Methode verwenden, müssen Sie die deklarierte Variable in geschweifte Klammern einschließen, um sicherzustellen, dass sie als Namespace interpretiert wird.

Wenn Sie befürchten, dass eine CHARACTER-Variable geändert werden könnte, können Sie eine CONSTANT CHARACTER-Deklaration verwenden:

DECLARE ns03 CONSTANT CHARACTER 'http://www.ns03.com'
.
.
SET OutputRoot.MRM.Element3 = InputBody.{ns03}:Element3;

Sie können einen Namespace, eine Konstante und eine Variable innerhalb eines Moduls oder in einer Funktion deklarieren. Im Schemabereich (d. h. außerhalb eines Modulbereichs) können Sie jedoch nur einen Namespace oder eine Konstante deklarieren.

Das folgende Beispiel bietet weitere Beispiele für die Verwendung von Namespaces: Sie können Beispiele nur anzeigen, wenn Sie das Information Center verwenden, das im Message Brokers Toolkit integriert ist.

Da Namespaces in Version 2.1 nicht unterstützt werden, können Sie für einen Broker der Version 2.1 keine Nachrichtengruppen und Nachrichtenflüsse implementieren.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Übersicht zu ESQL
Nachrichten modellieren
Namensbereiche im Nachrichtenmodell
Zugehörige Tasks
Nachrichtenfluss entwerfen
ESQL-Dateien verwalten
Nachrichtenmodelle entwickeln
Zugehörige Verweise
ESQL-Referenz
DECLARE-Anweisung
SET-Anweisung
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:19

ac12390_