Da XML alle erforderlichen Informationen zum Erstellen einer Gruppe von Dokumenten enthält, wollen Sie die Dokumentstruktur häufig genau in der jeweiligen Form speichern oder abrufen.
Wenn Sie beispielsweise in einer Publishing-Firma arbeiten, die Artikel auf dem Web bereitstellt, wollen Sie vielleicht ein Archiv der veröffentlichten Artikel verwalten. In einem solchen Szenario gibt Ihnen der XML Extender die Möglichkeit, XML-Artikel vollständig oder teilweise in einer Spalte einer DB2-Tabelle zu speichern. Diese Art von XML-Dokumentspeicherung wird als XML-Spalte bezeichnet, wie in Abbildung 1 gezeigt.
Abbildung 1. Speichern strukturierter XML-Dokumente in einer DB2-Tabellenspalte
Der XML Extender bietet die folgenden benutzerdefinierte Typen (User-Defined Types, UDTs) zur Verwendung mit XML-Spalten:
Alle XML Extender-UDTs haben das Präfix db2xml; dies entspricht dem Schemanamen der DB2 XML Extender-UDTs. Diese Datentypen werden zum Identifizieren des Speichertyps der XML-Dokumente in der Anwendungstabelle verwendet. Der XML Extender unterstützt herstellerspezifische unstrukturierte Dateien; Sie brauchen keine XML-Dokumente in DB2 zu speichern. Sie können XML-Dokumente auch als Dateien auf dem lokalen Dateisystem speichern durch Angeben eines lokalen Dateinamens.
Der DB2 XML Extender bietet leistungsstarke benutzerdefinierte Funktionen (UDFs) zum Speichern und Abrufen von XML-Dokumenten in XML-Spalten sowie zum Extrahieren von XML-Elementen oder Attributwerten. Eine UDF ist eine Funktion, die für das Datenbankverwaltungssystem definiert wird und auf die später in SQL-Abfragen verwiesen wird. Der XML Extender bietet die folgenden Typen von UDFs:
Die Extraktionsfunktionen ermöglichen die Ausführung leistungsstarker Suchfunktionen mit allgemeinen SQL-Datentypen. Darüber hinaus können Sie den DB2 UDB Text Extender mit dem XML Extender verwenden, um eine strukturierte und Volltextsuche nach Text in XML-Dokumenten durchzuführen. Mit dieser leistungsstarken Suchfunktion kann beispielsweise auch die Benutzerfreundlichkeit einer Web-Seite verbessert werden, in der große Mengen von lesbarem Text veröffentlicht werden, z. B. Zeitungsartikel oder EDI-Anwendungen (Electronic Data Interchange), die häufig Suchelemente oder -attribute enthalten.
Alle XML Extender-UDFs haben das Präfix db2xml; dies entspricht dem Schemanamen der DB2 XML Extender-UDFs. Die UDFs werden auf XML-UDTs angewendet, und sie werden für XML-Spalten verwendet.
Ein Standortpfad ist eine Folge von XML-Befehlen, die ein XML-Element oder -attribut kennzeichnen. Der XML Extender verwendet den Standortpfad zum Kennzeichnen der Struktur des XML-Dokuments und zur Angabe des Kontexts für das Element bzw. Attribut. Ein einfacher Schrägstrich (/) als Pfad gibt an, daß der Kontext das gesamte Dokument ist. Der Standortpfad wird in den folgenden Situationen verwendet:
Abbildung 2 zeigt ein Beispiel eines Standortpfads und seiner Beziehung zur Struktur des XML-Dokuments.
Abbildung 2. Speichern von Dokumenten als strukturierte XML-Dokumente in einer DB2-Tabellenspalte
Zum Angeben des Standortpfads verwendet der XML Extender eine Untermenge der XML Stylesheet Language Transformation (XSLT) und der XML Path Language (XPath). In diesem Buch wird der Begriff Standortpfad verwendet, der in der Spezifikation für XPath definiert ist. Der Standortpfad ist eine Folge von XML-Befehlen, die ein XML-Element oder -attribut kennzeichnen. Außerdem verwendet dieses Buch die abgekürzte XSLT- oder XPath-Syntax des absoluten Standortpfads, der in den Spezifikationen von XPath definiert ist. Der absolute Standortpfad ist der vollständige Pfadname eines Objekts.
XSLT ist eine Sprache zur Umformung von XML-Dokumenten in andere XML-Dokumente. Sie wurde zur Verwendung als Teil der XLS-Sprache (XML Stylesheet Language), einer Sprache für Formatvorlagen, konzipiert. Zusätzlich zu XSLT enthält XSL ein XML-Vokabular zur Angabe der Formatierung. XSL definiert das Format eines XML-Dokuments durch Verwendung von XSLT zur Beschreibung, wie das Dokument in ein anderes XML-Dokument umgewandelt wird, das das Formatierungsvokabluar verwendet.
XPath ist eine Sprache zur Adressierung von Teilen eines XML-Dokuments, die zur Verwendung durch XSLT konzipiert wurde. Jeder Standortpfad kann mit Hilfe der für XPath definierten Syntax ausgedrückt werden.
Weitere Informationen zu XSLT und XPath finden Sie auf den folgenden Web-Seiten:
Die Syntax und Einschränkungen werden im Abschnitt Standortpfad beschrieben.
In diesem Abschnitt werden die in diesem Handbuch verwendeten XML-Konzepte und die XML-Terminologie beschrieben.