Start
Unternehmen
Business Solutions
Business Intelligence
Software-Technologien
Technologie-Beratung
Individual-Software

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

Anrede* Herr Frau
Vorname*
Nachname*
Firma
E-Mail*
Tel-Nr.
Bereich*
Freitext

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 -