Después de investigar un poco, creo que la mejor respuesta es Xerces , ya que implementa todo XSD, es multiplataforma y se usa ampliamente. He creado un pequeño proyecto Java en github para validar desde la línea de comandos usando el analizador JRE predeterminado, que normalmente es Xerces. Esto se puede usar en Windows / Mac / Linux.
También hay una versión C ++ de Xerces disponible si prefiere usarla. La utilidad StdInParse se puede usar para llamarla desde la línea de comandos. Además, un comentarista a continuación apunta a esta utilidad de envoltura más completa .
También puede usar xmllint, que es parte de libxml . Es posible que ya lo tenga instalado. Ejemplo de uso:
xmllint --noout --schema XSD_FILE XML_FILE
Un problema es que libxml no implementa todas las especificaciones, por lo que puede tener problemas :(
Alternativamente, si está en Windows, puede usar msxml , pero necesitará algún tipo de contenedor para llamarlo, como la GUI que se describe en este artículo de DDJ . Sin embargo, parece que la mayoría de las personas en Windows usan un Editor XML, como Notepad ++ (como se describe en la respuesta de Nate ) o XML Notepad 2007 como lo sugiere SteveC (también hay varios editores comerciales que no mencionaré aquí).
Finalmente, encontrará que diferentes programas, desafortunadamente, darán resultados diferentes. Esto se debe en gran medida a la complejidad de la especificación XSD. Es posible que desee probar su esquema con varias herramientas.
ACTUALIZACIÓN : me he expandido sobre esto en una publicación de blog .