エスケープする文字


■&は&とする
マークアップの開始の区切り子に使われている文字は、マークアップ以外で使う場合はエスケープします。

「&」は「&amp;」、「<」は「&lt;」とします。

属性値内に 「"」、「'」 が現れる場合。「="'valu;'"」、「='"valu"'」、あるいは「="&quot;valu&quot;"」、「='&#39;valu&#39;'」とします。


■script要素の内容に「</」が現れる場合

script要素の内容に "</" に続いて名前開始文字が現れる場合、要素が終了したと見做すUAがあるため、「/(&#47;)」をバックスラッシュでエスケープします。バックスラッシュ(&#x5C; &#92;)は日本語の文字コードでは「\」で表されます。

<SCRIPT type="text/javascript">
document.write ("<EM>This will work<\/EM>")
</SCRIPT>


XHTMLでは文字データとしての「<」「&」はCDATAセクション以外ではそのままでは出現できません。また、「]]>」はCDATAセクションの終了区切り子として以外は出現することができません。
つまり「<」「&」「]]>」は文字データとして使う場合は必ずエスケープする必要があります。
style要素、script要素の内容に「<」「&」「]]>」が現れる場合は外部文書の使用が望ましいとされているのはそのためです。