HTML에서 CDATA 란 무엇입니까? [복제]
이 질문에는 이미 답변이 있습니다.
- 스크립트 태그 내에서 CDATA 섹션은 언제 필요합니까? 답변 15 개
JavaScript 태그 및 HTML에서 CDATA를 사용하는 것은 무엇입니까?
<script type="text/javascript">
// <![CDATA[
// ]]>
</script>
XML 문서의 모든 텍스트는 파서에 의해 구문 분석됩니다.
그러나 CDATA 섹션 내의 텍스트는 파서에 의해 무시됩니다.
CDATA-(파싱되지 않은) 문자 데이터
CDATA라는 용어는 XML 파서에서 구문 분석하지 않아야하는 텍스트 데이터에 사용됩니다.
"<"및 "&"와 같은 문자는 XML 요소에서 유효하지 않습니다.
구문 분석기가 오류를 새 요소의 시작으로 해석하므로 "<"는 오류를 생성합니다.
구문 분석기가 오류를 문자 엔티티의 시작으로 해석하므로 "&"는 오류를 생성합니다.
JavaScript 코드와 같은 일부 텍스트에는 많은 "<"또는 "&"문자가 포함되어 있습니다. 오류를 피하기 위해 스크립트 코드를 CDATA로 정의 할 수 있습니다.
CDATA 섹션 내부의 모든 것은 파서에 의해 무시됩니다.
CDATA 섹션 "로 시작
<![CDATA["와 끝 "]]>"
프로그램 출력에서 CDATA 사용
XHTML 문서에서 CDATA 섹션은 HTML로 문서를 렌더링하는 경우 HTML 파서가 CDATA 시작과 끝 마커를 인식하지 않기 때문에, 웹 브라우저에서 다르게 해석 할 책임이 있습니다 없으며 같은 HTML 엔티티 참조를 인식 할
<내<script>태그입니다. 이로 인해 웹 브라우저에서 렌더링 문제가 발생할 수 있으며 신뢰할 수없는 소스의 데이터를 표시하는 데 사용되는 경우 사이트 간 스크립팅 취약점이 발생할 수 있습니다. 두 종류의 파서는 CDATA 섹션이 끝나는 위치에 동의하지 않기 때문입니다.
또한 CDATA 의 Wikipedia 항목을 참조하십시오 .
CDATA HTML에서는 전혀 의미가 없습니다.
CDATA는 일반적으로 #PCDATA-구문 분석 된 문자 데이터 인 태그의 내용을 #CDATA, 즉 구문 분석되지 않은 문자 데이터로 사용하도록 설정하는 XML 구문입니다. XHTML에서만 관련되고 유효합니다.
에 사용되는 script구문 분석을 방지하기 위해 태그 <와 &. HTML에서는 script이미 #CDATA 이므로 HTML에서는 필요하지 않습니다 .
에서 http://en.wikipedia.org/wiki/CDATA :
웹 페이지 스크립트에서보다 작음 기호 (<) 및 앰퍼샌드 (&)를 사용하고 이스케이프를 피할 필요없이 스타일을 덜 사용하는 것이 유용하므로 CDATA 마커를 사용하는 것이 일반적입니다. XHTML 문서의 인라인 텍스트 및 요소 그러나 CDATA 마커를 인식하지 못하는 HTML 파서로도 문서를 구문 분석 할 수 있도록이 JavaScript 예제에서와 같이 CDATA 마커는 일반적으로 주석 처리됩니다.
<script type="text/javascript">
//<![CDATA[
document.write("<");
//]]>
</script>
이식성을 높이기 위해 HTML과 XHTML의 공통 부분 집합을 작성하는 방법 .
HTML에서 <script>마술은 </script>나타날 때까지 모든 것을 이스케이프 합니다.
그래서 당신은 쓸 수 있습니다 :
<script>x = '<br/>';
와 <br/>태그로 간주되지 않습니다.
이것이 다음과 같은 문자열입니다.
x = '</scripts>'
다음과 같이 탈출해야합니다 :
x = '</scri' + 'pts>'
<script> 태그를 document.write ()로 쓸 때 왜 분할합니까?를 참조하십시오.
그러나 XML (및 HTML과 달리 XML의 "하위 집합"인 XHTML )에는 그러한 마법이 없습니다 <br/>. 태그로 볼 수 있습니다.
<![CDATA[ 말하는 XHTML 방법입니다.
다음까지 태그를 구문 분석하지 마십시오.
]]>모든 문자열을 고려하십시오.
은 //물론 HTML에서뿐만 아니라 CDATA 작업을 만들기 위해 추가됩니다.
HTML에서는 <