 |
 |
 |
 |
 |
 |
|
 |
Comelio GmbH Essen Fon: +49(0)201-437517-0 Fax: +49(0)201-437517-10 info@comelio.com
Comelio GmbH Berlin Fon: +49(0)30-3640339-80 Fax: +49(0)30-3640339-89 info@comelio.com
Comelio GmbH Hamburg Fon: +49(0)40-20934996-0 Fax: +49(0)40-20934996-9 info@comelio.com
Comelio GmbH Frankfurt Fon: +49(0)69-17320683-0 Fax: +49(0)69-17320683-9 info@comelio.com
Comelio GmbH München Fon: +49(0)89-38156860-0 Fax: +49(0)89-38156860-9 info@comelio.com
Comelio GmbH Stuttgart Fon: +49(0)711-46051275-0 Fax: +49(0)711-46051275-9 info@comelio.com
Comelio GmbH Leipzig Fon: +49(0)341-3928790-0 Fax: +49(0)341-3928790-9 info@comelio.com
Comelio GmbH Köln Fon: +49(0)221-355337943-0 Fax: +49(0)221-355337943-9 info@comelio.com
Comelio GmbH Düsseldorf Fon: +49(0)211-63556420-0 Fax: +49(0)211-63556420-9 info@comelio.com
 |
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>
Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java XML Anleitung Tutorial Oracle SQLJ Datenbank-Entwicklung PL/SQL Manual -
|
 |