create xml from node(a, b, c, d, e, f, g)

Gruppe

XML


Die Funktion erstellt eine XML-Datei auf Grundlage des Knotens, der in Parameter a angegeben ist. Wird kein Wert gesetzt, wird der Knoten verwendet, in dem sich das Feld befindet mit dieser Funktion. Alle Parameter können optional gesetzt werden.

Parameterbeschreibung


Parameter

Beschreibung

a

(optional) Name des Knotens, ab diesem das XML erzeugt wird.

b

(optional) true, falls kein XML-Header erzeugt werden soll. Default: false.

c

(optional) Wird die speichersichere Methode verwendet (true oder false), werden Elemente bei der Erzeugung ins Dateisystem ausgelagert. Dies ist die bevorzugte Variante bei größeren Datenmengen.

d

(optional) Bei Verwendung der speichersicheren Variante (Parameter c = true) wird hier der Schwellwert angegeben ab wie vielen Elementen in das Dateisystem ausgelagert wird. Default: 1000.

e

(optional) Vererbung von Namespaces (true oder false).

f

(optional) true, um Felder mit den enthaltenen Whitespaces auszugeben (auch wenn nur Whitespaces vorhanden sind). Default: false.

g

(optional) true, um Feldnamen D-_... und F-_... zu ersetzen durch _... (schneidet also D- und F- weg).


Parameterbeschreibung für die XML-Behandlung im Zielbaum


Um den Aufbau von XML Elementen im Zielbaum steuern zu können werden Eigenschaften in Zielknoten/Feldern sowie spezielle Felder mit reservierten Namensendungen verwendet.

Eigenschaften im Zielknoten:


  • XML Namespace: Über diese Eigenschaft kann dem Element, welches aus dem Knoten erzeugt wird, ein XML Namespace zugeordnet werden z. B: soapenv. Alle, im Knoten enthaltenen Elemente bekommen so automatisch den selben Namespace insofern dort kein anderer gesetzt ist. Soll kein Namespace angegeben werden muss DEFAULT eingetragen werden.

  • XML/JSON Behandlung: Diese Eigenschaft steuert, in welcher Form der Knoten in das XML aufgenommen wird. Folgende Einstellungen sind möglich:

  • Normal: Der Knoten wird als Element im XML erzeugt.

  • Exkludieren: Der Knoten wird bei der Erzeugung ignoriert.

  • Transparent: Der Knoten selbst erzeugt kein XML Element, aber der Inhalt im Knoten wird berücksichtigt.

  • Array: (Dieser Wert ist nicht relevant für diese Funktion.)

  • Array Transparent: (Dieser Wert ist nicht relevant für diese Funktion.)

Eigenschaften im Zielfeld:


  • XML Namespace: Über diese Eigenschaft kann dem Element, welches aus dem Feld erzeugt wird, ein XML Namespace zugeordnet werden z. B: soapenv. Zusätzlich kann über diese Eigenschaft auch ein Namespace definiert werden. Beispiel: soapenv=http://schemas.xmlsoap.org/soap/envelope/. Soll kein Namespace angegeben werden muss DEFAULT eingetragen werden.

Reservierte Feldnamen zur Steuerung:

Innerhalb eines Knotens können Felder angelegt werden, die eine weitere Steuerung ermöglichen. Dabei sind folgende Endungen in den Feldnamen reserviert:


  • _val: Ein Feld mit dieser Endung enthält den Wert des XML Elements.

  • _attr: (z.B. id_attr) Über Felder mit dieser Endung können Attribute dem XML Element hinzugefügt werden. Im Beispiel würde hier das Attribut id dem Element hinzugefügt.

  • _nsdef: (z.B. xsd_nsdef) Im XML Element wird ein weiterer Namespace (hier xsd) definiert. Der Inhalt des Feldes entspricht dem Namespace, also z. B. http://www.w3.org/2001/XMLSchema

  • _name: Der Name des XML Elements entspricht nicht mehr dem Knotennamen sondern wird aus dem Feld genommen.

Beispiele


Im folgendem Beispiel wurden die vier reservierten Feldnamen verwendet. Der Knoten Rootnode wird umbenannt im Feld Rootnode_name als Fixwert in Envelope. Die drei Namespaces werden in den drei Feldern wsdw_nsdef, xsd_nsdef und xsi_nsdef deklariert und der Namespace soapenv wird aus den Eigenschaften des Zielfedes (s.o.) entnommen. Der SoapRequest erhält als Fixwert den Wert 1 als Attribut im Feld ID_attr. Das Feld item_val erhält die Werte des XML_Elementes. Im Feld create_xml_from_node wird die hier beschriebene Funktion verwendet,um eine XML-Datei zu erstellen. Folgende Parameter wurde im Beispiel eingestellt:

Parameter a

Parameter b

Parameter c

Parameter d

Parameter e

Ergebnis

Rootnode





siehe Datei: XMLout.xml

XMLout.xml
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://test.de" xmlns:wsdw="http://tempuri.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:SoapRequest soapenv:ID="1">
<soapenv:item>0815</soapenv:item>
<soapenv:item>0816</soapenv:item>
</soapenv:SoapRequest>
</soapenv:Body>
</soapenv:Envelope>


images/download/attachments/106955433/create_xml_from_node-version-1-modificationdate-1655795234014-api-v2.png