Мені було цікаво, чи є якийсь спосіб уникнути маркера закінчення CDATA ( ]]>
) у розділі CDATA у документі xml. Або, загалом, якщо є якась послідовність запуску для використання в межах CDATA (але, якщо вона існує, я думаю, це, мабуть, має сенс лише бігти починаючи або закінчуючи лексеми, все одно).
В основному, чи можете ви мати маркер початку або кінця, вбудований в CDATA, і сказати аналізатору не інтерпретувати його, а трактувати його як лише іншу послідовність символів.
Можливо, вам слід просто переробити структуру xml або свій код, якщо ви виявите, що намагаєтесь це зробити, але, хоча я працюю з xml щодня протягом останніх 3 років або близько того, і я ніколи не мав цієї проблеми, Мені було цікаво, чи це можливо. Тільки з цікавості.
Редагувати:
Крім використання кодування html ...
CDATA
був розроблений таким чином, щоб дозволити що завгодно : вони використовуються для виходу блоків тексту, що містять символи, які в іншому випадку будуть розпізнані як розмітка, що також передбачає, CDATA
оскільки це також розмітка. Але насправді вам не потрібно подвійне кодування, яке я мав на увазі. ]]>
є прийнятним засобом кодування в CDEnd
межах a CDATA
.
>
як>
у CData, щоб переконатися, що вбудований]]>
не буде розбиратися як CDEnd. Це просто означає, що це несподівано, і&
ПЕРШИЙ слід закодувати як&
занадто, щоб дані можна було правильно розшифрувати. Користувачі документа також повинні знати, як розшифрувати цей CData. Це не нечувано, оскільки частина мети CData - це вміст, який конкретний споживач розуміє, як поводитися. Такого CData просто не можна очікувати, що будь-який загальний споживач інтерпретуватиме належним чином.