<div>This is regular text</div>
텍스트 콘텐츠 : &
을 이스케이프 처리해야합니다. <
을 이스케이프 처리해야합니다.
UTF가 아닌 인코딩으로 문서를 만드는 경우 선택한 인코딩 안에 들어 가지 않는 문자는 이스케이프해야합니다.
XHTML (및 일반적으로 XML)에서 시퀀스 ]]>
은 텍스트 콘텐츠에 나타나서는 안되기 때문에 해당 시퀀스의 문자 중 하나를 이스케이프 처리해야합니다 (전통적으로 >
). 일관성을 유지하기 위해 Canonical XML 사양에서는 텍스트 콘텐츠에서 매번 >
을 이스케이프 처리하도록 선택합니다. 이는 수동 작성을 위해 건너 뛸 수 있지만 이스케이프 함수의 나쁜 전략은 아닙니다.
<input value="this is value text">
속성 값 : &
을 이스케이프 처리해야합니다. 속성 값 구분 기호 "
또는 '
은 이스케이프해야합니다. 속성 값 구분 기호가 사용되지 않으면 (그렇게하지 마십시오) 이스케이프가 가능하지 않습니다.
정규 XML은 항상 구분 기호로 "
을 선택하고, 따라서 그것을 이스케이프합니다. >
문자는 속성 값에서 이스케이프 할 필요가 없으며 Canonical XML은 이스케이프 처리하지 않습니다. HTML4 사양은 하위 호환성을 위해 >
인코딩을 제안했지만, 이것은 이제까지 기억하지 않는 몇 가지 정말로 고대적이고 무시 무시한 브라우저에만 영향을 미칩니다. 당신은 그것을 무시할 수 있습니다.
XHTML <
에서 이스케이프해야합니다. HTML4에서 벗어나지 않고 도망 갈 수는 있지만 좋은 생각은 아닙니다. (그들이 속성 값 정규화 알고리즘에 의해 일반 공간으로 전환하지 않고)
는 문자 참조로 인코딩해야합니다 속성 값의 탭, CR 또는 LF를 포함합니다. 텍스트의 내용과 특성을 모두 들어
는 값 : XML 1.1에서 XHTML, 당신은 삭제 성격과 C0와 C1 제어 코드, 마이너스 탭, CR, LF 및 NEL있는 제한된 문자를 탈출해야합니다. 총계로 [\x01-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F]
. null 문자는 XML 1.1에서 이스케이프 된 경우조차 포함되지 않을 수 있습니다. XML 1.1 밖에서는 이러한 문자를 전혀 사용할 수 없으며 원하는 이유가 없습니다.
<!-- This text here might be programmatically generated
and could, in theory, contain the double-hyphen character
sequence, which is verboten inside comments -->
예, 가능하지만 탈출 할 수있는 내부 댓글이 없기 때문에 가능한 조치가 없습니다. <!-- < -->
을 쓰는 경우 문자 그대로 "앰퍼샌드 문자 l 문자 t- 세미콜론"을 포함하는 주석을 의미하며 DOM 또는 다른 infoset에 그대로 반영됩니다. --
이 포함 된 주석은 단순히 직렬화 할 수 없습니다.
<![CDATA[
부분도 XML의 <?pi
의 탈출 사용할 수 없습니다. ]]>
시퀀스를 포함하는 CDATA 섹션을 직렬화하는 전통적인 솔루션은이 시퀀스를 두 개의 CDATA 섹션으로 분할하여 함께 발생하지 않도록하는 것입니다. 단일 CDATA 섹션에서 직렬화 할 수 없으며 데이터에 ?>
인 PI를 serialize 할 수 없습니다. 최종 태그 이름을 따르지 않을 경우,이 초 후, 에러 요소를 종료 것처럼 HTML (되지 XHTML)에 <script>
및 <style>
등
CDATA 요소는 </
(ETAGO) 시퀀스를 포함 할 수 없다. 더 이스케이프는 CDATA 요소 내에 할 수 없기 때문에,이 순서는 (회피와 회피해야 예. document.write('<\/p>');
에 document.write('</p>')
을 돌려. (당신은 더 복잡 바보 전략의 많은이 하나를 해결하기 위해 참조 JS-에 unescape
를 호출처럼 % 기호로 묶인 문자열, 심지어는 종종 '</scr'+'ipt>'
이 여전히 유효하지 않습니다.
다른 규칙이 적용되는 HTML과 XML에서 하나 이상의 컨텍스트가 있으며 DTD에 있습니다 (DOCTYPE 선언의 내부 하위 집합 포함 %
캐릭터가 특별한 능력을 가지고 곳) 하나가 그대로 사용되는 이스케이프 할 필요가있다. 그러나 HTML 문서의 저자로 당신이 그 모든 혼란 근처에 어디 갈 필요가 어느 것이 매우 어렵다.
The following text will throw errors as HTML 4.01 Strict:
<a href="http://example.com/file.php?x=1&y=2">foo</a>
예, 전환과 관련하여 오류가 발생했습니다. SGML에서
If you put a space after the &, however, it validates just fine.
예
는
[A-Za-z]
및
#
참조로 분석 시작되지 않습니다 아무것도하지만 규칙. 이것에 의존하는 것은 좋은 생각이 아닙니다. 물론 XHTML에서는 잘 형성되지 않았습니다.)
을 그것에 대해 자세한 내용을보실 수 있습니다 - HTML 주석 내부; 그들은 단순히 금지됩니다 (주석은 파서에 의해 무시되고 렌더링되지 않으므로 이스케이프 시퀀스는 아무런 도움이되지 않습니다). 어떤 이유에서 -를 포함하는 설명을 포함해야한다면,이를 제거하거나 불쾌감을 줄 일 (U + 2014 EM DASH)으로 대체해야합니다. – dirtside
그래서 간단하게 질문을 넣어. – Kieran