2014-01-07 2 views
3

Я новичок в XML и связанных с ним технологиях.какой-нибудь <! [CDATA [<! [CDATA [какой-нибудь текст]]]]><![CDATA[>]]> в формате XML означает?

Этот CDATA тег всегда приходит в начале, а затем следуют некоторые вещи

Я имею использовать это в моем файле XML:

<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text> 

я следующий вопрос. Пожалуйста, помогите мне.

что именно <![CDATA[some text]]]]> означает?

+3

В отличие от форумах, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –

+0

@RGraham благодарит приятеля за то, что он указал мне на правильное решение. –

ответ

8

Если нет специальных символов, таких как «&» и «<» в содержании, строка

<![CDATA[xxxxx]]> 

означает, точно так же, как

xxxxx 

Разница заключается в том, что во втором формы, «&» и «<» имеют особое значение, а в форме CDATA единственное, что имеет особое значение, это строка «]]>», которая действует как ограничитель.

Ваш более сложный пример:

<![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]> 

немного кошмара, и результаты от небрежного программирования привычки оберточной текст в разделах CDATA из лени. Разделы CDATA не могут быть вложенными, так что первая ]]> завершает первый <!CDATA[, что означает, что строка эквивалентна

<![CDATA[TAX INVOICE]]> 

Вы могли бы подумать, что это, в свою очередь эквивалентно

TAX INVOICE 

но это не так, потому что анализатор XML будет интерпретировать только внешние ограничители CDATA, поэтому контент, который он передает в приложение, поэтому

<![CDATA[TAX INVOICE]]> 
+0

+1 Хорошее объяснение! –

4

Термин CDATA происходит от мира SGML, который является сложным предшественником XML. Этот термин является коротким для Character Data и означает, что данные содержат символы и не должны анализироваться. Теги, сущности, атрибуты, инструкции обработки внутри CDATA рассматриваются как текст, а не как XML элементов.

Смежные вопросы