Я часто вижу людей, задающих вопросы, связанные с XML / XSLT, которые коренятся в неспособности понять, как работает CDATA (например, этот ).
Интересно - почему оно вообще существует? Дело не в том, что XML не может обойтись без него, все, что вы можете поместить в раздел CDATA, можно выразить как «нативное» (с выходом XML).
Я ценю, что CDATA потенциально делает результирующий документ немного меньше, но давайте посмотрим правде в глаза - XML в любом случае многословен. Небольшие XML-документы могут быть легко получены, например, с помощью сжатия.
Для меня CDATA нарушает четкое разделение разметки и данных, поскольку у вас могут быть данные, которые выглядят как разметка невооруженным глазом, что я считаю плохой вещью. (Это может даже быть одной из причин, побуждающих людей неадекватно применять обработку строк или выполнять регулярные выражения в XML.)
Итак: какая веская причина использовать CDATA?