Saltar la navegación

2.4.2. Caracteres problemáticos

< y >

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>

Sin embargo, el carácter “>” sí puede utilizarse en el texto contenido en un elemento, no siendo incorrecta su escritura aunque se recomienda hacer uso de su referencia (&gt;).

ampersand &

Otro carácter problemático es ampersand “&” ya que se utiliza para indicar el comienzo de una referencia. 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>

Comillas

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.

Qué son las entidades

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;

Creado con eXeLearning (Ventana nueva)