別のCDATAタグ内でCDATAタグを使用する必要があるというこの困難な状況があります。しかし、状況は簡単に説明できます。
私は次のものを持っています:
<edit>
<![CDATA[
<script type="text/javascript">
<![CDATA[
window.onload = function()
{
document.getElementById('block').onclick = function()
{
this.onclick = '';
this.value = '{LA_SEND_CONFIRM}';
this.className = this.className.replace('button1','');
document.getElementById('replacement').value = '{LA_BLOCK_CODE}';
}
}
]]>
</script>
]]>
</edit>
表示のためにJavascriptもCDATA内にラップする必要があるため、そのXMLファイルを開くと、正しく表示され、JavascriptコードはそれらのCDATAタグ内にあります。 XMLファイル自体の内部では実際の意味はありません。
すでにご存知のように、上記のコードでは、CDATAのネストが機能しないため、XML解析エラーが発生します。 ]]>
をエスケープして、それらのブラケットをユーザーに表示できるようにする方法はありますか?
私は十分に明確だったと思います。
CDATAセクションの]]>
部分文字列は、次のように置き換えることでエスケープできます。
]]]]><![CDATA[>
...行。これにより、]]
を1つのCDATAセクションの一部にし、>
-を別のセクションの一部にします。これは、前のセクションが終了したときに開始します。