Gestione dei valori null in mappe di messaggi

Un messaggio potrebbe contenere campi che possono contenere un valore fuori intervallo specifico. Questo è diverso dal campo vuoto. Tali valori vengono definiti nil o nulle il campo viene definito nillable o nullable.

Informazioni su questa attività

La struttura ad albero logica del messaggio supporta il concetto di valori fuori intervallo utilizzando una delle seguenti due tecniche, a seconda del formato dei dati:

  1. Per XML, il modello di schema consente agli elementi di essere definiti come nillable per indicare che supportano un valore null fuori intervallo. Un elemento XML in un documento viene identificato come nilled, che rappresenta il valore null, avendo un attributo xsi: nil con il valore true. La struttura ad albero logica del programma di analisi XMLNSC per un elemento nilled ha un valore vuoto e un attributo child impostato su xsi: nil, con il valore true. Per gli elementi che non sono definiti come nillable, non è possibile distinguere tra un valore vuoto o un valore null.
  2. Per altri messaggi di testo e binari modellati con uno schema DFDL o una serie di messaggi MRM, gli elementi possono anche essere definiti come nillable per indicare che supportano un valore fuori intervallo. Nel flusso di bit del messaggio, viene identificato un valore riservato per indicare lo stato annullabile. La struttura ad albero logica dei programmi di analisi DFDL e MRM per un elemento nilled ha il valore impostato sul valore speciale NULL.
  3. Per i messaggi JSON, gli oggetti JSON e gli array JSON supportano implicitamente il valore null JSON per indicare che supportano un valore fuori intervallo. In JSON, i dati hanno un valore speciale denominato null che può essere impostato su qualsiasi tipo di dati, inclusi array, oggetti, numeri e tipi booleani. Nell' editor Mapping dei dati grafici, il formato JSON supporta null come tipo di valore JSON per un oggetto o un array. Quando un messaggio JSON include un oggetto con un valore null, il valore nella struttura ad albero del messaggio è impostato su NULL.

Quando si associano valori null, considerare il comportamento quando si utilizza la trasformazione Sposta , Java personalizzatoo ESQL personalizzato per impostare una destinazione.

La seguente tabella descrive in dettaglio il risultato quando si associano valori nilled a diversi tipi di destinazione:
Origine Destinazione (XML nillable) Destinazione (XML non nillable) Destinazione (Nillable non XML) Destinazione (oggetto JSON o array JSON)
Elemento nillable XML della struttura ad albero del messaggio logico La destinazione creata come nilled, ha l'attributo xsi: nil 'true', se l'origine ha l'attributo xsi: nil 'true'. Destinazione creata con un valore vuoto. Destinazione creata con valore NULL, se l'origine ha l'attributo xsi: nil 'true'. Destinazione creata con valore NULL, se l'origine ha l'attributo xsi: nil 'true'.
Elemento XML della struttura ad albero del messaggio logico impostato su NULL Destinazione creata con un valore vuoto. Un XML di origine con valore NULL non è considerato un elemento nilled. Destinazione creata con un valore vuoto. Destinazione creata con un valore vuoto. Un XML di origine con valore NULL non è considerato un elemento nilled. Destinazione creata con valore NULL.
Struttura ad albero dei messaggi logici non XML Destinazione creata come nilled. La destinazione ha l'attributo xsi: nil 'true', se l'origine è NULL. Destinazione creata con un valore vuoto. Destinazione creata con valore NULL, se l'origine è NULL. Destinazione creata con valore NULL, se l'origine è NULL.
Colonna che consente valori null del database Destinazione creata come nilled. La destinazione ha l'attributo xsi: nil 'true', se l'origine è SQL NULL. Destinazione creata con un valore vuoto. Destinazione creata con valore NULL, se l'origine è SQL NULL. Destinazione creata con valore NULL, se l'origine è SQL NULL.
ESQL personalizzato Destinazione creata come nilled. La destinazione ha l'attributo xsi: nil 'true', se la restituzione è ESQL NULL. Destinazione creata con un valore vuoto. Destinazione creata con valore NULL, se la restituzione è ESQL NULL.  
Java personalizzato™ Destinazione creata come nilled. La destinazione ha l'attributo xsi: nil 'true', se la restituzione è un MbElement con il tipo impostato su "TYPE_UNKNOWN" e un valore di "null" e un elemento child xsi: nil 'true'. Destinazione creata con un valore vuoto. Destinazione creata con valore NULL, se la restituzione è un MbElement con tipo impostato su "TYPE_UNKNOWN" e un valore "null".  
Espressione XPath personalizzata: iib:setNull() Destinazione creata come nilled. La destinazione ha l'attributo xsi: nil 'true', se l'origine ha l'attributo xsi: nil 'true'. Destinazione creata con un valore vuoto. La destinazione creata come nilled, ha l'attributo xsi: nil 'true', se l'origine ha l'attributo xsi: nil 'true'. Destinazione creata con valore null JSON.