Transformata XSLT w Oracle SQL

Witam,

W SQL w Oracle’u istnieje możliwość wykorzystania transformat XSLT przekształcających jeden dokument XML w inny. Transformata XSLT sama w sobie jest zapisana w języku XML. Realizacja transformaty możliwa jest z wykorzystaniem funkcji XMLTransform przyjmującej jako parametry przekształcany dokument oraz transformatę, a zwracającą zmodyfikowany dokument. Przykład:

SELECT XMLTransform(XMLType.createXML('<list><shortdesc>opis krótki</shortdesc><name>nazwa</name><desc>opis</desc></list>'),
XMLTYPE.createxml(
   '<?xml version="1.0"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
      <xsl:output encoding="utf-8"/>                           
      <xsl:template match="*">  
        <xsl:copy>
          <xsl:apply-templates select="*|text()">
            <xsl:sort select="name(.)" data-type="text" order="ascending"/>
          </xsl:apply-templates> 
        </xsl:copy> 
      </xsl:template>
      <xsl:template match="text()"> 
        <xsl:value-of select="normalize-space(.)"/>
      </xsl:template>
    </xsl:stylesheet>  ')).getStringVal() FROM dual;

About Przemysław Kantyka

LinkedIn Profile I am a Consultant with 15 years of professional experience in Forms, Oracle, PL/SQL and APEX. I am a participant in the Oracle ACE program. As a Snowflake Data Engineer, I also work with data warehouse systems and perform analysis, ETL and tuning activities. I am also a co-organizer of Snowflake Meetup Group Poland and a speaker at international conferences (DOAG, Oracle Open World, APEX World). I am co-founder and developer of Oracle-Snowflake Connector. Visit dataconsulting.pl website
This entry was posted in Oracle, Oracle SQL, Oracle SQL Zaawansowany and tagged , , . Bookmark the permalink.

Leave a Reply