Saltar al contenido principal

Referencias a entidades

Es posible referenciar a otra entidad dentro de la declaración de una entidad.

Por ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE frase [
<!ELEMENT frase (#PCDATA)>
<!ENTITY color "azul">
<!ENTITY frase "El cielo es &color;.">
]>
<frase>&frase;</frase>

Cuando un procesador XML interpreta el documento anterior, muestra lo siguiente:

<frase>El cielo es azul.</frase>
Probar en el navegador

Limitaciones

Una limitación de las entidades es que no admiten recursividad, es decir, una entidad no puede hacer referencia a ella misma.

Por ejemplo, el siguiente código no es válido:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE frase [
<!ELEMENT frase (#PCDATA)>
<!ENTITY frase "El cielo es &frase;.">
]>
<frase>&frase;</frase>

Tampoco puede se puede referenciar de manera circular:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE frase [
<!ELEMENT frase (#PCDATA)>
<!ENTITY frase1 "Esta frase incluye a la &frase2;.">
<!ENTITY frase2 "Esta frase incluye a la &frase1;.">
]>

<frase>&frase1;</frase>