Version 11 (Geändert)
DOM Parse XML source (Dokument{; Gültigkeitsprüfung{; dtd | schema}}) String
Parameter | Typ | Beschreibung | |
Dokument | String | Zugriffspfad für Dokument | |
Gültigkeitsprüfung | Boolean | Wahr = Bestätigung durch DTD, | |
Falsch = Keine Bestätigung | |||
dtd | schema | String | Speicherort des DTD oder XML Schemas | |
Funktionsergebnis | String | Referenz des XML Elements (16 Zeichen) |
Beschreibung
Die Funktion DOM Parse XML source analysiert ein Dokument mit einer XML Struktur und gibt eine Referenz auf dieses Dokument zurück. Die Funktion kann je nach Ergebnis das Dokument über DTD oder ein XML Schema ( XSD-Dokument = XML Schema Definition) bestätigen bzw. nicht bestätigen. Das Dokument kann auf der Festplatte oder im Internet/Intranet liegen.
Im Parameter Dokument übergeben Sie:
entweder den vollständigen Standard-Zugriffspfad (unter Windows C:\Ordner\Datei\... auf Mac OS:Ordner:Datei)
oder einen Unix-Pfad unter Mac OS (der mit "/" beginnen muss).
oder einen Netzwerkpfad vomTyp http://www.site.com/Datei bzw. ftp://public.ftp.com...
Der Boolean Parameter Gültigkeitsprüfung gibt an, ob die Struktur bestätigbar ist oder nicht.
Hat Gültigkeitsprüfung den Wert Wahr, wird die Struktur bestätigt. In diesem Fall versucht der Parser, die XML Struktur des Dokuments zu bestätigen, auf Basis der im Dokument definierten DTD oder XSD Referenz bzw. über die DTD bzw. das XML Schema des Parameters dtd / schema, wenn er übergeben ist.
Hat Gültigkeitsprüfung den Wert Falsch, wird die Struktur nicht bestätigt.
Übergeben Sie im Parameter Gültigkeitsprüfung Wahr und lassen den dritten Parameter weg, versucht die Funktion, die XML Struktur über eine DTD oder XSD Referenz zu bestätigen, die in der Struktur selbst vorhanden ist. Diese Bestätigung kann indirekt sein: Enthält die Struktur eine Referenz auf eine DTD Datei, die wiederum eine Referenz auf eine XSD Datei enthält, versucht die Funktion, beide Bestätigungen auszuführen.
Der Parameter dtd | schema gibt die spezifische DTD oder ein XML Schema zum Durchlaufen des Dokuments an. Verwenden Sie diesen Parameter, berücksichtigt die Funktion nicht die DTD, die im XML Dokument angegeben wird.
Bestätigung über DTD
Es gibt zwei Wege zur Definition von DTD:
Als eine Referenz. Dazu übergeben Sie im Parameter dtd / schema den vollständigen Zugriffspfad der neuen DTD (Endung .dtd). Enthält das angegebene Dokument keine gültige DTD, wird der Parameter ignoriert und ein Fehler angezeigt.
Direkt in einem Text. Beginnt der Inhalt des Parameters mit "<?xml", betrachtet 4D das als DTD; sonst als Zugriffspfad.
Bestätigung über schema
Um das Dokument über ein XML Schema zu bestätigen, übergeben Sie im dritten Parameter eine Datei bzw. URL mit der Endung "xsd" anstatt "dtd". Die Bestätigung über XML Schema ist in der Regel flexibler und leistungsstärker als die Bestätigung über DTD, da die Sprache von XSD Dokumenten auf XML Sprache basieren. Außerdem unterstützen XML Schemas Datentypen. Weitere Informationen dazu finden Sie im Internet unter: http://www.w3.org/XML/Schema.
Ist keine Gültigkeitsprüfung möglich (kein DTD bzw. XSD, inkorrekte URL, etc.), wird ein Fehler generiert. Die Systemvariable Error gibt die Fehlernummer an. Sie können diesen Fehler mit einer Methode auffinden, die der Befehl ON ERR CALL aufruft.
Die Funktion gibt einen String mit 16 Zeichen zurück (ElementRef), der die Referenz im Speicher der virtuellen Struktur des Dokuments enthält. Diese Referenz müssen Sie zusammen mit anderen XML Befehlen zum Parsen verwenden.
Wichtig: Benötigen Sie die Funktion nicht länger, denken Sie daran, den Befehl DOM CLOSE XML mit dieser Referenz aufzurufen, um den Speicher wieder freizumachen.
Beispiele
(1) XML Dokument auf Festplatte ohne Gültigkeitsprüfung öffnen:
$xml_Struct_Ref:=DOM Parse XML source("C:\\import.xml")
(2) XML Dokument neben der Strukturdatei der Datenbank ohne Gültigkeitsprüfung öffnen:
$xml_Struct_Ref:=DOM Parse XML source("import.xml")
(3) XML Dokument auf Festplatte und mit Gültigkeitsprüfung über eine DTD auf der Festplatte öffnen:
$xml_Struct_Ref:=DOM Parse XML source("C:\\import.xml";True;"C:\\import_dtd.xml")
(4) XML Dokument in einer spezifischen URL ohne Gültigkeitsprüfung öffnen:
$xml_Struct_Ref:=DOM Parse XML source("http://www.4D.com/xml/import.xml")
Referenz
DOM CLOSE XML, DOM Parse XML variable.
Systemvariablen oder Mengen
Wurde die Funktion korrekt ausgeführt, wird die Systemvariable OK auf 1 gesetzt, sonst auf 0 (Null).