xml파일을 보다 보면 <script> 태그로 감싸진 부분에 <! [CDATA [ 로 가독성을 좋지 않게 하는 태그가 존재한다
이게 대체 어떤 역할을 하는지 정리해 보려 한다
CDATA를 확인하기 전에 xml이 무엇인지를 먼저 정리해보려 한다
1. XML(eXtensible Markup Language)이란
XML은 eXtensible Markup Language의 약자로, 다목적 마크업 언어이다
데이터를 저장하고 전송하기 위한 형식으로 사용된다
XML은 데이터의 구조를 설명하는 데 사용되며, 태그를 사용하여 데이터 요소를 정의한다
각 요소는 태그로 둘러싸여 있으며, 시작 태그와 종료 태그로 구성됩니다
예를 들어, <book>과 </book>는 책의 데이터를 감싸는 시작 및 종료 태그이다
2. XML을 사용하는 이유
XML은 여러 목적으로 사된, 주된 목적은 데이터를 구조화하고 전송하기 위한 것이다
- 유연성 : XML은 사용자가 자신만의 태그와 데이터 구조를 정의할 수 있는데, 이는 다양한 종류의 데이터를 표현하는 데 매우 유용하다
- 상호 운용성 : XML은 플랫폼에 독립적이며, 서로 다른 응용 프로그램 및 시스템 간에 데이터를 교환하는 데 사용된다
- 확장 가능성 : XML은 새로운 데이터 요소 및 구조를 추가하여 기존 데이터 모델을 확장하는 데 쉽게 사용할 수 있다
이는 데이터의 변화에 대응하는 데 유용하다
- 가독성 및 유지 보수성 : XML 문서는 사람이 읽고 이해하기 쉽고, 이는 데이터의 가독성을 높이고 유지 보수를 용이하게 한다
3. 마크업(markup) 언어는 무엇인가
마크업 언어는 데이터를 구조화하고 표시하기 위한 형식으로 사용되는 언어이다
이러한 언어는 태그를 사용하여 데이터를 정의하고 구조화하는데, HTML(HyperText Markup Language)은 가장 잘 알려진 마크업 언어 중 하나이다
<p>This is a paragraph.</p>
위의 예시에서 <p>는 문단을 나타내는 시작 태그이고, </p>는 문단을 닫는 종료 태그이다
이러한 태그는 데이터의 의미와 구조를 정의하는 데 사용된다
마크업 언어는 주로 웹 페이지, 문서, 데이터 교환 형식 등 다양한 영역에서 사용된다
4. CDATA란? Character Data
IT에서도 줄임말은 항상 어렵다
<! [ CDATA [ ] ]> 태그는 XML 문서 내에서 CDATA 섹션을 정의하는 데 사용된다
CDATA는 Character Data의 약어로, 이 섹션 안에 포함된 내용은 XML 파서(parser)에 의해 해석되지 않는 일반 텍스트로 취급된다
즉, XML 문서 내에서 마크업을 인식하지 않아도 되는 텍스트 데이터를 포함시킬 때 사용한다
예를 들어, XML 문서 내에 HTML 코드 또는 JavaScript 코드를 포함시킬 때, 해당 코드 내의 <, >, & 같은 문자들이 XML 태그나 엔티티 참조로 잘못 해석되는 것을 방지할 수 있다
5. CDATA 사용 예시
<script type="text/javascript">
<! [CDATA [ function sayHello() { alert("Hello, World!"); } ]]>
</script>
예시에서 <! [CDATA [ ]]> 사이에 있는 JavaScript 코드는 XML 파서에 의해 단순 문자열로 처리되므로, <script> 태그 내에서 자유롭게 <, >, & 등의 문자를 사용할 수 있게 됩니다
CDATA 섹션을 사용함으로써, 이러한 문자들이 XML 태그로 잘못 해석되는 것을 방지하기 위함이다
위예 예시로 정리해 보면 CDATA를 사용함으로써 xml내 <script> 태그 사용 시 자유롭게 <, >, & 등의 문자를 사용할 수 있게 된다
이렇게 해야만 XML 파서에 의해 오류 없이 통과될 수 있으며, 브라우저는 sayHello 함수를 정상적으로 실행할 수 있게 된다