25

別の 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 解析エラーが発生します。]]>これらのブラケットをユーザーに表示できるようにエスケープする方法はありますか?

私が十分に明確だったことを願っています。

4

1 に答える 1

51

]]>CDATA セクションの部分文字列を次のように置き換えることでエスケープできます。

]]]]><![CDATA[>

... ライン。これにより]]、1 つの CDATA セクションの一部を作成し>、前のセクションが終了した直後に開始する別のセクションを作成します。

于 2012-10-12T14:10:40.930 に答える