create xml from node()

Prev Next

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.

Parameter

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.

Parameter 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

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