CDATA
CDATA (Parsed Character Data) es cualquier cadena de texto, incluso con caracteres no permitidos en XML (<, >, &, etc.). El único caracter que no se puede utilizar es aquel que se ha utilizado para delimitar el valor del atributo (" o ').
<!ATTLIST producto ean CDATA #IMPLIED>
La regla anterior valida el siguiente XML:
<producto ean="4-006381-438650">Rotuladores Stabilo</producto>
En el caso anterior, se podría utilizar cualquier caracter excepto el " porque es que se ha utilizado para almacenar el valor del atributo.
Si queremos utilizar " dentro del contenido, podemos utilizar ' para almacenar el valor del atributo:
<producto ean='4-006381-438650'>Rotuladores Stabilo</producto>
El elemento podría también no tener ningún atributo:
<producto>Rotuladores Stabilo</producto>
Un ejemplo compelto sería el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE productos [
<!ELEMENT productos (producto*)>
<!ELEMENT producto (#PCDATA)>
<!ATTLIST producto ean CDATA #IMPLIED>
]>
<productos>
<producto ean="4-006381-438650">Rotuladores Stabilo</producto>
<producto>Goma MILAN</producto>
</productos>