💻 IT/📌 WEB

(XML)CDATA 란?

GODSU 2020. 11. 29. 16:38
반응형

최근 자바스크립트 개발을 하면서 이벤트 핸들러 부분에 <![CDATA[…]]> 자주 보게되었다. 그럼 여기서 CDATA 무엇일까?

CDATA 약자이며 'Character Data'라는 뜻을 가지고 있다. 쉽게 생각하면 '문자 데이터' 말하는 것이다그런데.. 평소에 쓰는 일반 문자열 데이터랑 다른점은 무엇일까?



*  위키피다아

Q. CDATA ?

A. 문자 데이터를 의미하는 CDATA 라는 용어 는 마크 업 언어 SGML XML 에서 구별되지만 관련이있는 목적으로 사용됩니다 . 이 용어는 문서의 특정 부분이 문자 가 아닌 데이터 또는보다 구체적이고 제한된 구조를 가진 문자 데이터가 아니라 일반 문자 데이터 임을 나타냅니다 .

출처: <https://en.wikipedia.org/wiki/CDATA>

 


여기서 핵심은 "문서의 특정 부분이 문자 가 아닌 데이터 또는보다 구체적이고 제한된 구조를 가진 문자 데이터가 아니라 일반 문자 데이터" 라는 것이다.


CDATA 정의로 이해가 되지 않아서 예시를 보면서 이해해 봅시다


< ! [CDATA []>


CDATA 섹션은 <![CDATA[ … ]]> 순서로 구성된다.


<! [CDATA [<sender> 갓수나무 </ sender>]]>


& lt; sender & gt; 갓수나무 & lt; / sender & gt;  


여기 시퀸스 사이에 포함되는 문자는 마크업이나 엔티티 참조가 아닌 문자 그래도 해석 된다는 !! CDATA 섹션은 XML 문서 내에서 XML 코드를 텍스트 데이터로 작성하는 유용합니다.


이처럼 <![CDATA[ ... ]]>는 안에 들어가는 텍스트가 파싱되지 않게 하는 기능을 합니다. 이는 파서가 잘못 파싱할 수 있는 텍스트를 다룰 때, 파서의 잘못된 파싱을 방지할 수 있다는 점이있다.

반응형