Atributos
Los atributos permiten añadir propiedades a los elementos de un documento.
Supongamos que tenemos el siguiente elemento:
<precio>14.95</precio>
El elemento anterior indica que el precio es 14.95. Si queremos indicar que el precio está en euros, podemos añadir un atributo divisa
de la siguiente forma:
<precio divisa="euro">14.95</precio>
A un elemento, podemos añadir uno o más atributos. Por ejemplo:
<precio divisa="euro" descuento="no">14.95</precio>
Características de los atributos son:
- No pueden organizarse en ninguna jerarquía.
- No pueden contener ningún otro elemento o atributo.
- No reflejan ninguna estructura lógica.
No se debe utilizar un atributo para contener información susceptible de ser dividida.
Un ejemplo completo de elementos con atributos es el siguiente:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE biblioteca>
<biblioteca>
<ejemplar tipo_ejem="libro" titulo="XML práctico" editorial="Ediciones Eni">
<tipo>
<libro isbn="978-2-7460-4958-1" edicion="1" paginas="347"></libro>
</tipo>
<autor nombre="Sebastien Lecomte"></autor>
<autor nombre="Thierry Boulanger"></autor>
<autor nombre="Angel Belinchon Calleja" funcion="traductor"></autor>
<prestado lector="Pepito Grillo">
<fecha_pres dia="13" mes="mar" año="2009"></fecha_pres>
<fecha_devol dia="21" mes="jun" año="2009"></fecha_devol>
</prestado>
</ejemplar>
</biblioteca>
Como se observa en el ejemplo, los atributos se definen siempre en la etiqueta de apertura (o bien de un elemento vacio).
<precio divisa="euro">14.95</precio> <!-- Correcto -->
<precio divisa="euro" /> <!-- Correcto -->
<precio>14.95</precio divisa="euro"> <!-- Incorrecto -->
A continuación del nombre del elemento o de la definición de otro atributo, siempre separado de ellos por un espacio. Los valores del atributo van precedidos de =
, seguido del valor. El valor debe definirse entre comillas simples o dobles. En cualquier caso, cuando se utiliza un tipo de comillas, éstas no pueden utilizarse dentro del contenido.
Por ejemplo, si queremos que el valor de un atributo sea "Titanic"
(el título incluye comillas dobles), podemos definirlo de la siguiente manera:
<película nombre='"Titanic"' /> <!-- Correcto -->
<película nombre=""Titanic"" /> <!-- Correcto -->
<película nombre=""Titanic"" /> <!-- Incorrecto -->
Si queremos que el valor de un atributo sea 'Titanic'
(el título incluye comillas simples), podemos definirlo de la siguiente manera:
<película nombre="'Titanic'" /> <!-- Correcto -->
<película nombre=''Titanic'' /> <!-- Correcto -->
<película nombre=''Titanic'' /> <!-- Incorrecto -->
Recuerda que:
"
es la entidad para representar las comillas dobles ("
).'
es la entidad para representar las comillas simples ('
).
Aun así, muchos navegadores representan los documentos XML empleando comillas dobles independientemente de qué tipo de comilla se ha incluído.
Los nombres de los atributos han de cumplir las mismas reglas que los de los elementos.