본문 바로가기

[오라클 레퍼런스 함수] XMLSERIALIZE - XML 직렬화(Serialization) 및 문자열 또는 LOB 반환

by ㅇㅍㅍ 2023. 9. 7.
[오라클 레퍼런스 함수] XMLSERIALIZE - XML 직렬화(Serialization) 및 문자열 또는 LOB 반환
728x90

 

XMLSERIALIZE

 

구문

XMLSERIALIZE
  ( { DOCUMENT | CONTENT } value_expr [ AS datatype ]
    [ ENCODING xml_encoding_spec ]
    [ VERSION string_literal ]
    [ NO INDENT | { INDENT [SIZE = number] } ]
    [ { HIDE | SHOW } DEFAULTS ]
  )

 

목적

XMLSerialize 함수는 value_expr의 내용을 포함하는 문자열 또는 LOB를 생성합니다.

XMLSERIALIZE에 의해 반환된 LOB는 읽기 전용입니다.

  • DOCUMENT를 지정하는 경우 value_expr은 유효한 XML 문서여야 합니다.
  • CONTENT를 지정하는 경우 value_expr은 반드시 단일 루트 XML 문서일 필요는 없지만 유효한 XML 콘텐츠여야 합니다.
  • 지정한 datatype은 문자열 유형(VARCHAR2 또는 VARCHAR, NVARCHAR2 제외), BLOB 또는 CLOB 일 수 있습니다. 기본값은 CLOB입니다.
  • datatypeBLOB인 경우 ENCODING 절을 지정하여 프롤로그에서 지정한 인코딩을 사용할 수 있습니다. xml_encoding_spec은 XML 인코딩 선언 (encoding="...")입니다.
  • VERSION을 제공한 경우 버전을 사용하기 위해 XML 선언 (<?xml version="..." ...?>)의 string_literal을 지정할 수 있습니다.
  • NO INDENT을 지정하여 출력에서 모든 중요하지 않은 공백을 제거합니다. INDENT SIZE = N (여기서 N은 정수)을 지정하여 N 공백의 상대 들여쓰기를 사용하여 예쁜 출력을 생성합니다. N0이면 예쁜 출력이 각 요소 뒤에 줄 바꿈 문자를 삽입하고 각 요소를 개별 줄에 놓지만 출력에서 모든 중요하지 않은 공백을 제거합니다. INDENTSIZE 지정 없이 존재하는 경우 2 공백 들여 쓰기가 사용됩니다. 이 절을 생략하면 동작(예쁜 출력 또는 아닌 출력)이 결정되지 않습니다.
  • HIDE DEFAULTSSHOW DEFAULTS는 XML 스키마 기반 데이터에만 적용됩니다. SHOW DEFAULTS를 지정하고 입력 데이터가 XML 스키마에서 기본값을 정의한 선택적 요소나 속성을 누락하는 경우 해당 요소나 속성은 기본값과 함께 출력됩니다. HIDE DEFAULTS를 지정하면 해당 요소나 속성이 출력에 포함되지 않습니다. HIDE DEFAULTS가 기본 동작입니다.

 

참고:

 

예제

다음 문은 XMLSerialize의 구문을 설명하기 위해 DUAL 테이블을 사용합니다.

SELECT XMLSERIALIZE(CONTENT XMLTYPE('<Owner>Grandco</Owner>')) AS xmlserialize_doc
   FROM DUAL;

XMLSERIALIZE_DOC
----------------
<Owner>Grandco</Owner>

 


출처: 오라클 레퍼런스

원문 링크: Oracle XMLSERIALIZE 함수 문서

 

반응형

댓글