O Formato de Ligação XML suporta a manipulação de valores nulos nas mensagens. As propriedades Codificação Nula para XML são configuradas somente no conjunto de mensagens e aplicam-se a todos os objetos definidos no conjunto de mensagens.
Você pode utilizar as duas propriedades a seguir para representar a codificação numérica e a codificação não numérica para NULL no Formato de Ligação XML:
- Codificação Nula Numérica
- Codificação Nula Não Numérica
Representam a codificação numérica e não numérica para NULL respectivamente.
- Os tipos de dados numéricos são:
- Tipos de esquemas decimais: decimal, integer,
negativeInteger, nonNegativeInteger, nonPositiveInteger,
positiveInteger
- Tipos de esquemas
flutuantes: double, float
- Tipos de
esquemas inteiros: byte, int, long, short, unsignedByte, unsignedInt,
unsignedLong, 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,duration, 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 designados 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 fará com que o elemento
myElem receba um valor NULL:
Notas: - O valor de Boolean True é utilizado.
- Válido apenas para o processamento do elemento XMLElementAttrVal,
conforme especificado em Opções de Processamento XML.Marcar um elemento como sendo processado
dessa forma e defini-lo como nulo é equivalente a remover o atributo
do elemento que detalhou o valor do elemento.
- Válido apenas para o processamento do elemento XMLElementAttrIdVal,
conforme especificado em Opções de Processamento XML.
Marcar um elemento como sendo processado
dessa forma e defini-lo como nulo é equivalente a remover o atributo
do elemento que detalhou o valor do elemento, mas não é equivalente a remover
o id do atributo.
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 |
NULLValueAttribute |
|
<myElem></myElem>2
<parent id="myElem"></parent>3
|
NULLElement |
null4 |
<myElem><null/></myElem> |
NULLAttribute |
null4 |
<myElem null='true'/>1 |
Notas: - O atributo deve avaliar como verdadeiro, portanto, o valor deve ser "true", "1" ou a propriedade Valor Booleano Verdadeiro.
- Válido apenas para o processamento do elemento XMLElementAttrVal,
conforme especificado em Opções de Processamento 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.
- Válido apenas para o processamento do elemento XMLElementAttrIdVal,
conforme especificado em Opções de Processamento 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 de
elemento ou atributo fornecido não deve incluir um URI ou prefixo de 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.
Você não tem que fornecer explicação adicional para
NULLEmpty e
NULLValAttr, mas se
você selecionar
NULLValue,
NULLAttribute ou
NULLElement, deverá
definir outros valores a serem designados para representar a condição
NULL nas propriedades do conjunto de mensagens
Codificação de Valor Numérico
Nulo e Codificação de
Valor Não Numérico Nulo (consulte a tabela acima).