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

Gruppe

XML Functions


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

Parameterbeschreibung


Parameter

Beschreibung

a

(optional) Name des Knotens, ab welchem das XML erzeugt wird. Falls der Parameter leer gelassen wird, wird der Knoten verwendet, auf/unter dem die Funktion ausgeführt wird. Wichtiger Hinweis: Verwendet der Root Node einen Namespace, dann muss Parameter c auf true gesetzt sein.

b

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

c

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

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) true zur Vererbung von Namespaces von einem Knoten aus. Default: 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). Default: false.

h

(optional) true, um definierte Namespaces zu unterdrücken. Default: false.

i

(optional) true, um auch leere Felder auszugeben. Default: false.


Parameterbeschreibung für die XML-Behandlung im Zielbaum


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

Eigenschaften in Zielstruktur-Knoten

  • "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 in Zielstruktur-Feldern


  • "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 erweiterten Steuerung


Innerhalb eines Zielstruktur-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 dem XML-Element Attribute hinzugefügt werden. Im Beispiel würde hier das Attribut id dem Element hinzugefügt werden.

  • _nsdef: (z. B. xsd_nsdef) Im XML-Element wird ein 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.

Beispiel


images/download/attachments/177899891/316-version-1-modificationdate-1717397237630-api-v2.png


Im folgendem Beispiel wurden die vier reservierten Feldnamen verwendet. Der Knoten Rootnode wird umbenannt im Feld Rootnode_name mit dem Fixwert Envelope. Die drei Namespaces werden in den drei Feldern wsdw_nsdef, xsd_nsdef und xsi_nsdef deklariert. Das Element SoapRequest erhält das Attribut ID mit Wert 1 aus dem Feld ID_attr. Das Feld item_val erhält die Werte des XML-Elementes item. Im Feld create_xml_from_node wird die hier beschriebene Funktion verwendet, um eine XML-Datei zu erstellen. Folgende Parameter wurde im Beispiel verwendet.

Parameter a

b

c

d

e

f

g

h

i

Rootnode