본문 바로가기

[오라클 레퍼런스 함수] XMLTRANSFORM - XMLType 인스턴스에 XSL 스타일 시트를 적용하여 XMLType 반환

by ㅇㅍㅍ 2023. 9. 7.
[오라클 레퍼런스 함수] XMLTRANSFORM - XMLType 인스턴스에 XSL 스타일 시트를 적용하여 XMLType 반환
728x90

 

 

 

XMLTRANSFORM

 

구문

XMLTRANSFORM(XMLType_instance, { XMLType_instance
                               | string
                               }
            )

 

목적

XMLTransform 함수는 XMLType 인스턴스와 XSL 스타일 시트(또한 XMLType 인스턴스 형태)를 인수로 받아 해당 스타일 시트를 인스턴스에 적용하고 XMLType을 반환합니다.

이 함수는 데이터베이스에서 데이터를 검색할 때 스타일 시트를 기반으로 데이터를 구성하는 데 유용합니다.

 

참고:

이 함수에 대한 자세한 정보는 Oracle XML DB Developer's Guide에서 확인할 수 있습니다.

 

예제

XMLTransform 함수는 XSL 스타일 시트의 존재를 필요로 합니다. 다음은 요소를 노드 내에서 알파벳순으로 정렬하는 매우 간단한 스타일 시트의 예제입니다:

CREATE TABLE xsl_tab (col1 XMLTYPE);

INSERT INTO xsl_tab VALUES (
   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"/>
      <!-- alphabetizes an xml tree -->  
      <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>  '));

1 row created.

 

다음 예제에서는 샘플 테이블 oe.warehouseswarehouse_spec 중 하나에 포함된 요소를 알파벳순으로 정렬하는 데 xsl_tab XSL 스타일 시트를 사용합니다:

SELECT XMLTRANSFORM(w.warehouse_spec, x.col1).GetClobVal()
   FROM warehouses w, xsl_tab x
   WHERE w.warehouse_name = 'San Francisco';

XMLTRANSFORM(W.WAREHOUSE_SPEC,X.COL1).GETCLOBVAL()
--------------------------------------------------------------------------------
<Warehouse>
  <Area>50000</Area>
  <Building>Rented</Building>
  <DockType>Side load</DockType>
  <Docks>1</Docks>
  <Parking>Lot</Parking>
  <RailAccess>N</RailAccess>
  <VClearance>12 ft</VClearance>
  <WaterAccess>Y</WaterAccess>
</Warehouse>

 


출처: 오라클 레퍼런스

원문 링크: Oracle XMLTRANSFORM 함수 문서

 

반응형

댓글