El formato físico XML soporta el manejo de valores nulos en los mensajes. Las propiedades Codificación de nulo para XML sólo se establecen en el conjunto de mensajes y se aplican a todos los objetos definidos del conjunto de mensajes.
Puede utilizar las siguientes dos propiedades para representar la codificación numérica y no numérica de NULL en el formato físico XML:
- Codificación de nulo numérico
- Codificación de nulo no numérico
Estas propiedades representan la codificación numérica y no numérica para NULL, respectivamente.
- Los tipos de datos numéricos son:
- Tipos de esquema decimales: decimal, integer, negativeInteger,
nonNegativeInteger, nonPositiveInteger, positiveInteger, unsignedLong
- Tipos
de esquema flotantes: double, float
- Tipos de esquema de entero:
byte, int, long, short, unsignedByte, unsignedInt, unsignedShort
- Los tipos de datos no numéricos son:
- Tipos de esquema binarios: base64Binary, hexBinary
- Tipos de esquema booleanos: Boolean
- Tipos de esquema
de fecha y hora: date, dateTime, gDay, gMonth, gMonthDay, gYear, gYearMonth,
time
- Tipos de esquema de serie: anyURI, ENTITIES, ENTITY, ID, IDREF, IDREFS, language, Name,
NCName, NMTOKEN, NMTOKENS, normalizedString, NOTATION, QName, string, token
Cada una de estas codificaciones tiene los valores enumerados siguientes:
- NULLEmpty (valor predeterminado)
- NULLValue
- NULLXMLSchema
- NULLValueAttribute
- NULLAttribute (obsoleto)
- NULLElement (obsoleto)
No tiene que proporcionar información adicional
para NULLEmpty, NULLXMLSchema y NULLValueAttribute,
pero si selecciona NULLValue, NULLAttribute o NULLElement,
debe definir valores adicionales para asignarlos de modo que representen la condición NULL
en las propiedades de conjunto de mensajes Valor de codificación de nulo numérico y Valor de codificación de nulo no numérico.
La tabla siguiente muestra cómo funciona cada codificación. Para cada codificación, el XML de ejemplo hará que al elemento myElem se le asigne un valor NULL.
Codificación de nulo numérico
Codificación de nulo no numérico
|
Valor de codificación de nulo numérico
Valor de codificación de nulo no numérico
|
XML de ejemplo |
NULLEmpty |
|
<myElem/>
<myElem></myElem>
|
NULLValue |
zzz |
<myElem>zzz</myElem> |
NULLXMLSchema |
|
<myElem xsi:nil='true'/>1 5 |
NULLValueAttribute |
|
<myElem></myElem>2
<parent id="myElem"></parent>3
|
NULLElement |
null4 |
<myElem><null/></myElem> |
NULLAttribute |
null4 |
<myElem null='true'/>1 |
Notas: - El atributo se debe evaluar en true, por lo tanto, el valor debe ser true, 1 o la propiedad Valor booleano verdadero.
- Este valor sólo es válido para la devolución del elemento XMLElementAttrVal, como se especifica en el apartado Opciones de devolución XML.
Marcar un elemento como devuelto de este modo y establecerlo en nulo es equivalente a suprimir el atributo del elemento que proporciona el valor del elemento.
- Este valor sólo es válido para la devolución del elemento XMLElementAttrIdVal, tal como se especifica en Opciones de devolución XML.
Marcar un elemento como devuelto de este modo y establecerlo en nulo es equivalente a suprimir el atributo del elemento que proporciona el valor del elemento pero sin suprimir el atributo que proporciona el nombre del elemento.
- Tanto NULLElement como NULLAttribute son obsoletos. El nombre del elemento o atributo proporcionado no debe incluir un URI de espacio de nombres o prefijo. Si se habilitan espacios de nombres para el conjunto de mensajes, el nombre coincide con cualquier espacio de nombres.
xsi:nil no se soporta con elementos complejos de MRM-XML.