xml : CDATA? 그게 뭔데?

2018. 2. 24. 17:05DB

Flash를 배우게 되면서 혹은 xml 문서를 필요로하는 프로그래밍을 진행할때엔


xml 문서 속 <![CDATA[ ... ]]> 이런 문장을 볼 수 있습니다.


그렇다면 <![CDATA[ ... ]]> 는 무엇일까요?


먼저 그 뜻을 생각해보면 Character DATA 즉, 문자 데이터를 말합니다.


다시 생각해보면 (Unpared) Character Data, 파싱되지 않은 문자데이터 라는 뜻으로 해석됩니다.


그럼, 파싱되지 않은 데이터는 무슨 뜻 일까??


<?xml version="1.0" encoding="utf-8"?> <description>ABCDEFG <b><HIJKLMN/b> OPQRSTU <strong>VWXYZ</strong></description>


xml 문법에 어긋날 수 있는 코드지만 일반적으로 출력되는 문장은 어떻게 구성될까?


정답은


ABCDEFG HIJKLMN OPQRSTU VWXYZ

이다.


단번에 맞춘 분들도 있을테지만, 틀렸다면 예상한것과 다른점이 무엇일까??


맞다, 태그가 인식되어 적용되었고 그렇기 때문에 출력물에는 태그가 포함되어있지않다.


만약 위에서 말한 <![CDATA[ ... ]]> 를 사용한다면?


<?xml version="1.0" encoding="utf-8"?> <description><![CDATA[ABCDEFG <b><HIJKLMN/b> OPQRSTU <strong>VWXYZ</strong>]]></description>


결과는


ABCDEFG <b><HIJKLMN/b> OPQRSTU <strong>VWXYZ</strong>


결론적으로


<![CDATA[ ... ]]>는 안에 들어있는 텍스트가 태그로써 파싱되지않고 말그대로 텍스트로만 인식하기 위한 방지책인 것이다.