Espacios en blanco
En un documento XML, los espacios en blanco, las tabulaciones y los retornos de carro (salto de línea) pueden ser tratados de un modo especial.
Interpretado de los espacios en blanco
En este apartado, se analizará el comportamiento predeterminado de los espacios en blanco, tabulaciones y retornos de carro en las diferentes ítems de XML.
Contenido
Varios espacios en blanco en el contenido de un elemento, se interpretan como uno solo.
Por ejemplo, los dos siguientes documentos se interpretarían de la misma forma:
<?xml version="1.0" encoding="UTF-8"?>
<peliculas>
<pelicula>El discurso del rey</pelicula>
<pelicula>En tierra hostil</pelicula>
<pelicula>Una
mente
maravillosa</pelicula>
</peliculas>
<?xml version="1.0" encoding="UTF-8"?>
<peliculas>
<pelicula>El discurso del rey</pelicula>
<pelicula>En tierra hostil</pelicula>
<pelicula>Una mente maravillosa</pelicula>
</peliculas>
Atributos
De igual modo ocurre con los valores de los atributos.
Por ejemplo, los dos siguientes documentos se interpretarían de la misma forma:
<?xml version="1.0" encoding="UTF-8"?>
<series>
<serie numeros="2 4 6 8"/>
<serie numeros="3
6
9
12 15"/>
</series>
<?xml version="1.0" encoding="UTF-8"?>
<series>
<serie numeros="2 4 6 8"/>
<serie numeros="3 6 9 12 15"/>
</series>
Elementos
Los espacios en blanco entre elementos no se tienen en cuenta.
Por ejemplo, los tres siguientes documentos se interpretarían de la misma forma:
<?xml version="1.0" encoding="UTF-8"?>
<datos>
<dato>1</dato>
<dato>2</dato>
<dato>3</dato>
</datos>
<?xml version="1.0" encoding="UTF-8"?>
<datos><dato>1</dato><dato>2</dato><dato>3</dato></datos>
<?xml version="1.0" encoding="UTF-8"?>
<datos><dato>1</dato> <dato>2</dato>
<dato>3</dato></datos>
xml:space
Para modificar el interpretado de los espacios en blanco, tabulaciones y retornos de carro en un documento XML, se puede utilizar el atributo predefinido xml:space
con el valor preserve
. De esta forma, se le indica al intérprete que los espacios en blanco en el contenido de dicho elemento (y de sus hijos) deben ser conservados.
<clasificacion xml:space="preserve">
1 Fernando Alonso 1:55.341
2 Lewis Hamilton 1:55.729
3 Sebastian Vettel 1:56.122
</clasificacion>
Los valores que acepta el atributo xml:space
son:
preserve
default
El valor default
indica al intérpete que es él quien decide cómo tratar los espacios en blanco.
Aún indicando el valor preserve
, hay que tener en cuenta que no todos los intérpretes reconocen este atributo. Es el caso de Mozilla Firefox y Google Chrome.