In XML il CDATA fa parte della DTD e serve a definire il tipo di dato contenuto all’interno di un tag. Più precisamente CDATA sta per Character DATA ed è utilizzato per definire un blocco di puro testo (a prescindere dal suo contenuto e dai caratteri in esso utilizzati).
Attraverso un corretto utilizzo delle sezioni CDATA è possibile risolvere il problema dei caratteri speciali (come ad esempio le lettere accentate) oppure inserire del codice HTML senza che questo venga interpretato come tag XML (generando errori e invalidando il codice).
La sintassi di CDATA è la seguente:
<![CDATA[
...
]]>
Analizziamo la sintassi appena presentata:
- la sezione CDATA inizia con un delimitatore composto da nove caratteri: <![CDATA[
- la sezione CDATA termina con il delimitatore ]]>
- tutto ciò che è contenuto tra questi due delimitatori viene interpretato quale semplice testo, questo vuol dire che possiamo utilizzare, ad esempio, i simboli di markup (<, > e &) senza interferire con la validità del documento XML.
Vediamo un esempio:
<descrizione>
<![CDATA[
Questo è un <b>blocco di testo!</b>
]]>
</descrizione>
Nel nostro esempio abbiamo utilizzato la sezione CDATA all’interno di un ipotetico nodo XML <descrizione> per poter utilizzare del codice HTML (nel nostro esempio abbiamo marcato una parola con il tag bold di HTML).