4D v14.3

DOM Parse XML variable

Home

 
4D v14.3
DOM Parse XML variable

DOM Parse XML variable 


 

DOM Parse XML variable ( Variable {; Gültigkeitsprüfung {; dtd | schema}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Variable  BLOB, Text in Name der Variablen
Gültigkeitsprüfung  Boolean in Wahr = Bestätigung durch DTD, Falsch = Keine Bestätigung
dtd | schema  String in Position von DTD oder des XML Schemas
Funktionsergebnis  String in Referenz des XML Elements (16 Zeichen)

Die Funktion DOM Parse XML variable analysiert eine Variable vom Typ BLOB oder Text mit einer XML Struktur und gibt eine Referenz auf diese Variable zurück. Die Funktion kann je nach Ergebnis das Dokument bestätigen bzw. nicht bestätigen.

Im Parameter Variable übergeben Sie den Namen der Variablen vom Typ BLOB oder Text mit dem XML Objekt.

Der Boolean Parameter Gültigkeitsprüfung gibt an, ob die Struktur mit DTD 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.

Bestätigung über dtd
Der Parameter dtd | schema gibt die spezifische DTD bzw. das XML Schema zum Parsen des Dokuments an. Verwenden Sie diesen Parameter, berücksichtigt die Funktion nicht die DTD, die in der XML Variablen angegeben wird. Sie können die DTD definieren:

  • Als eine Referenz: Dazu übergeben Sie im Parameter dtd den vollständigen Zugriffspfad der neuen DTD. Enthält das angegebene Dokument keine gültige DTD, wird dtd ignoriert und ein Fehler angezeigt.
  • Direkt in Text: Beginnt der Inhalt des Parameters mit “<?xml”, betrachtet 4D das als DTD; sonst als Pfadname.

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.

Erfolgt keine Gültigkeitsprüfung (kein DTD, inkorrekte URL auf DTD, 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 Zeichen (ElementRef) zurück, der die Referenz im Speicher der virtuellen Struktur des Dokuments enthält. Verwenden Sie diese Referenz zusammen mit anderen XML Befehlen zum Parsen.

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.

XML Objekt in einer 4D Text Variablen ohne Gültigkeitsprüfung öffnen:

 C_TEXT(myTextVar)
 C_TIME(vDoc)
 C_TEXT($xml_Struct_Ref)
 
 vDoc:=Open document("Document.xml")
 If(OK=1)
    RECEIVE PACKET(vDoc;myTextVar;32000)
    CLOSE DOCUMENT(vDoc)
    $xml_Struct_Ref:=DOM Parse XML variable(myTextVar)
 End if

XML Dokument in einem 4D BLOB ohne Gültigkeitsprüfung öffnen:

 C_BLOB(myBlobVar)
 C_TEXT($ref_XML_Struct)
 
 DOCUMENT TO BLOB(c\\import.xml;myBlobVar)
 $xml_Struct_Ref:=DOM Parse XML variable(myBlobVar)

Wurde die Funktion korrekt ausgeführt, wird die Systemvariable OK auf 1 gesetzt, sonst auf 0 (Null).

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: XML DOM
Nummer: 720

Dieser Befehl ändert die Systemvariable OKDieser Befehl ändert die Systemvariable Error

 
GESCHICHTE 

Geändert: 4D 2004
Geändert: 4D v11 SQL

 
SIEHE AUCH 

DOM CLOSE XML
DOM Parse XML source

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)