Tutoriales de informática - Abrirllave.com

Abrirllave.com

Referencias a entidades en XML

En XML existen algunos caracteres que son especiales por su significado y, para escribirlos en un documento XML, se pueden utilizar las referencias a entidades mostradas en la siguiente tabla:

Referencias a entidades en XML
Carácter Entidad Referencia a entidad
< (menor que) lt (less than) &lt;
> (mayor que) gt (greater than) &gt;
" (comilla doble) quot (quotation mark) &quot;
' (comilla simple) apos (apostrophe) &apos;
& (ampersand) amp (ampersand) &amp;

EJEMPLO Dado el archivo "entidades.xml":

<?xml version="1.0" encoding="UTF-8"?>
<entidades>
   <menor_que>&lt;</menor_que>
   <mayor_que>&gt;</mayor_que>
   <comilla_doble>&quot;</comilla_doble>
   <comilla_simple>&apos;</comilla_simple>
   <ampersand>&amp;</ampersand>
</entidades>

Al abrirlo en Google Chrome se podrá visualizar:

Visualización del archivo entidades.xml en Google Chrome - Ejemplo del tutorial de XML de {Abrirllave.com

En el navegador web, se puede ver que donde se han escrito las referencias a entidades en el documento XML (por ejemplo &lt;), se muestran los caracteres correspondientes (por ejemplo <).

Caracteres problemáticos en XML: menor que (<) y ampersand (&)

EJEMPLO En un documento XML, el carácter "<" es problemático porque indica el comienzo de una etiqueta. Por tanto, en vez de escribir, por ejemplo:

<condicion>a<b</condicion>

Habría que utilizar la referencia a entidad &lt; escribiendo:

<condicion>a&lt;b</condicion>

EJEMPLO El carácter ">" sí puede utilizarse en el texto contenido en un elemento, no siendo incorrecto escribir, por ejemplo:

<condicion>a>b</condicion>

Ahora bien, se recomienda hacer uso de su referencia a entidad (&gt;).

EJEMPLO En un documento XML, el carácter ampersand "&" también es problemático, ya que se utiliza para indicar el comienzo de una referencia a entidad. Por ejemplo, no es correcto escribir:

<condicion>a==1 && b==2</condicion>

En su lugar se debe escribir lo siguiente:

<condicion>a==1 &amp;&amp; b==2</condicion>

Uso de la comilla doble (") y de la comilla simple (') en atributos

EJEMPLO Si el valor de un atributo se escribe entre comillas dobles ("), dicho valor no podrá contener dicho carácter. Por ejemplo, no es correcto escribir:

<dato caracter="comilla doble(")"/>

Para ello, hay que utilizar la referencia a entidad &quot; como se muestra a continuación:

<dato caracter="comilla doble(&quot;)"/>

De igual modo ocurre con la comilla simple ('), siendo incorrecto escribir, por ejemplo:

<dato caracter='comilla simple(')'/>

Por lo que, en este caso, habría que usar &apos; como se muestra seguidamente:

<dato caracter='comilla simple(&apos;)'/>

Por otro lado, los valores de atributos escritos entre comillas dobles (") sí pueden contener al carácter comilla simple (') y a la inversa. Por ejemplo, es correcto escribir:

<dato caracter="comilla simple(')"/>
<dato caracter='comilla doble(")'/>

En estos casos, no es obligatorio usar las referencias a entidades, pero sí recomendable.