Раздел CDATA
Внутри символьных данных содержимого элемента нельзя помещать символ левой угловой скобки (<) или знак амперсанда (&). Одним из способов преодолеть это является использование ссылки на символ или примитив. Но в случае когда эти символы встречаются многократно, это не удобно. В этом случае проще поместить текст, содержащий такие символы, в раздел CDATA.
Раздел CDATA начинается с символов <![CDATA[ и заканчивается символами ]]>
Между этими двумя ограничителями можно помещать любые символы, за исключением (]]>). Можно даже вставлять внутрь комментария символ левой угловой скобки (<) и знак амперсанда (&). Все символы внутри раздела CDATA трактуются как литерная часть символьных данных элемента, а не как XML разметка.
Пример правильно записанного раздела CDATA:
<![CDATA[Здесь можно поместить любые символы ]]>
замечание: Ключевое слово CDATA (как и другие ключевые слова XML) должно быть набрано прописными буквами.
Раздел CDATA можно поместить в любое место, занимаемое символьными данными - т.е. внутри содержимого элемента, но вне описания разметки. Например:
<?xml version="1.0"?> <MUSICAL> <TITLE>Thank You For Loving Me</TITLE> <![CDATA[ <Stadt!> By Roger & Hammerstein ]]> <LONG>3:44</LONG> </MUSICAL>
Ниже приведен пример двух неправильно записанных разделов CDATA, первый не находится внутри содержимого элемента, второй находится внутри содержимого элемента, но также и внутри начального тега разметки:
<?xml version="1.0"?> <![CDATA[Ошибка: не внутри содержимого элемента]]> +<MUSICAL> <TITLE>Thank You For Loving Me</TITLE> <LONG<![CDATA[ Ошибка: внутри разметки начального тега элемента ]]> >3:44</LONG> </MUSICAL>