CDATA区間の扱い

HTML
メディアタイプがtext/htmlの文書
XML
メディアタイプのサブタイプが+xmlで終わるかxmlの文書
HTML XML
IE 7 消去 -
Firefox 3 beta 3 コメント化 認識
Opera 9.5 beta 1 認識 認識
Safari 3 beta (3.0.4) 消去 認識
  • IE(HTML)
    • MDO(<!)の後にDSO([)が続き、]の後にMDC(>)が出現するとMDOからMDCまでを消去する
    • 対のMDO、MDCがあり上の条件でない場合、MDO後の2文字とMDC前の2文字を(おそらく)COM(--)扱いして消去し、MDCまでをコメントと見做す
    • CDATA区間内にMDCがある場合、パースに失敗し、そのMDCを境にCDATA区間をコメントと文字データに分割する
  • Firefox(HTML)
    • MDOの後に「DOCTYPE」が続く場合はMDOからMDCまでを消去する
    • MDOの後に「DOCTYPE」が続かない場合はMDOからMDCまでをコメントと見做す
  • Safari(HTML)
    • MDOからMDCまでを消去する

IEのパース失敗例

<p><![CDATA[ a > b ]]></p>
-P
--#comment: DATA[
--#text: b ]]>
  • [Ca がおそらくCOM扱い