본문 바로가기

공부 정리/DB

CDATA란?

반응형

CDATA란?


CDATA는 Character Data(문자 데이터)의 약자로, 마크업 언어(XML)에서 데이터를 표시하기 위한 것입니다. 특수문자들을 태그가 아니라 데이터로 명시하고 싶을 때 사용합니다. 보통 XML 파일에서 쿼리 짤 때 많이 사용합니다.

 

이미 정의된 &lt, &gt, &amp 등을 사용할 수도 있지만 가독성을 너무나 해치기 때문에 CDATA를 이용하는 것이 가독성에도 훨씬 좋습니다.

 

 

사용법


1. CDATA 영역은 다음 순서로 시작합니다.

 

< ![CDATA[

 

 

2. 다음 순서로 끝이 납니다

 

]]>

 

 

예시


CDATA 사이에 포함된 모든 문자는 문자 그대로 해석됩니다

 

 

  • 만약 아래와 같은 문자열을 나타내고 싶다면?

중요점 : < , > , / 와 같은 문자 데이터를 별도로 처리해야 합니다.

//출력하고 싶은 코드
<sender>John Smith</sender>

 

 

 

  • CDATA 활용하기

아래처럼 모든 문자열을 <![CDATA[ ... ]]> 안에 넣어주면 됩니다.

<![CDATA[<sender>John Smith</sender>]]>

 

 

  • 기존에 정의된 특수코드 사용하기
&lt;sender&gt;John Smith&lt;/sender&gt;

 

 

 

결론


기존에 정의된 특수코드 사용보다는 CDATA를 활용하는게 훨씬 가독성이 좋고 코딩하기 간편합니다. CDATA를 사용하지 않는다면 굉장히 가독성 떨어지는 코드를 작성합니다.

 

시작인 <!CDATA[ 와 끝인 ]]> 사이에 원하는 텍스트를 넣어주면, 해당 영역은 단순한 문자로 인식됩니다. ( 특히 <, > & 문자열은 그대로 인식된다

 

 

주의할 점


주의 할 것은, CDATA 영역 안의 모든 < , >를 문자열로 만들어버리기 때문에 동적 쿼리를 작성하는 곳에는 주의해서 사용합니다. 직접 해당 기호가 들어가는 곳에 사용해야 합니다.

 

참고

XML - CDATA Sections

CDATA

 

반응형

'공부 정리 > DB' 카테고리의 다른 글

Spring Data Repository Interface  (0) 2021.08.29
SQL select 쿼리 문법 순서  (0) 2021.08.28
oracle ROWNUM & ROW_NUMBER  (0) 2021.08.27
JOIN vs WHERE 차이점  (0) 2021.05.12
WHERE절에 조건(IF문) 추가하기  (0) 2021.05.08