Comelio GmbH Rellinghauser Straße 10 D-45128 Essen Deutschland Fon: 0201-437517-0 Fax: 0201-437517-10 info@comelio.com
Comelio GmbH Goethestraße 34 D-13086 Berlin Deutschland info@comelio.com
Comelio GmbH (Ecos) Glockengießerwall 17 D-20095 Hamburg Deutschland info@comelio.com
Comelio GmbH (Ecos) Mainzer Landstraße 27-31 D-60329 Frankfurt Deutschland info@comelio.com
Comelio GmbH (Ecos) Stiglmaierplatz/Dachauer Str. 37 D-80335 München Deutschland info@comelio.com
Comelio GmbH (Ecos) Liebknechtstr. 33 D-70565 Stuttgart Deutschland info@comelio.com
Comelio GmbH Nevinghoff 16 D-48147 Münster Deutschland
Comelio GmbH Friedrich - List - Platz 1 D-04103 Leipzig Deutschland
Comelio GmbH St. Johanner Strasse 41-43 D-66111 Saarbrücken Deutschland
Comelio GmbH Kaiser-Wilhem-Ring 27–29 D-50672 Köln Deutschland
Comelio GmbH Münsterstraße 248 D-40470 Düsseldorf Deutschland
Comelio GmbH Fürther Strasse D-90429 Nürnberg Deutschland
Comelio GmbH
Bremen Deutschland

|
Comelio-Blog > Oracle > XDB: XSLT XML DB: XMLType und XSLT
Der Datentyp XMLType der XML-Datenbank Oracle XDB bietet nicht nur einfache Möglichkeiten zur Validierung der enthaltenen Daten mit XML Schema, sondern auch ein Unterprogramm für die XSLT-Transformation. Dieser kurze Artikel soll dieses spezielle Unterprogramm vorführen.
|
 | Kontakt
|
Oracle XDB: Transformation von XMLType mit XSLT
Ohne einen Parser starten zu müssen, können Sie eine Spalte bzw. eine Variable, deren Datentyp XMLType ist, direkt mit Hilfe von XSLT transformieren. Dies verkürzt eine entsprechende Anwendung erheblich und beschränkt sie nur auf die Beschaffung der Daten, die Transformation über die SQL-Funktion XMLtransform() oder die XMLType-Methode transform() und das Speichern der Ergebnisdaten in einer geeigneten Variable. Die grundlegende Technologie, die für die Transformation bzw. für den Algorithmus der Transformation verwendet werden muss, ist dann XSLT.
Im folgenden Beispiel speichern wir in einer ähnlichen Tabelle wie bisher sowohl XML-Daten als auch XSLT-Daten. Dies ermöglicht es, direkt in SQL eine Transformation durchzuführen, weil auch die geeigneten Transformationsdaten in einer Tabellenspalte liegen. Es ist aber nicht weiter schwer, sich eine PL/SQL-Variante vorzustellen, in der die jeweiligen Spaltenwerte als Variablenwerte vorliegen und das Ergebnis nicht in der SQL-Ergebnismenge vorliegt, sondern ebenfalls in einer Variable zwischengespeichert wird.
-- Tabelle löschen
DROP TABLE termin_d;
-- Tabelle anlegen
CREATE TABLE termin_d(
t_knr NUMBER(7),
t_xml XMLType,
t_xslt XMLType);
/
-- Werte einfügen
INSERT INTO termin_d VALUES(1015068, XMLType('<Termin Nr="498">
<Beginn>10.06.03</Beginn>
<Ende>13.06.03</Ende>
<Kurs>1015068</Kurs>
</Termin>'), XMLType('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/Termin">
<html>
<head>
<title>Termin</title>
</head>
<body>
<ul>
<xsl:for-each select="child::*">
<li>
<xsl:value-of select="local-name(.)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>'));
/
SELECT XMLTransform(t_xml, t_xslt).getStringVal()
FROM termin_d;
Der einfache Termin in der XML-Spalte wird durch die Transformationsvorgaben in der XSLT-Spalte in einen HTML-Quelltext umgewandelt, der in der Ergebnismenge vorliegt.
XMLTRANSFORM(T_XML,T_XSLT).GETSTRINGVAL()
<html>
<head>
<title>Termin</title>
</head>
<body>
<ul>
<li>Beginn10.06.03</li>
<li>Ende13.06.03</li>
<li>Kurs1015068</li>
</ul>
</body>
</html>
OOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln WiesbadenOOP Consulting Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Datenbank-Entwicklung Anleitung Oracle PL/SQL Manual XML SQLJ Tutorial Java Programmierung Leipzig Essen Herne Hamburg Duisburg Bottrop Bremen Mettmann Düsseldorf Stuttgart Bonn Neuss Wuppertal München Hattingen Frankfurt Ratingen Velbert Münster Dortmund Bochum Berlin Gelsenkirchen Köln Wiesbaden |