4D v16.3

Überblick über XML DOM Befehle

Home

 
4D v16.3
Überblick über XML DOM Befehle

Überblick über XML DOM Befehle  


 

 

4D bietet eine Befehlsgruppe zum Analysieren (parsen) von Objekten mit XML (eXtensible Markup Language).

Hinweis zum preemptive Modus: Von einem preemptive Prozess erstellte XML Referenzen lassen sich nur in diesem spezifischen Prozess verwenden. Im Unterschied dazu sind von einem kooperativen Prozess erstellte XML Referenzen von allen anderen kooperativen Prozessen verwendbar, jedoch nicht von einem preemptive Prozess.

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.

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/.

Objekte, die von 4D DOM Befehlen erstellt, geändert oder analysiert werden, können Text, URLs, Dokumente oder BLOBs sein. Die DOM Befehle zum Öffnen von XML Objekten in 4D sind 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 DOM Parse XML variable. Er gilt für beide XML Standards.

Mit dem Befehl XML GET ERROR schließen Sie die Quelle am Ende wieder.

Hinweis zur Verwendung von XML BLOB Parametern: XML Strukturen basieren auf Daten vom Typ Text. Die 4D XML Befehle, z.B. DOM Parse XML variable verwenden jedoch zum Verwalten von XML Daten in der Regel Parameter vom Typ BLOB, unabhängig vom Originaltyp. Diese Vorgehensweise war in bisherigen Versionen von 4D notwendig, da die Größe von Variablen vom Typ Text auf 32 KB beschränkt war.
Ab 4D v11 können Variablen und Felder vom Typ Text bis zu 2 GB an Daten enthalten. Da die bisherige Einschränkung weggefallen ist, raten wir dringend, keine Texte mehr in BLOBs zu speichern. BLOBs sollten für die Bearbeitung binärer Daten reserviert bleiben. Zur besseren Konformität mit XML Spezifikationen werden in 4D v12 binäre Daten automatisch in Base64 codiert, selbst wenn das BLOB Text enthält.

Die drei DOM Routinen DOM Create XML element, DOM Find 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/Elem 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.

Beispiele zur Darstellung der XPath Notation finden Sie unter den Funktionen DOM Create XML element und DOM Find XML element.

Die Befehle XML DOM und XML SAX von 4D unterstützen folgende Zeichensätze:

  • ASCII
  • UTF-8
  • UTF-16 (Big/Small Endian)
  • UCS4 (Big/Small Endian)
  • EBCDIC Code Seiten IBM037, IBM1047 und IBM1140 Codierungen,
  • ISO-8859-1 (oder Latin1)
  • Windows-1252.

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).

Child (Kind): Element einer XML Struktur, das in der Hierarchie direkt unter einer höheren Ebene liegt.

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).

ElementRef: XML Referenz, über die XML Befehle von 4D eine XML Struktur definieren. Die Referenz besteht aus 8 hexadezimal codierten Zeichen, d.h. sie ist 16 oder 32 Zeichen lang, je nach dem, ob Sie ein 16- oder 32-bit System verwenden.
Wir empfehlen, XML Referenzen über die Direktive C_TEXT zu deklarieren.

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.

XML Struktur: Strukturiertes XML Objekt. Das kann ein Dokument, eine Variable oder ein Element sein.

Validation: Der Parser betrachtet ein XML Dokument als gültig (validated), wenn es “well-formed” ist und mit den DTD Spezifikationen übereinstimmt.

Well-formed: Der Parser deklariert ein XML Dokument als “well-formed”, wenn es die allgemeinen XML Spezifikationen erfüllt.

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.

Viele Funktionen unter diesem Thema geben eine Referenz auf ein XML Element zurück. Tritt während der Ausführung ein Fehler auf, z.B. wenn die Referenz auf das Root Element ungültig ist, wird die Variable OK auf 0 gesetzt und ein Fehler erzeugt.

Zusätzlich ist die zurückgegebene Referenz in diesem Fall eine Sequenz von Nullen (16 Zeichen in 32 bits und 32 Zeichen in 64 bits).



Siehe auch 

BASE64 DECODE
BASE64 ENCODE

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: XML DOM

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)