En los documentos XML aparecen con frecuencia elementos vacíos y valores nulos.
Un flujo de mensajes potente debe poder reconocer y manejar los elementos vacíos y los valores nulos. Del mismo modo, los elementos de un árbol de mensaje pueden tener un valor nulo, un valor vacío o ningún valor. En este tema se explica cómo se analizan y se escriben estos valores en el dominio XMLNS. Para obtener información sobre buenas prácticas de codificación de ESQL o Java™, consulte Manejo de valores nulos.
Descripción | Entrada XML analizada por XMLNS | Valor del 'elemento' en el árbol de mensaje |
---|---|---|
Valor de elemento vacío | <element/> | Serie vacía |
Valor de elemento vacío | <element></element> | Serie vacía |
Carpeta con elementos hijo | <element><childElement/></element> | Sin valor |
Valor de elemento Nil | <element xsi:nil="true"/> | Serie vacía |
Tenga en cuenta que los dos formatos de un elemento vacío dan como resultado el mismo valor en el árbol de mensaje.
Tenga en cuenta también que el analizador no se coloca nunca un valor NULL en el árbol de mensaje.
Descripción | Valor del 'elemento' en el árbol de mensaje | Salida XML del analizador XMLNS |
---|---|---|
Valor de elemento vacío | Serie vacía | <element/> |
Valor de elemento nulo | NULL | <element/> |
Carpeta con elementos hijo | Sin valor | <element><childElement/></element> |
- <element/>
- <element></element>
El analizador XMLNS trata los dos formatos del mismo modo. El elemento se añade al árbol de mensaje con un valor de “” (la serie vacía).
Cuando el analizador XMLNS genera un árbol de mensajes, siempre utiliza el primer formato para los elementos que tienen un valor “” (la serie vacía).
El analizador XMLNS trata el atributo xsi:nil exactamente como cualquier otro atributo. Cuando se encuentra xsi:nil durante el análisis, no establece el valor del elemento padre en NULL. Si requiere este comportamiento debe utilizar el analizador XMLNSC. Cuando se escribe un árbol de mensaje, si existe un atributo xsi:nil su salida se generará del mismo modo que cualquier otro atributo.