Todo documento XML debe tener un único elemento raíz. Esto asegura que el documento esté bien formado y pueda ser procesado por cualquier parser.
Incorrecto:
<persona>Juan</persona>
<persona>María</persona>
Correcto:
<personas>
<persona>Juan</persona>
<persona>María</persona>
</personas>
Ejemplo recomendado:
<cliente>
<nombreCompleto>Juan Pérez</nombreCompleto>
<direccion>Córdoba, Argentina</direccion>
</cliente>
Malo:
<cl>
<n>Pérez</n>
<dir>CBA</dir>
</cl>
Los comentarios XML ayudan a entender la finalidad de los elementos.
<!-- Lista de empleados de la empresa -->
<empleados>
<empleado id="101">
<nombre>Ana</nombre>
<puesto>Analista</puesto>
</empleado>
</empleados>
No abuses de los comentarios ni guardes información sensible en ellos.
Ejemplo balanceado:
<producto id="P001" moneda="ARS">
<nombre>Laptop</nombre>
<precio>150000</precio>
</producto>
No recomendado (todo en atributos):
<producto id="P001" nombre="Laptop" precio="150000" moneda="ARS"/>
Si los valores son parte esencial del documento, mejor usarlos como elementos.
La indentación mejora la legibilidad y facilita el mantenimiento.
<biblioteca>
<libro>
<titulo>1984</titulo>
<autor>George Orwell</autor>
</libro>
</biblioteca>
Sin indentación:
<biblioteca><libro><titulo>1984</titulo><autor>George Orwell</autor></libro></biblioteca>
Siempre especificar la declaración XML con UTF-8 para soportar acentos, ñ, emojis y caracteres internacionales.
<?xml version="1.0" encoding="UTF-8"?>
xmllint --noout --schema esquema.xsd archivo.xml
Malo (repite información):
<empleado>
<id>101</id>
<nombre>Ana</nombre>
<nombre>Ana</nombre>
</empleado>
Correcto:
<empleado>
<id>101</id>
<nombre>Ana</nombre>
</empleado>
xmlns
) cuando se combinen diferentes vocabularios XML.<doc xmlns:lib="http://ejemplo.com/libros" xmlns:cli="http://ejemplo.com/clientes">
<lib:libro>
<lib:titulo>1984</lib:titulo>
</lib:libro>
<cli:cliente>
<cli:nombre>Ana</cli:nombre>
</cli:cliente>
</doc>
Ejemplo de referencia externa:
<imagen ruta="http://ejemplo.com/imagenes/foto.jpg"/>
XML puede vivir décadas en un sistema, pensar en la evolución de versiones.
Usar atributos para versionado:
<factura version="1.2">
<cliente>Juan</cliente>
</factura>
Seguir estas prácticas asegura que el XML sea fácil de leer, mantener, validar y compartir en cualquier entorno.