
4. Caracteres especiales en XML
En XML y HTML, algunos caracteres tienen un significado especial (special characters) y no pueden ser usados directamente en el contenido del documento. En su lugar, se deben utilizar entidades (entities) o referencias (references) de caracteres para representar estos caracteres especiales.
- Entidades (entities): Las entidades son secuencias de caracteres que representan símbolos especiales. Comienzan con un ampersand (&), seguido de un nombre o número y terminan con un punto y coma (;). Las entidades son fáciles de leer y entender.
- Códigos decimales (decimal codes): Los códigos decimales son valores numéricos que representan símbolos en la tabla ASCII. Estos códigos se escriben en la forma
&#n;, donde «n» es el número decimal correspondiente al símbolo. - Códigos hexadecimales (hexadecimal codes): Los códigos hexadecimales son valores numéricos en base 16 que representan símbolos en la tabla ASCII. Los códigos hexadecimales son similares a los códigos decimales, pero utilizan una representación en base 16 en lugar de base 10. Estos códigos se escriben en la forma
&#xn;, donde «n» es el valor hexadecimal correspondiente al símbolo.
En la tabla siguiente tienes algunos ejemplos de caracteres especiales en XML y su representación en entidad y referencia en decimal y hexadecimal:
| Carácter | Entidad | Decimal | Hexadecimal |
|---|---|---|---|
| « | " | " | " |
| & | & | & | & |
| ‘ | ' | ' | ' |
| < | < | < | < |
| > | > | > | > |
| © | © | © | © |
| € | € | € | € |
Estas referencias se utilizan para evitar conflictos con la sintaxis XML y asegurar que los caracteres especiales sean interpretados correctamente. En el siguiente ejemplo el carácter < se mostrará correctamente en el contenido del elemento sin causar errores en el análisis del documento XML.:
<ejemplo>Este es un ejemplo de uso del carácter < en XML.</ejemplo>
En el ejemplo que se muestra a continuación se representa el símbolo € de las tres formas explicadas en la tabla 1:
<!-- Utilizando el código Unicode hexadecimal --> <texto>€</texto> <!-- Utilizando el código Unicode decimal --> <texto>€</texto> <!-- Utilizando el nombre de entidad predefinida --> <texto>€</texto>
Puedes ver más caracteres y símbolos aquí ascii.cl/es/codigos-html.htm
En la siguiente sección veremos cómo asociar un archivo CSS a XML para mejorar su presentación visual.