Почему вы должны использовать блоки XML CDATA?

При создании XML мне интересно, почему блоки CDATA используются, а не просто экранируют данные. В блоке CDATA разрешено что-то, что не может быть экранировано и помещено в обычный тег?

<node><![CDATA[ ...something... ]]></node>

вместо

<node>...something...</node>

Естественно, вам нужно будет экранировать данные в любом случае:

function xmlspecialchars($text)
{
    return str_replace('&#039;', '&apos;', htmlspecialchars($text, ENT_QUOTES, 'utf-8'));
}

Отспекуляция кажется, что CDATA была просто возможным решением, когда у вас нет возможности скрыть данные - но вы все еще доверяете этому. Например, RSS-канал из вашего блога (который по тем или иным причинам не может избежать сущностей).

Ответы на вопрос(2)

Ваш ответ на вопрос