Einführung in XML Befehle

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004.1 (Geändert)


4th Dimension 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.

4th Dimension verwendet zur XML Unterstützung die Library mit Namen Xerces.dll, welche vom Unternehmen Apache Foundation entwickelt wurde.

Hinweis: 4th Dimension ermöglicht über den Import-/Export-Editor den direkten Im- und Export von Daten in XML Format.

SAX und DOM Befehle


4th Dimension 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.

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 4th Dimension (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 4th Dimension 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

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.4th Dimension 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 4th Dimension 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


4th Dimension 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: 4th Dimension 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 4th Dimension 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 4th Dimension.

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.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next