Após algumas pesquisas, acho que a melhor resposta é o Xerces , que implementa todo o XSD, é multiplataforma e amplamente utilizado. Criei um pequeno projeto Java no github para validar na linha de comando usando o analisador JRE padrão, que normalmente é Xerces. Isso pode ser usado no Windows / Mac / Linux.
Existe também uma versão C ++ do Xerces disponível, se você preferir usá-la. O utilitário StdInParse pode ser usado para chamá-lo na linha de comando. Além disso, um comentarista abaixo aponta para este utilitário mais completo de wrapper .
Você também pode usar xmllint, que faz parte da libxml . Você já pode tê-lo instalado. Exemplo de uso:
xmllint --noout --schema XSD_FILE XML_FILE
Um problema é que o libxml não implementa toda a especificação; portanto, você pode ter problemas :(
Como alternativa, se você estiver no Windows, poderá usar o msxml , mas precisará de algum tipo de wrapper para chamá-lo, como a GUI descrita neste artigo do DDJ . No entanto, parece que a maioria das pessoas no Windows usa um editor de XML, como o Notepad ++ (como descrito na resposta de Nate ) ou o XML Notepad 2007, conforme sugerido por SteveC (também existem vários editores comerciais que não mencionarei aqui).
Por fim, você encontrará diferentes programas que, infelizmente, fornecerão resultados diferentes. Isso se deve em grande parte à complexidade das especificações XSD. Você pode testar seu esquema com várias ferramentas.
ATUALIZAÇÃO : Eu expandi isso em uma postagem no blog .