В XML может ли CData существовать вместе с другим узлом?

Это действительный XML?

<foo>
    <![CDATA[<bar>]]>
    <sibling></sibling>
</foo>

Могут ли все парсеры XML разобрать это?

2 ответа

CData вместе с другим узлом в порядке, он не нарушает правильность XML-документа. Учитывая этот факт, все приличные парсер XML должен уметь анализировать такую ​​структуру.

Из спецификации XML 1.0:

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

Этот фрагмент XML, безусловно, хорошо сформирован. Будь он действительным, зависит от схемы XML (или DTD), которую вы используете для проверки.

Другие вопросы по тегам