HTML에서 CDATA란 무엇입니까?
자바스크립트 태그와 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 섹션의 끝 부분에 대해 두 가지 유형의 파서가 일치하지 않기 때문에 사이트 간 스크립팅 취약성이 발생할 수 있습니다.
간단한 SGML 튜토리얼.
또한 CDATA의 Wikipedia 항목을 참조하십시오.
CDATA
HTML에는 전혀 의미가 없습니다.
CDATA
는 일반적으로 #PCDATA 구문 분석된 문자 데이터인 태그의 내용을 #CDATA, 즉 구문 분석되지 않은 문자 데이터로 설정하는 XML 구조입니다.이는 XHTML에서만 관련성이 있고 유효합니다.
에서 사용됩니다.script
구문 분석을 방지하기 위한 태그<
그리고.&
HTML에서는 이것이 필요하지 않습니다. 왜냐하면 HTML에서는script
이미 #CDATA입니다.
http://en.wikipedia.org/wiki/CDATA 에서:
웹 페이지 스크립트에서 기호(<)와 앰퍼샌드(&)보다 작은 크기의 기호(<)와 앰퍼샌드(&)를 사용할 수 있고, 이를 피할 필요 없이 덜 범위의 스타일을 사용할 수 있는 것이 유용하기 때문에, 일반적으로 XHTML 문서에서 인라인 및 요소 텍스트 주위에 CDATA 마커를 사용합니다.그러나 CDATA 마커를 인식하지 않는 HTML 파서에서도 문서를 구문 분석할 수 있도록 다음 JavaScript 예제에서와 같이 CDATA 마커는 일반적으로 주석 처리됩니다.
<script type="text/javascript">
//<![CDATA[
document.write("<");
//]]>
</script>
CDATA는 사용되지 않습니다.
CDATA 섹션은 HTML 내에서 사용할 수 없으며 XML에서만 작동합니다.
따라서 HTML 5에서는 사용하지 마십시오.
https://developer.mozilla.org/en-US/docs/Web/API/CDATASection#Specifications
HTML 및 XHTML의 공통 서브셋 작성 방법
더 큰 휴대성을 기대하며.
HTML에서,<script>
마법은 모든 것을 탈출합니다.</script>
나타납니다.
따라서 다음과 같이 쓸 수 있습니다.
<script>x = '<br/>';
그리고.<br/>
태그로 간주되지 않습니다.
이러한 이유로 다음과 같은 문자열이 사용됩니다.
x = '</scripts>'
다음과 같이 이스케이프해야 합니다.
x = '</scri' + 'pts>'
참고: 문서로 작성할 때 <script> 태그를 분할하는 이유.()라고 쓰십니까?
그러나 XML(HTML과 달리 XML의 "부분 집합"인 XHTML)에는 이러한 마법이 없습니다.<br/>
꼬리표로 보일 겁니다
<![CDATA[
과 같이 HTML은 다음과 같이 말합니다.
다 번 지 구 분 석 안 까지 태그를 하지 않습니다
]]>
합니다.
그//
HTML에서도 CDATA가 잘 작동하도록 하기 위해 추가되었습니다.
에서 서<![CDATA[
마법이 아니기 때문에 자바스크립트로 실행될 것입니다.//
댓글을 달 때 사용합니다.
XHTML을 .//
그러나 문제가 되지 않는 빈 주석 행으로 관찰합니다.
//
다음과 같습니다.
- 를 초기 호환가doctype 서또HTML .
<!DOCTYPE html>
대<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- 되는 웹 브라우저에 할 수 , 을 하나의 ▁a▁valid▁single▁do▁compliant▁couldctyinate,▁with▁rely다있니습pe▁websites▁browsers호수환▁coord▁and할▁compliant정조▁on과유형서로 조정할 수 있습니다.
script
하지만 이는 인터넷의 황금률을 위반하는 것입니다.
타사를 신뢰하지 마십시오. 그렇지 않으면 제품이 손상됩니다.
CDATA는 문서 문자 집합의 일련의 문자이며 문자 엔티티를 포함할 수 있습니다.사용자 에이전트는 다음과 같이 속성 값을 해석해야 합니다.
문자 엔티티를 문자로 바꿉니다.
라인 피드 무시,
각 캐리지 리턴 또는 탭을 단일 공간으로 바꿉니다.
언급URL : https://stackoverflow.com/questions/7092236/what-is-cdata-in-html
'programing' 카테고리의 다른 글
대규모 프로젝트를 위한 PHP가 없습니까?왜 안 되나요? (0) | 2023.07.25 |
---|---|
Android에서 ScrollView를 사용하는 방법은 무엇입니까? (0) | 2023.07.25 |
PowerShell 복사 항목 사용 방법 및 구조 유지 (0) | 2023.07.25 |
많은 디스크 공간을 차지하는 Android SDK 폴더.모든 시스템 이미지를 보관해야 합니까? (0) | 2023.07.25 |
사용자 테이블에서 일치하는 행을 찾을 수 없습니다. (0) | 2023.07.25 |