Dopo alcune ricerche, penso che la migliore risposta sia Xerces , in quanto implementa tutta XSD, è multipiattaforma e ampiamente utilizzata. Ho creato un piccolo progetto Java su github per convalidare dalla riga di comando usando il parser JRE predefinito, che normalmente è Xerces. Questo può essere usato su Windows / Mac / Linux.
C'è anche una versione C ++ di Xerces disponibile se preferisci usarla. L' utilità StdInParse può essere utilizzata per chiamarla dalla riga di comando. Inoltre, un commentatore di seguito indica questa utility di wrapper più completa .
Puoi anche usare xmllint, che fa parte di libxml . Potresti già averlo installato. Esempio di utilizzo:
xmllint --noout --schema XSD_FILE XML_FILE
Un problema è che libxml non implementa tutte le specifiche, quindi potresti riscontrare problemi :(
In alternativa, se sei su Windows, puoi usare msxml , ma avrai bisogno di una sorta di wrapper per chiamarlo, come quello della GUI descritto in questo articolo DDJ . Tuttavia, sembra che molte persone su Windows utilizzino un editor XML, come Notepad ++ (come descritto nella risposta di Nate ) o XML Notepad 2007 come suggerito da SteveC (ci sono anche diversi editor commerciali che non menzionerò qui).
Infine, troverai diversi programmi che, sfortunatamente, daranno risultati diversi. Ciò è in gran parte dovuto alla complessità delle specifiche XSD. Potresti voler testare il tuo schema con diversi strumenti.
AGGIORNAMENTO : l'ho ampliato in un post sul blog .