jueves, 8 de octubre de 2009

XML: Validar un XML contra un XSD desde línea de comando en Linux

Para validar un archivo XMl con un esquema XSD, en linux podemos usar la linea de comandos. Para ello usaremos el comando xmllint. Tenemos que tener instalado el paquete libxml2, si no lo tenemos y usapos Opensuse :
sudo zypper in libxml2

Una vez instalado, para verificar el archivo xml ejecutaremos lo siguiente:
xmllint --noout miarchivo.xml --schema miesquema.xsd

El parámetro --noout es para evitar que imprima el arbol XML.

Si hay errores los mostrará por la salida de error (stderr). Si queremos almacenar los errores haremos una redirección de la salida:
xmllint --noout miarchivo.xml --schema miesquema.xsd 2> archivodeerrores.txt


Si el archivo ha sido validado correctamente obtendremos el mensaje:
miarchivo.xml validates


Si queremos usar un DTD para validar un archivo usaremos la siguiente sintaxis:
xmllint --valid --noout miarchivo.xml --dtdvalid miesquemadtd.dtd

No hay comentarios: