Saltar al contenido principal

#PCDATA

PCDATA (Parsed Character Data) es cualquier cadena de texto, siempre que no contenga caracteres no permitidos en XML (<, >, &, etc.). Es decir, puede contener cualquier texto, aunque se deben utilizar las entidades correspondientes para aquellos caracteres reservados para algunas funcionalidades de XML. Por lo tanto, se utiliza para elementos terminales, es decir, que no contienen otros elementos.

El valor a indicar será #PCDATA y se debe escribir entre paréntesis:

<!ELEMENT nombre (#PCDATA)>
Separación

Se debe dejar, al menos, un espacio en blanco entre el nombre del elemento y (#PCDATA). No hacerlo produce un error en la validación. El siguiente código no sería válido:

<!ELEMENT nombre(#PCDATA)>

La regla anterior permitiría validar el siguiente elemento:

<nombre>Santiago de Compostela</nombre>

Un elemento vacío también seguiría siendo válido:

<nombre></nombre>

Se podría escribir también en el formato corto:

<nombre />

Un ejemplo completo sería el siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ciudad [
<!ELEMENT ciudad (nombre, pais)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT pais (#PCDATA)>
]>
<ciudad>
<nombre>Santiago de Compostela</nombre>
<pais>España</pais>
</ciudad>