Start
Unternehmen
ERP / PPS / Prozesse
Business Intelligence
Server-Technologien
Software-Technologien
Technologie-Beratung
Individual-Software
Produkte

Comelio GmbH
Am Fischhof 3
A-1010 Wien
Österreich
Fon: +43-720-2097-97
Fax: +43-720-2097-98
info@comelio.com

Comelio GmbH (Ecos)
Stiglmaierplatz/Dachauer Str. 37
D-80335 München
Deutschland
info@comelio.com

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-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 Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _Comelio GmbH Oracle XDB: XML DB - XSLT und XMLType XML DB Oracle Programmierung Programmierung Java Oracle Datenbank-Entwicklung SQLJ PL/SQL Manual Tutorial XML Anleitung _
Seminare