Использование CDATA внутри другого CDATA

у меня есть эта сложная ситуация, когда мне нужно использовать теги 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-файла.

Как вы уже знаете, код выше даст мне ошибку синтаксического анализа XML, так как вложенность CDATA не будет работать. Есть ли способ избежать ]]> чтобы я мог показать эти скобки своим пользователям?

надеюсь, я был достаточно ясен.

1 ответов


вы можете избежать ]]> подстрока в разделе CDATA, заменив ее на:

]]]]><![CDATA[>

... линия. С этим вы сделаете ]] часть одного раздела CDATA и > - другого, который начинается сразу, когда заканчивается предыдущий.