Studying XML -- second step -- [ エスケープ ] (via XML の CDATA 中では ]]> のエスケープが必要)で ]]>
を書くときは ]]>
のようにエスケープすればよいみたいなことが書かれているけど、CDATA セクション内ではそもそも &
の扱いもなくなる (CDATA セクション内では ]]> のみがマークアップとして扱われる。Within a CDATA section, only the CDEnd string is recognized as markup
) ので意図した挙動 (]]>
がアンエスケープ) にならない。
結論をいうと CDATA セクションに ]]>
をそのまま含めることは不可能で、どうしても CDATA セクションを書きたいよぅって時は二つにわけないとダメ。すなわち <!CDATA[[]]]]><CDATA[[>]]>
とするしかない。