O Formato de Ligação XML suporta a manipulação
de valores nulos em mensagens. As propriedades Codificação Nula
para XML são configuradas apenas no conjunto de mensagens, e se aplicam a todos os objetos
definidos no conjunto de mensagens.
É possível utilizar as duas propriedades a seguir para representar a codificação
numérica e não numérica para NULL no Formato de Ligação XML:
- Codificação Nula Numérica
- Codificação Nula Não Numérica
Estas propriedades representam a codificação numérica e não numérica
para NULL, respectivamente.
- Os tipos de dados numéricos são:
- Tipos
de Esquema Decimal: decimal, integer, negativeInteger,
nonNegativeInteger, nonPositiveInteger, positiveInteger, unsignedLong
- Tipos de esquemas
flutuantes: double, float
- Tipos de esquemas inteiros:
byte, int, long, short, unsignedByte, unsignedInt, unsignedShort
- Os tipos de dados não-numéricos são:
- Tipos de
esquemas binários: base64Binary, hexBinary
- Tipos de esquemas Booleano: Boolean
- Tipos de esquemas DateTime: date, dateTime, gDay,
gMonth, gMonthDay, gYear, gYearMonth, time
- Tipos de esquemas de cadeia:
anyURI, ENTITIES, ENTITY, ID, IDREF, IDREFS, language, Name,
NCName, NMTOKEN, NMTOKENS, normalizedString, NOTATION, QName, string, token
Cada uma dessas codificações possui os seguintes valores enumerados:
- NULLEmpty (padrão)
- NULLValue
- NULLXMLSchema
- NULLValueAttribute
- NULLAttribute (obsoleto)
- NULLElement (obsoleto)
Não é necessário fornecer informações adicionais para NULLEmpty, NULLXMLSchema e NULLValueAttribute,
mas, se você selecionar NULLValue, NULLAttribute ou NULLElement,
deverá definir valores adicionais a serem atribuídos para representar a condição NULL
nas propriedades do conjunto de mensagens Valor de Codificação Nula Numérica e Valor de Codificação Nula não Numérica.
A tabela a seguir mostra como cada codificação funciona. Para cada codificação,
o XML de exemplo faz o elemento myElem receber
um valor NULL.
Codificação Numérica Nula
Codificação Nula Não Numérica
|
Valor de Codificação Numérica Nula
Valor de Codificação Nula Não Numérica
|
XML de exemplo |
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: - O atributo deve ser avaliado como true, portanto, o valor deve ser true, 1 ou a propriedade Valor Booleano
True.
- Este valor é válido apenas para a renderização do elemento XMLElementAttrVal,
conforme especificado em Conjuntos de Mensagens: Opções de Renderização XML.
Marcar um elemento como sendo processado dessa forma e configurá-lo como nulo
é equivalente a remover o atributo do elemento que fornece o valor do
elemento.
- Este valor é válido apenas para a renderização do elemento XMLElementAttrIdVal,
conforme especificado em Conjuntos de Mensagens: Opções de Renderização XML.
Marcar um elemento como sendo processado dessa forma e configurá-lo como nulo
é equivalente a remover o atributo do elemento que fornece o valor do elemento,
mas não é equivalente a remover o atributo que fornece o nome do elemento.
- NULLElement e NULLAttribute estão obsoletos.
O nome do elemento ou atributo fornecido não deve incluir um URI ou prefixo do espaço de nomes. Se os espaços de nomes
estiverem ativados para o conjunto de mensagens, o nome corresponderá a qualquer espaço de nomes.
- xsi:nil não
é suportado com elementos complexos de MRM-XML.