Function DE Version 10.01

@XMLCreate

XML

Syntax

@XMLCreate(Flags);

Beschreibung

Diese @Function erzeugt ein neues, leeres XML-Dokument.
Das erzeugte XML-Dokument verwendet XML-Version 1.0. Die übergebenen Flags werden im erzeugten VSPECHXMLDOC (XMLD) Handle gespeichert und an später daraus abgeleitete XML-Handles weitergegeben.
Nach Abschluss der Verarbeitung sollte das XML-Dokument mit @XMLRelease wieder freigegeben werden.

FN Flags (Optional):
Numerischer Wert mit Optionen für die weitere Verarbeitung des XML-Dokuments.

BIT   DEC   HEX   BEDEUTUNG wenn gesetzt
01   000001   00001   XML_FLAG_OUTPUT_TRANSLATE_LMBCS   (Konvertiert die Abfrage-Ergebnisse nach LMBCS)
02   000002   00002   XML_FLAG_QUERY_TRANSLATE_UTF8   (Konvertiert die Abfrage-Parameter nach UTF-8)
03   000004   00004   XML_FLAG_INPUT_TRANSLATE_UTF8   (Konvertiert die Eingabedaten vor dem Parsen nach UTF-8)
Die Flags können miteinander kombiniert werden und werden an abgeleitete Handle vererbt.

Return-Wert:
Bei erfolgreicher Ausführung liefert die @Function ein VSPECHXMLDOC (XMLD) Handle auf das neu erzeugte XML-Dokument zurück.
Kann das XML-Dokument nicht erzeugt werden oder ist der Parameter Flags ungültig, liefert die @Function @ERROR.
Das erzeugte Dokument enthält zunächst noch kein Root-Element. Dieses kann anschließend beispielsweise mit @XMLCreateRoot erzeugt werden.
Nach Abschluss der Verarbeitung sollte das XML-Dokument mit @XMLRelease wieder freigegeben werden.

Hinweise:
Externe Netzwerkressourcen werden beim Parsen nicht geladen. Ebenso ist die Verarbeitung externer XML-Entities deaktiviert.
Die mit @XMLParse erzeugte XML-Dokumentreferenz bleibt gültig, bis sie mit @XMLRelease freigegeben wird.

Beispiel: @XMLCreate(Flags);

Flags := 7;
hXMLD := @XMLCreate(Flags);
hXMLRoot := @XMLCreateRoot(hXMLD;"customer");

…

@XMLRelease(hXMLD);

Das Beispiel erzeugt ein neues XML-Dokument mit den angegebenen Flags und fügt anschließend ein Root-Element mit dem Namen "customer" hinzu.