Il programma di analisi XML e i valori null

Questo argomento descrive come il programma di analisi XML gestisce i null espliciti.

Il dominio XML non ha il concetto di un valore null nel flusso di bit del messaggio. Non è presente una sequenza di byte in un messaggio XML che porti ad un valore null esplicito creato nella struttura ad albero del messaggio dal programma di analisi XML. Sebbene il programma di analisi non crei un campo della struttura ad albero del messaggio con un valore null esplicito, è possibile codificare ESQL all'interno del flusso di messaggi che crea un campo in questo formato.

Quando il programma di analisi XML crea un nuovo flusso di bit del messaggio dalla struttura ad albero del messaggio, è possibile che incontri dei valori null espliciti e deve essere in grado di gestirli. In questa situazione, un valore null esplicito si presenta come "nessun carattere da scrivere" e il campo è creato come tag vuote.

Nel dominio XML, esistono diversi valori che portano alla scrittura di tag XML vuote nel messaggio di output XML:

Quando questi valori sono stati scritti come tag vuote in un messaggio XML, se il messaggio XML viene successivamente analizzato, non è possibile distinguere tra questi tre casi. Quando le tag vuote sono analizzate in XML, viene creato un campo della struttura ad albero del messaggio XML che non contiene alcun valore. Questo è diverso da un campo della struttura ad albero del messaggio che contiene un valore null esplicito e da quello che contiene una stringa di lunghezza zero.

Sebbene il programma di analisi XML risolva questi tre diversi valori del campo della struttura ad albero del messaggio in uno stesso risultato nel flusso di bit del messaggio, altre operazioni della struttura ad albero del messaggio potrebbero fare una distinzione. Sebbene il programma di analisi XML non crei campi che contengono null espliciti e stringhe di lunghezza zero, è possibile eseguire operazioni nei flussi di messaggi che invece siano in grado di farlo.

Quindi, se un flusso di messaggi sta elaborando messaggi nel dominio XML, ESQL o Java devono distinguere tra un valore null esplicito, una stringa di lunghezza zero e un campo della struttura ad albero del messaggio che non contiene alcun valore. Neanche un campo che contiene il valore null esplicito è considerato null quando si codifica ESQL per eseguire la query del valore dell'elemento.

Il processo di scrittura XML può gestire questa condizione, ma altre operazioni all'interno di ESQL non considerano questo valore come null. Il dominio XML non ha il concetto di null e il programma di analisi non crea mai un campo che contenga un valore null esplicito. Poiché il dominio XML è un dominio basato sui caratteri, quando il valore di un campo è sottoposto a query, esso restituisce il risultato come campo di caratteri. Se si crea un campo della struttura ad albero del messaggio XML con un valore null esplicito, questo non viene visto come valore null per quelle routine ESQL che richiamano il valore del campo della struttura ad albero del messaggio.

Ciò che viene restituito è una rappresentazione in caratteri del contenuto del campo, che in questo caso è la stringa di caratteri 'NULL'. Ad esempio, se si fanno dei paragoni con IS NULL, questi non daranno mai un valore TRUE. Se si copia questo campo della struttura ad albero del messaggio su un'altra struttura ad albero del messaggio, il campo della struttura ad albero del messaggio di destinazione viene popolato con la stringa di caratteri 'NULL'.

Concetti correlati
Panoramica di ESQL
Struttura ad albero logica
Nomi di correlazione
Attività correlate
Progettazione di un flusso di messaggi
Sviluppo di ESQL
Sviluppo di Java
Manipolazione del contenuto del messaggio
Manipolazione dei messaggi nel dominio XML
Riferimenti correlati
Nodi integrati
Strutture XML
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac00605_