Validación
La validación de XML mediante DTD es el proceso de comparar un documento XML con las reglas y estructura especificadas en un documento DTD con el fin de asegurar que el documento XML cumple con las restricciones y estructura especificada en el mismo.
Si el documento XML no cumple con las restricciones definidas en el DTD, se genera un error o una advertencia indicando en qué parte del documento se encuentra el error.
La validación es útil para asegurar la integridad del documento y que se esté utilizando de manera adecuada. También ayuda a detectar errores de formato y estructura en el documento, lo que puede ser útil en el desarrollo y mantenimiento del mismo.
Software
Existen varias aplicaciones para poder validar documentos XML.
Visual Studio Code
Visual Studio Code es un editor de texto de propósito general desarrollado por Microsoft. La comunidad alrededor de este editor es muy grande y cuenta con una gran cantidad de extensiones, entre las cuales podemos encontrar XML. Esta extensión permite validar documentos XML mediante DTD y XSD.
La extensión XML realiza la validación mientras se escribe el documento o documentos, es decir, no necesitamos pulsar ningún botón para realizar la validación. Si el documento es válido, no se muestra ningún error:
En el caso de que algo falle, se resaltan los errores:
Truugo XML Validator
Truugo XML Validator es un validador online.
Su uso es muy sencillo: solo hay que copiar el código XML con su DTD interna y pulsar en Validate XML. Si el documento XML es válido, se mostrará un mesaje que indica que el test se ha pasado correctamente.
XML Copy Editor
XML Copy Editor es un editor de texto especializado en la edición de documentos XML. Es un software multiplataforma, gratuito, de código abierto y es compatible con ficheros XML, DTD y XSD, entre otros.
Su uso también es muy sencillo: debemos escribir el documento XML o abrirlo en el editor y pulsar en el icono resaltado en la imagen.
Si el documento XML es válido, se mostrará un mesaje que indica que el documento es válido.