create xml from node(a, b, c, d, e, f, g, h, i)
Gruppe |
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
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 |
|
|
|
|
|
|
|
|