Leere Elemente und Nullwerte kommen häufig in XML-Dokumenten vor.
In einem stabilen Nachrichtenfluss müssen leere Elemente und Nullwerte erkannt und entsprechend behandelt werden. Entsprechend können Elemente in einer Nachrichtenbaumstruktur den Wert NULL, einen leeren Wert oder überhaupt keinen Wert haben. In diesem Abschnitt wird beschrieben, wie diese Werte von der XMLNSC-Domäne syntaktisch analysiert und geschrieben werden. Einzelheiten zur Verarbeitung von Nullwerten in grafischen Datenzuordnungen und ESQL finden Sie unter Nullwerte handhaben.
Beschreibung | XML-Eingabe, die von XMLNSC syntaktisch analysiert wird | Wert von 'element' in der Nachrichtenbaumstruktur |
---|---|---|
Leerer Elementwert | <element/> | Leere Zeichenfolge |
Leerer Elementwert | <element></element> | Leere Zeichenfolge |
Ordner mit untergeordneten Elementen | <element><childElement/></element> | Kein Wert |
Wert des Elements 'nil' | <element xsi:nil="true"/> | Kein Wert und untergeordnetes xsi:nil-Attribut mit dem Wert 'true' |
Hinweis: Beide Formate eines leeren Elements ergeben den gleichen Wert in der Nachrichtenbaumstruktur.
Beschreibung | Wert von 'element' in der Nachrichtenbaumstruktur | XML-Ausgabe vom XMLNSC-Parser |
---|---|---|
Leerer Elementwert | Leere Zeichenfolge | <element/> |
Elementwert 'null' | NULL | <element/> |
Ordner mit untergeordneten Elementen | Kein Wert | <element><childElement/></element> |
Wert des Elements 'nil' | Leere Zeichenfolge, NULL oder Ordner | <element xsi:nil="true"/> Beachten Sie, dass der XMLNSC-Parser nur xsi:nil-Attribute erzeugt, die sich bereits in der Nachrichtenbaumstruktur befinden. Er erzeugt nicht automatisch xsi:nil-Attribute für alle Elemente in der Nachrichtenbaumstruktur, die den Wert NULL haben und auf null festlegbar sind. |
- <element/>
- <element></element>
Beide Formate werden vom XMLNSC-Parser gleich behandelt. Das Element wird zur Nachrichtenbaumstruktur mit dem Wert "" hinzugefügt (die leere Zeichenfolge).
Wenn eine Nachrichtenbaumstruktur vom XMLNSC-Parser erzeugt wird, verwendet dieser stets das erste Format für Elemente mit dem Wert "" (die leere Zeichenfolge).
Wenn die Auswertung für den Nachrichtenfluss aktiviert ist, führt der XMLNSC-Parser die folgenden Auswertungen durch:
Wenn das Element im Dokument ein Attribut xsi:nil mit dem Wert 'true' hat, darf das Element weder einen Wert haben noch untergeordnete Elemente enthalten.
Das Element im Eingabedokument darf kein Attribut xsi:nil haben.
Wenn ein Element im Eingabedokument ein Attribut xsi:nil hat, erstellt der XMLNSC-Parser ein Element ohne Wert in der Nachrichtenbaumstruktur ohne Wert und, sofern angemessen, ein untergeordnetes Attribut xsi:nil mit dem Wert 'true' oder 'false'.
Wenn der XMLNSC-Parser eine Nachrichtenbaumstruktur in einen Bitdatenstrom schreibt und das Element leer oder null ist oder keinen Wert und keine untergeordneten Elemente hat, wird das Element als <element/> geschrieben. Wenn das Element ein Attribut xsi:nil hat, wird es genau wie alle anderen Attribute geschrieben.
Beachten Sie, dass der XMLNSC-Parser nur xsi:nil-Attribute erzeugt, die sich bereits in der Nachrichtenbaumstruktur befinden. Er erzeugt nicht automatisch xsi:nil-Attribute für alle Elemente in der Nachrichtenbaumstruktur, die den Wert NULL haben und auf null festlegbar sind.