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

:)
This entry was posted in Oracle, Oracle SQL, Oracle SQL Zaawansowany and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published.