Sections CDATA (données de caractère)  
<![CDATA[unescaped character & markup data]]>

Les documents XML se composent de marquage et de données de caractères. Vous ne pouvez pas inclure les caractères < ou & dans les données de caractère normales sans utiliser une référence d'entité ou de caractère, comme par exemple & ou &. Si vous utilisez une référence, les caractères < et & résultants ne sont pas reconnus comme du marquage par l'analyseur, en revanche ils sont intégrés au flux de données dans l'application cliente de l'analyseur.

Pour les blocs de données de caractère de grande taille, tout particulièrement si les données contiennent du marquage, comme par exemple des fragments HTML ou XML, la section CDATA peut être utilisée. Dans un bloc CDATA, tous les caractères situés entre les chaînes d'ouverture et de fermeture sont traités comme des données de caractère. Par conséquent, les caractères spéciaux peuvent sans problème être inclus dans une section CDATA, à l'exception de la séquence de fermeture CDATA, ]]>.

Les sections CDATA sont d'une grande utilité pour accomplir des tâches comme l'encadrement de documents XML ou HTML dans des didacticiels expliquant comment utiliser le marquage, mais il s'avère difficile de traiter les contenus des sections CDATA autrement que comme du texte en utilisant XSLT, le DOM ou SAX.

Les sections CDATA ne peuvent être imbriquées. La séquence de caractère ]]> ne peut figurer dans des données échappées sous peine que le bloc CDATA ne soit prématurément fermé. En règle générale, cette situation ne devrait pas poser de problème, mais si une application inclut des documents XML comme données de caractère non analysées, vous ne devez pas oublier cette contrainte. Si vous devez inclure la séquence de caractère de fermeture CDATA dans les données, fermez la section CDATA ouverte, introduisez les caractères de fermeture en utilisant des références de caractère permettant de les échapper, puis ouvrez à nouveau la section CDATA devant contenir le reste des données de caractère.