E' possibile sfruttare il supporto spazio dei nomi per quei messaggi che sono analizzati dal programma di analisi MRM.
Quando si desidera accedere agli elementi di un messaggio e gli spazi dei nomi sono abilitati, è necessario includere lo spazio dei nomi quando si codifica il riferimento ESQL all'elemento. Se non si procede in questo modo, il broker ricerca lo spazio dei nomi notarget. Se l'elemento non si trova nello spazio dei nomi notarget, il broker ricerca tutti gli altri spazi dei nomi conosciuti nel dizionario del messaggio (cioè, nella serie di messaggi distribuiti). Per motivi di prestazioni e integrità, specificare gli spazi dei nomi ovunque siano applicabili.
Il modo più efficace per fare riferimento agli elementi quando gli spazi dei nomi sono abilitati, è quello di definire una costante di spazio de nomi e utilizzarla nelle istruzioni ESQL appropriate. Questo rende il proprio codice ESQL molto più semplice da leggere e da gestire.
Definire una costante utilizzando l'istruzione DECLARE NAMESPACE:
DECLARE ns01 NAMESPACE 'http://www.ns01.com' . . SET OutputRoot.MRM.Element1 = InputBody.ns01:Element1;
ns01 è interpretato correttamente come spazio dei nomi a causa della modalità in cui è dichiarato.
E' possibile utilizzare anche una variabile CHARACTER per dichiarare uno spazio dei nomi:
DECLARE ns02 CHARACTER 'http://www.ns02.com' . . SET OutputRoot.MRM.Element2 = InputBody.{ns02}:Element2;
Se si utilizza questo metodo, è necessario includere la variabile dichiarata tra parentesi graffe per garantire che sia interpretata come spazio dei nomi.
Se si teme che una variabile CHARACTER possa essere modificata, è possibile utilizzare una dichiarazione CONSTANT CHARACTER:
DECLARE ns03 CONSTANT CHARACTER 'http://www.ns03.com' . . SET OutputRoot.MRM.Element3 = InputBody.{ns03}:Element3;
E' possibile dichiarare uno spazio dei nomi, costante e una variabile in un modulo o funzione. Tuttavia, è possibile dichiarare solo uno spazio dei nomi o una costante nell'ambito dello schema (cioè, fuori dall'ambito di un modulo).
L'esempio Video fornisce ulteriori dimostrazioni dell'utilizzo degli spazi dei nomi.
Gli spazi dei nomi non sono supportati dalla Versione 2.1, quindi non è possibile distribuire una serie di messaggi o un flusso di messaggi, che utilizza spazi dei nomi, ad un broker Versione 2.1.