ECM vereinfacht die Prozesse
ECM vereinfacht die Prozesse
ECM vereinfacht die Prozesse
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
CCSID angegeben werden. Die Verarbeitung<br />
<strong>die</strong>ses XML-Datentyps ist nur über<br />
SQL möglich – nicht aber über den satzweisen<br />
Zugriff auf <strong>die</strong> Datenbank. Der<br />
XML-Datentyp kann auch nicht in einer<br />
DDS- (Data Definition Specifications) Beschreibung<br />
verwendet werden.<br />
Die folgenden Programmiersprachen<br />
unterstützen den XML-Datentyp,<br />
sobald mit SQL auf <strong>die</strong> Daten zugegriffen<br />
wird: ILE RPG, ILE Cobol, C oder<br />
C++ entweder bei embedded SQL oder<br />
bei DB2 CLI und Java bei JDBC oder<br />
SQLJ.<br />
Um eine Tabelle zu erstellen, <strong>die</strong> ein<br />
Feld vom Datentyp XML enthält, wird<br />
der normale SQL- Befehl Create Table<br />
verwendet:<br />
CREATE TABLE Customer (Cid BIgINT NOT<br />
NuLL PRIMARY KEY, Info XML);<br />
Damit wird eine Tabelle mit dem<br />
Namen Customer angelegt, <strong>die</strong> einen<br />
Primärschlüssel Cid enthält sowie ein<br />
Feld mit dem Namen Info vom Datentyp<br />
XML. In dem Feld Info lassen sich nun<br />
XML-Dokumente ablegen.<br />
Auch existierende Tabellen können<br />
mit dem Befehl ALTER Tabelle um zusätzliche<br />
Felder vom Datentyp XML erweitert<br />
werden.<br />
Daten werden wie gewohnt mit dem<br />
Befehl SQL INSERT in <strong>die</strong> Tabelle eingefügt.<br />
Als Kundenummer (Spalte Cid)<br />
wird der Wert 1000 verwendet, und in<br />
der Spalte Info werden <strong>die</strong> zusätzlichen<br />
Kundeninformationen als XML-Dokument<br />
abgelegt:<br />
INSERT INTO Customer (Cid, Info) VALuES<br />
(1000,<br />
'<br />
Kathy Smith<br />
<br />
5 Rosewood<br />
Toronto<br />
Ontario<br />
M6W 1E6<br />
<br />
416-555-1358<br />
');<br />
Auf <strong>die</strong> gleiche Weise wird ein Update<br />
auf einen bestehenden Satz mit<br />
dem Befehl SQL UPDATE durchgeführt.<br />
Um zu überprüfen, ob ein XML-<br />
Dokument <strong>die</strong> Eigenschaften besitzt,<br />
<strong>die</strong> von einer Anwendung erwartet<br />
werden, muss <strong>die</strong> gewünschte Struktur<br />
des XML-Dokuments beschrieben werden.<br />
Die Beschreibung erfolgt in einem<br />
XML-Schema kurz „XSD“ genannt. Dort<br />
werden <strong>die</strong> Struktur, <strong>die</strong> verwendeten<br />
Elemente und <strong>die</strong> Datentypen des XML-<br />
Dokuments beschrieben. Damit das<br />
XML-Schema für <strong>die</strong> Vali<strong>die</strong>rung eines<br />
XML-Dokuments verwendet werden<br />
kann, muss es im XML-Schema „Repository“<br />
(XSR) gespeichert und registriert<br />
werden. Danach kann das XSD für<br />
<strong>die</strong> Vali<strong>die</strong>rung von XML-Dokumenten<br />
benutzt werden. Die Vali<strong>die</strong>rung erfolgt<br />
nicht automatisch, sondern muss durch<br />
<strong>die</strong> Funktion XMLVALIDATE explizit angestoßen<br />
werden.<br />
Annotatet XML Schema<br />
Decomposition<br />
Ein XML-Dokument kann zerlegt werden,<br />
um nur <strong>die</strong> Feldinhalte (also <strong>die</strong><br />
eigentlichen Daten), nicht aber <strong>die</strong> gesamten<br />
XML-Tags in der Datenbank zu<br />
speichern. Dieser Vorgang der Zerlegung<br />
eines XML-Dokuments wird als<br />
„Annotatet XML Schema Decomposition“<br />
bezeichnet. Die Zuordnung der<br />
XML-Elemente zu einzelnen Feldern<br />
und zu einzelnen Tabellen wird in einem<br />
Dokument „Annotatet XML Schema“<br />
beschrieben. Dieses Dokument<br />
wird im „DB2 XML Schema Repository“<br />
gespeichert und registriert.<br />
Die Aufteilung eines XML-Dokuments<br />
erfolgt durch den Aufruf der<br />
„Stored Procedure XDBDECOMPXML“.<br />
Dadurch werden <strong>die</strong> Inhalte eines XML-<br />
Dokuments auf <strong>die</strong> entsprechenden Felder<br />
in den Datenbanktabellen verteilt.<br />
Durch <strong>die</strong> XML Publishing-Funktion<br />
ist auch der umgekehrte Weg möglich.<br />
Aus relationalen Daten können XML-<br />
Dokumente erzeugt werden. Die Daten<br />
können aus unterschiedlichen Tabellen<br />
stammen und durch entsprechende logische<br />
Bedingungen miteinander verknüpft<br />
werden.<br />
DB2 für IBM i stellt auch verschiedene<br />
Utility-Funktionen zur Verfügung.<br />
Zum Beispiel kann mit der XMLSERIA-<br />
LIZE-Funktion der Inhalt eines XML-<br />
Feldes umgewandelt werden – etwa<br />
in ein Varchar-Format. Diese Funktion<br />
ist sehr nützlich, um XML-Inhalte über<br />
interaktives SQL anzuzeigen – z. B. im<br />
System i Navigator oder auch auf einem<br />
5250-Bildschirm, wenn mit STRSQL auf<br />
<strong>die</strong> Daten zugegriffen wird.<br />
XSLTRANSFORM ermöglicht <strong>die</strong><br />
Umwandlung eines XML-Dokuments –<br />
z. B. in HTML oder auch in eine Textdatei.<br />
Die Transformationsregeln werden<br />
in einem XSLT- (Extensible Stylesheet<br />
Language Transformations) Dokument<br />
beschrieben.<br />
Zusätzlich gibt es <strong>die</strong> Funktion<br />
GET_XML_FILE, <strong>die</strong> notwendig ist, um<br />
ein XML-Dokument aus einem Stream<br />
File oder aus einem Source Physical<br />
File zu verarbeiten.<br />
Wenn man in der Datenbank abgespeicherte<br />
XML-Dokumente durchsuchen<br />
möchte, um einzelne XML-Elemente<br />
zu finden, dann ist das über den<br />
OmniFind Text Search Server möglich<br />
(Programmnummer 5733-OMF). Der<br />
OmniFind Text Search Server ist seit<br />
IBM i 6.1 verfügbar und erlaubt Indexierung<br />
von und Suche in Textdokumenten.<br />
Die aktuelle OmniFind-Version<br />
für IBM i 7.1 bietet außerdem <strong>die</strong> Möglichkeit,<br />
XML-Dokumente zu indexieren<br />
und zu durchsuchen.<br />
Der Artikel konnte nur einen kleinen<br />
Überblick über <strong>die</strong> neuen Möglichkeiten<br />
geben, <strong>die</strong> XML mit DB2 für i 7.1<br />
bietet. Mithilfe der unten genannten<br />
Links finden Sie weitere Informationen<br />
– u. a. auch ein Tutorial mit Beispielen<br />
zu den angesprochenen Funktionen.<br />
Wenn Sie wissen möchten, welche<br />
neuen Funktionen mit IBM i 7.1 verfügbar<br />
sind, dann finden Sie <strong>die</strong>se Informationen<br />
im Redbook IBM i 7.1 Technical<br />
Overview. Willy Günther ó<br />
IBM Deutschland gmbH<br />
www.ibm.de<br />
11/2011 · MIDRANGE MAgAZIN<br />
45