Il formato XML Wire Format supporta la gestione di valori nulli all'interno dei messaggi. Le proprietà Null di codifica
per il formato XML vengono impostate solo nella serie di messaggi e sono valide per tutti gli oggetti definiti all'interno della serie di messaggi.
Per rappresentare la codifica numerica e non numerica del valore NULL all'interno del formato XML Wire Format, utilizzare le seguenti due proprietà:
- Valore null numerico di codifica
- Valore null non numerico di codifica
Queste rappresentano rispettivamente le codifiche
numeriche e non numeriche per i valori NULL.
- I tipi di dati numerici sono:
- Tipi di schemi decimali: decimale, numero intero, numero intero negativo, numero intero non negativo, numero intero non positivo, numero intero positivo
- Tipi di schemi Float: Double, Float
- Tipi di schemi a numero intero: byte, int, Long, Short, unsignedByte, unsignedInt, unsignedLong, unsignedShort
- I tipi di dati non numerici sono:
- Tipi di schemi binari: base64Binary, hexBinary
- Tipi di schemi booleani: Boolean
- Tipi di schemi data/ora: data, data/ora, gDay, gMonth, gMonthDay, gYear, gYearMonth, ora
- Tipi di schemi String: anyURI, duration, ENTITIES, ENTITY, ID,
IDREF, IDREFS, language, Name, NCName, NMTOKEN, NMTOKENS, normalizedString,
NOTATION, QName, String, Token
Ciascuna di queste codifiche dispone dei seguenti valori numerati:
- NULLEmpty (valore predefinito)
- NULLValue
- NULLXMLSchema
- NULLValueAttribute
- NULLAttribute (valore obsoleto)
- NULLElement (valore obsoleto)
Non è necessario fornire informazioni aggiuntive per NULLEmpty, NULLXMLSchema e NULLValueAttribute,
ma se si seleziona NULLValue o NULLAttribute oppure NULLElement,
è necessario definire l'assegnazione di ulteriori valori per rappresentare la condizione NULL
nelle proprietà della serie di messaggi Valore null numerico di codifica e Valore null non numerico di codifica.
Nella tabella riportata di seguito viene riportata la modalità di funzionamento di ciascuna codifica. Per ciascuna codifica, l'XML di esempio provoca l'assegnazione del valore NULL all'elemento myElem:
Note: - Viene utilizzato il valore booleano True.
- Ciò è valido solo per la rappresentazione dell'elemento XMLElementAttrVal, come indicato in Opzioni di rappresentazione del XML.
L'operazione di contrassegnare l'elemento come rappresentato con tale modalità e di impostarlo su nullo equivale a rimuovere l'attributo dell'elemento che descrive i dettagli del valore dell'elemento.
- Ciò è valido solo per la rappresentazione dell'elemento XMLElementAttrIdVal, come indicato in Opzioni di rappresentazione del XML.
L'operazione di contrassegnare l'elemento come rappresentato con tale modalità e di impostarlo su nullo equivale a rimuovere l'attributo dell'elemento che descrive i dettagli del valore dell'elemento ma non a rimuovere l'id attributo.
Valore null numerico di codifica
Valore null non numerico di codifica
|
Valore null numerico di codifica
Valore null non numerico di codifica
|
XML di esempio |
NULLEmpty |
|
<myElem/>
<myElem></myElem>
|
NULLValue |
zzz |
<myElem>zzz</myElem> |
NULLXMLSchema |
|
<myElem xsi:nil='true'/>1 |
NULLValueAttribute |
|
<myElem></myElem>2
<parent id="myElem"></parent>3
|
NULLElement |
null4 |
<myElem><null/></myElem> |
NULLAttribute |
null4 |
<myElem null='true'/>1 |
Note: - E' necessario che l'attributo sia valutato come true ed è pertanto necessario che il valore sia "true" o "1" oppure la proprietà Valore booleano True.
- Ciò è valido solo per la rappresentazione dell'elemento XMLElementAttrVal, come indicato in Opzioni di rappresentazione del XML.
L'operazione di contrassegnare l'elemento come rappresentato con tale modalità e di impostarlo su nullo equivale a rimuovere l'attributo dell'elemento che fornisce il valore dell'elemento.
- Ciò è valido solo per la rappresentazione dell'elemento XMLElementAttrIdVal, come indicato in Opzioni di rappresentazione del XML.
L'operazione di contrassegnare l'elemento come rappresentato con tale modalità e di impostarlo su nullo equivale a rimuovere l'attributo dell'elemento che fornisce il valore dell'elemento ma non a rimuovere l'attributo che fornisce il nome dell'elemento.
- NULLElement e NULLAttribute sono obsoleti. E' necessario che il nome attributo o elemento fornito non includa un prefisso o URI spazio dei nomi.
Se gli spazi dei nomi sono abilitati per la serie di messaggi, il nome corrisponde a qualsiasi spazio dei nomi.
Non è necessario fornire chiarificazioni aggiuntive per NULLEmpty e NULLValAttr,
ma se si seleziona NULLValue o NULLAttribute oppure NULLElement,
è necessario definire l'assegnazione di ulteriori valori per rappresentare la condizione NULL
nelle proprietà della serie di messaggi Valore null numerico di codifica e Valore null non numerico di codifica (fare riferimento alla tabella riportata sopra).