XML CDATA
Весь текст в XML-документе будет разобран парсером.
Только текст внутри секции CDATA будет игнорироваться парсером.
PCDATA - анализируемые символьные данные
XML-парсеры обычно анализируют весь текст в XML-документе.
Когда XML-элемент анализируется, текст между его тегами также анализируется:
Парсер делает это, потому что XML-элементы могут содержать другие элементы, как в этом примере, где элемент <name> содержит два других элемента (first и last):
Парсер разбивает его на подэлементы следующим образом:
<first>Bill</first>
<last>Gates</last>
</name>
Анализируемые символьные данные (PCDATA) — это термин, используемый для текстовых данных, которые анализируются XML-парсером.
CDATA - (неразбираемые) символьные данные
Термин CDATA обозначает текстовые данные, которые не должны анализироваться XML-парсером.
Такие символы, как "<" и "&", недопустимы в XML-элементах.
"<" вызовет ошибку, потому что парсер интерпретирует этот символ как начало нового элемента.
"&" вызовет ошибку, потому что парсер интерпретирует этот символ как начало символьной сущности.
Некоторый текст, например код JavaScript, содержит много символов "<" или "&". Чтобы избежать ошибок, код скрипта можно определить как CDATA.
Всё, что находится внутри раздела CDATA, игнорируется парсером.
Раздел CDATA начинается с "<![CDATA[и заканчивается на "]]>:
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>
В приведённом выше примере парсер игнорирует всё в секции CDATA.
Примечания о секциях CDATA:
Секция CDATA не может содержать строку "]]>". Вложенные секции CDATA также не допускаются.
Последовательность "]]>", обозначающая конец секции CDATA, не может содержать пробелы или переносы строк.
Другие расширения