[출처]
http://msdn.microsoft.com/ko-kr/library/ms256076(v=vs.80).aspx
http://insidesearch.tistory.com/entry/XML-CDATA-Section-%EB%8B%A4%EB%A3%A8%EA%B8%B0
CDATA 섹션에서는 CDATA 섹션에 의해 포함된 문자에 태그가 없음을 파서에 알릴 수 있습니다. 그러면 태그 문자가 나타날 수 있지만 태그가 필요하지 않은 섹션을 포함하는 문서를 훨씬 쉽게 만들 수 있습니다. CDATA 섹션은 일반적으로 스크립트 언어 내용과 샘플 XML 및 HTML 내용에 사용됩니다.
문서 구조에서 CDATA 섹션은 다음 구문을 사용합니다.
<![CDATA[An in-depth look at creating applications with XML, using <, >,]]>
XML 파서에서 초기 <![CDATA[를 발견한 경우 이를 요소나 엔터티 태그로 해석하지 않고 문자로 뒤에 나오는 내용을 보고합니다. 문자 참조는 CDATA 섹션에서 사용할 수 없습니다. 끝에 ]]>가 있을 경우 파서는 보고를 중지하고 일반 구문 분석으로 돌아갑니다.
예를 들어, 다음 CDATA 섹션 중 하나를 XML 문서에 포함할 수 있습니다. 이때 파서에서는 오류를 보고하지 않습니다.
<![CDATA[if (c<10)]]>
참고 |
---|
CDATA 섹션 내의 내용은 XML 내용에 허용되는 문자 범위 내에 있어야 합니다. 제어 문자 및 호환 문자는 이러한 방법으로 이스케이프할 수 없습니다. 또한 ]]> 시퀀스는 섹션의 끝을 알리기 때문에 CDATA 섹션 내에 이 시퀀스를 표시할 수 없습니다. 즉, CDATA 섹션은 중첩될 수 없습니다. 일부 스크립트에서는 이 시퀀스가 표시됩니다. 스크립트 내에서는 일반적으로 ] ]>가 ]]>를 대체할 수 있습니다 |
파싱 오류를 해결하려면 CDATA 섹션안에 들어가면 안되는 unicode range를 print문으로 XML을 덤프할 때 제거해야 한다. 이 unicode range는 XML 스펙 1.0에 다음과 같이 명기되어 있다.
Character Range
[2] | Char |
::= | #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] |
/* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */ |
CDATA Sections
'tip' 카테고리의 다른 글
XML: CDATA Sanitize? (0) | 2013.04.27 |
---|---|
http, https 혼용 Ajax 레이어팝업 로그인과 처리 (0) | 2013.04.27 |
svn merge (0) | 2013.04.27 |
윈도우 7에서 인터넷 연결이 안되다 (0) | 2013.04.27 |
개발환경 설치 (0) | 2013.04.27 |
댓글