Un archivo XML es un documento de texto plano que debe cumplir ciertas reglas para ser considerado bien formado. La estructura general de cualquier documento XML se compone de:
Veamos cada parte en detalle con ejemplos.
El prólogo es opcional, pero recomendado. Generalmente se incluye la declaración XML:
<?xml version="1.0" encoding="UTF-8"?>
version="1.0"
: versión del estándar XML.encoding="UTF-8"
: define la codificación de caracteres (UTF-8 es la más usada).Si no se especifica, algunos programas pueden interpretar mal caracteres especiales (acentos, ñ, símbolos).
Todo documento XML debe tener un único elemento raíz que contenga a todos los demás elementos.
Ejemplo válido:
<libro>
<titulo>Don Quijote</titulo>
<autor>Miguel de Cervantes</autor>
</libro>
Ejemplo inválido (dos elementos raíz):
<libro>Don Quijote</libro>
<libro>La Odisea</libro>
Esto generará un error porque solo puede existir un root element.
Los elementos se representan con etiquetas de apertura y cierre:
<titulo>Don Quijote</titulo>
<titulo>
: etiqueta de apertura.Don Quijote
: contenido del elemento.</titulo>
: etiqueta de cierre.Regla importante: las etiquetas deben cerrarse siempre.
Ejemplo correcto:
<autor>Miguel de Cervantes</autor>
Ejemplo incorrecto:
<autor>Miguel de Cervantes
Los elementos pueden tener atributos, que aportan información adicional.
<libro id="1" idioma="es">
<titulo>Don Quijote</titulo>
<autor>Miguel de Cervantes</autor>
</libro>
id="1"
e idioma="es"
son atributos.Diferencia:
Ejemplo ilustrativo:
<!-- Con atributos -->
<persona nombre="Juan" edad="30"/>
<!-- Con elementos -->
<persona>
<nombre>Juan</nombre>
<edad>30</edad>
</persona>
Ambas formas son válidas, pero depende del contexto elegir una u otra.
Los comentarios ayudan a documentar el XML y no afectan su procesamiento:
<!-- Este es un comentario -->
<persona>
<nombre>Ana</nombre>
</persona>
Regla: no se permite --
dentro de un comentario.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Ejemplo de un documento XML -->
<biblioteca>
<libro id="1" idioma="es">
<titulo>Don Quijote</titulo>
<autor>Miguel de Cervantes</autor>
<año>1605</año>
</libro>
<libro id="2" idioma="gr">
<titulo>La Odisea</titulo>
<autor>Homero</autor>
<año>-700</año>
</libro>
</biblioteca>
Análisis:
<biblioteca>
como elemento raíz.<libro>
como elementos hijos.titulo
, autor
, año
) y atributos (id
, idioma
).Ejemplo inválido:
<persona>
<nombre>Juan
<apellido>Pérez</nombre>
</apellido>
</persona>
Corrección:
<persona>
<nombre>Juan</nombre>
<apellido>Pérez</apellido>
</persona>
Ejemplo: <Nombre>
y <nombre>
son elementos distintos.
La estructura básica de un documento XML se puede resumir así:
<?xml version="1.0" encoding="UTF-8"?>
<raiz>
<elemento atributo="valor">Contenido</elemento>
<elemento>Más contenido</elemento>
</raiz>
Si se cumplen estas reglas, el documento será considerado bien formado y podrá ser procesado por cualquier herramienta XML.