Version 11.3 (Geändert)
4D bietet eine Befehlsgruppe zum Analysieren (parsen) von Objekten mit XML (eXtensible Markup Language).
Die XML Sprache
XML ist eine Standardsprache für den Datenaustausch. Sie arbeitet mit Tags, die eine exakte Beschreibung der ausgetauschten Daten sowie der Struktur ermöglichen. XML Dateien sind Textdateien, deren Inhalt die Programme beim Datenimport analysieren. Inzwischen unterstützen viele Programme dieses Format.
Weitere Informationen zu XML finden Sie im Internet unter http://xml.org und http://www.w3.org.
4D verwendet zur XML Unterstützung die Library mit Namen Xerces.dll, welche vom Unternehmen Apache Foundation entwickelt wurde.
Hinweis: 4D ermöglicht über den Import-/Exporteditor den direkten Im- und Export von Daten in XML Format.
SAX und DOM Befehle
4D bietet zwei verschiedene Sätze XML Befehle, jeweils mit der Vorsilbe DOM und SAX.
DOM (Document Object Model) und SAX (Simple API XML) sind zwei Möglichkeiten, um XML Dokumente logisch zu durchlaufen (parsen).
Der DOM-Modus durchläuft eine XML-Quelle und erstellt deren Struktur, d.h. Hierarchie ("tree") im Speicher. Auf diese Weise ist der Zugriff auf jedes Element der Quelle extrem schnell. Da jedoch die gesamte Baumstruktur im Speicher abgelegt ist, kann das Abarbeiten umfangreicher XML Dokumente die Speicherkapazität übersteigen und zu Fehlern führen.
Der SAX-Modus erstellt keine Baumstruktur im Speicher. Hier werden Ereignisse, wie Start und Ende eines Elements beim Durchlaufen der Quelle erzeugt. So können Sie XML Dokumente jeglicher Größe durchlaufen, unabhängig von der verfügbaren Speicherkapazität. Die SAX Befehle sind im Kapitel XML SAX zusammengefasst. Weitere Informationen dazu finden Sie im Abschnitt Überblick über XML SAX Befehle.
Weitere Informationen zu XML Standards finden Sie in folgenden Websites: http://www.saxproject.org/?selected=event und http://www.w3schools.com/xml/.
XML Dokumente via DOM verwalten
Objekte, die von 4D DOM Befehlen erstellt, geändert oder analysiert werden, können Text, URLs, Dokumente oder BLOBs sein. Die Befehle DOM Parse XML source und DOM Parse XML variable.
Es gibt viele Befehle zum Lesen, Analysieren und Schreiben von Elementen und Attributen. Fehler werden abgefangen mit dem Befehl GET XML ERROR. Er gilt für beide XML Standards.
Mit dem Befehl DOM CLOSE XML schließen Sie die Quelle am Ende wieder.
XML Dokumente via SAX verwalten
Die SAX Befehle arbeiten mit den standardmäßigen Dokumentreferenzen von 4D (DokRef, Referenz vom Typ Zeit). Deshalb können Sie diese Befehle zusammen mit 4D Routinen zur Dokumentverwaltung verwenden, z.B SEND PACKET oder Append document.
XML Dokumente werden über die Funktionen Create document und Open document per Programmierung verwaltet. Folglich löst die Verwendung eines XML Befehls mit diesen Dokumenten automatisch die Einbindung von XML Mechanismen aus, wie Codierung. So wird der Header <?xml version="1.0" encoding=" encoding " standalone = "no "?> automatisch in das Dokument geschrieben.
Hinweis: Dokumente, die von SAX Befehlen gelesen werden, müssen von der Funktion Open document im Nur-Lesen-Modus geöffnet werden. Dies verhindert Konflikte zwischen 4D und der Xerces library, wenn Sie gleichzeitig "Standard" und XML Dokumente öffnen. Führen Sie einen Befehl für SAX "Parsing" mit einem Dokument aus, das im Lesen-/Schreibmodus geöffnet ist, erscheint eine Fehlermeldung und "Parsing" ist nicht möglich.
Ein XML Dokument muss mit dem Befehl CLOSE DOCUMENT geschlossen werden. Alle evtl. offenen XML Elemente werden automatisch geschlossen.
XPath Notation verwalten (DOM)
Die drei DOM Routinen DOM Create XML element, DOM Get XML element und DOM SET XML ELEMENT VALUE akzeptieren die XPath Notation für den Zugriff auf XML Elemente.
XPath Notation stammt aus der XPath Sprache. Sie dient zum Navigieren in XML Strukturen. Sie können Elemente direkt über "Pfadname" vom Typ Syntax in eine XML Struktur setzen. Sie müssen nicht zwingend den kompletten Pfadnamen angeben, um das Element zu erreichen. Hierfür ein Beispiel:
<RootElement> <Elem1> <Elem2> <Elem3 Font=Verdana Size=10> </Elem3> </Elem2> </Elem1> </RootElement>
Mit der XPath Notation können Sie über die Syntax RootElement/Elem1/Elem2/Elem3 auf Element 3 zugreifen.4D akzeptiert über die Syntax Element[NumElement] auch indizierte XPath Elemente. Hierfür ein Beispiel:
<RootElement> <Elem1> <Elem2>aaa</Elem2> <Elem2>bbb</Elem2> <Elem2>ccc</Elem2> </Elem1> </RootElement>
Mit der XPath Notation können Sie über die Syntax RootElement/Elem1/Elem2[3] auf den Wert "ccc" zugreifen
Hinweis: In 4D muss der in DOM Create XML element und DOM Get XML element angegebene Parameter xPath mit / (Schrägstrich) starten, gefolgt vom Namen des aktuellen Elements.
Beispiele zur Darstellung der XPath Notation finden Sie unter den Funktionen DOM Create XML element und DOM Get XML element.
XSL Transformation
4D unterstützt die Anwendung von XSL Stilvorlagen (eXtended Stylesheet Language). Damit können Sie Tags eines XML Dokuments verändern. Die XSL Sprache basiert auf zwei Aspekten:
Formatierung: Damit können Sie auf XML Elemente Regeln für Stil und Anzeige anwenden, ähnlich wie bei CSS (Cascading Style Sheets) in HTML.
Transformation: Damit können Sie XML Tags in ein anderes Tag
System umwandeln, z.B. HTML. Diese Funktion ist bekannt als XSLT. Über ein XSL Style Sheet lassen sich die XML Elemente eines Dokuments vollkommen neu organisieren: Sie werden ausgewählt und dann in andere Elemente umgeformt.
Diese Funktion ist hilfreich, um z.B. einen Satz ungleicher Dokumente aufeinander abzustimmen.
Hinweis: 4D verwendet für XSL Transformationen die library Xalan-C_1_6_0.dll. Xalan ist ein freeware XSLT Prozessor. Weitere Informationen dazu finden Sie im Internet unter http://xml.apache.org/xalan-c/index.html.
XSL Style Sheets sind Textdokumente mit der Endung .xsl, die manuell oder über spezialisierte Programme generiert werden. Die XSL Sprache unterstützt verschiedene Elemente und Funktionen, um jede Art von dynamischer Umwandlung auszuführen. Weitere Informationen dazu finden Sie im Internet, z.B. unter http://xmlfr.org.
In 4D können Sie ein XML Dokument über ein vorhandenes XSL Style Sheet umwandeln (siehe APPLY XSLT TRANSFORMATION). Über den Befehl SET XSLT PARAMETER können Sie auch Parameter von XSL Style Sheets on the fly" umwandeln.
Hinweis: Über eine Option im Exportdialog können Sie beim Export von XML ein XSL Style Sheet verwenden und so ein umgewandeltes XML Dokument generieren.
Terminologie
Die XML Sprache verwendet eine Reihe spezifischer Begriffe und Abkürzungen. Nachfolgende Übersicht erläutert die wichtigsten XML Konzepte, mit denen die Befehle und Funktionen von 4D arbeiten.
Attribut: Untergeordnetes XML Tag, das einem Element zugeordnet ist. Ein Attribut enthält immer einen Namen und einen Wert (siehe Schema).
Well-formed: Der Browser deklariert ein XML Dokument als "well-formed", wenn es die allgemeinen XML Spezifikationen erfüllt. Siehe auch Gültigkeitsprüfung.
DTD: Document Typ Declaration DTD speichert den Satz spezifischer Regeln und Eigenschaften für XML. Diese Regeln definieren Name und Inhalt jedes Tags sowie dessen Kontext. Über diese Formatierung lässt sich prüfen, ob ein XML Dokument den Regeln entspricht. In diesem Fall wird es als gültig (valid) deklariert.
DTD kann direkt im XML Dokument (internes DTD) oder in einem separaten Dokument (externes DTD) enthalten sein. Beachten Sie, dass DTD nicht zwingend ist.
Element: XML Tag. Ein Element enthält immer einen Namen und einen Wert. Ein Element kann optional auch Attribute enthalten (siehe Schema).
Child (Kind): Element einer XML Struktur, das in der Hierarchie direkt unter einer höheren Ebene liegt.
Parent (Haupt): Element einer XML Struktur, das in der Hierarchie direkt über einer tieferen Ebene liegt.
Parsing, parser: Analyse eines strukturierten Objekts, um nützliche Information zu entnehmen. Über die Befehle unter dem Thema "XML" lässt sich der Inhalt jedes beliebigen XML Objekts analysieren.
Root: Element, das auf der obersten Ebene einer XML Struktur liegt.
Sibling (Geschwister): Element einer XML Struktur, das auf derselben Ebene wie ein anderes liegt.
ElementRef: XML Referenz, über die XML Befehle von 4D eine XML Struktur definieren. Die Referenz besteht aus 8 hexadezimal codierten Zeichen, das bedeutet 16 Zeichen.
XML Struktur: Strukturiertes XML Objekt. Das kann ein Dokument, eine Variable, oder ein Element sein.
Gültigkeitsprüfung: Der Parser betrachtet ein XML Dokument als gültig (validated), wenn es "well-formed" ist und mit den DTD Spezifikationen übereinstimmt.
XML: eXtensible Markup Language. Weiterentwicklung von HTML. Dient zum exakten Beschreiben von Inhalten und ermöglicht damit auch den Datenaustausch mit Datenbanken. Die XML Sprache basiert auf Tags und einer spezifischen Syntax. Im Gegensatz zu HTML ermöglicht XML auch die Definition individuell gestalteter Tags.
XSL: eXtensible Stylesheet Language: Sprache zum Definieren von Vorlagen (style sheets), um den Inhalt eines XSL Dokuments zu bearbeiten und anzuzeigen.