Accesso al contenuto di un messaggio nel dominio MRM con il supporto spazio dei nomi abilitato

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.

Concetti correlati
Panoramica dei flussi di messaggi
Panoramica di ESQL
Creazione di modelli di messaggio
Spazi dei nomi nel modello di messaggio
Attività correlate
Progettazione di un flusso di messaggi
Definizione del contenuto del flusso di messaggi
Gestione dei file ESQL
Sviluppo di modelli di messaggio
Riferimenti correlati
Nodo Compute
Nodo Database
Nodo Filter
Riferimento ESQL
Istruzione DECLARE
Istruzione SET
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac12390_