Nach einigen Recherchen denke ich, dass die beste Antwort Xerces ist , da es XSD implementiert, plattformübergreifend ist und weit verbreitet ist. Ich habe ein kleines Java-Projekt auf github erstellt , um es über die Befehlszeile mit dem Standard-JRE-Parser zu überprüfen , der normalerweise Xerces ist. Dies kann unter Windows / Mac / Linux verwendet werden.
Es gibt auch eine C ++ - Version von Xerces , wenn Sie diese lieber verwenden möchten. Mit dem Dienstprogramm StdInParse können Sie es über die Befehlszeile aufrufen. Ein Kommentar unten verweist auf dieses vollständigere Wrapper-Dienstprogramm .
Sie können auch xmllint verwenden, das Teil von libxml ist . Möglicherweise haben Sie es bereits installiert. Anwendungsbeispiel:
xmllint --noout --schema XSD_FILE XML_FILE
Ein Problem ist, dass libxml nicht alle Spezifikationen implementiert, sodass möglicherweise Probleme auftreten :(
Wenn Sie unter Windows arbeiten, können Sie alternativ msxml verwenden , benötigen jedoch eine Art Wrapper, um es aufzurufen, z. B. die in diesem DDJ-Artikel beschriebene GUI . Es scheint jedoch, dass die meisten Windows-Benutzer einen XML-Editor verwenden, z. B. Notepad ++ (wie in Nates Antwort beschrieben ) oder XML Notepad 2007, wie von SteveC vorgeschlagen (es gibt auch mehrere kommerzielle Editoren, die ich hier nicht erwähne).
Schließlich werden Sie feststellen, dass verschiedene Programme leider unterschiedliche Ergebnisse liefern. Dies ist hauptsächlich auf die Komplexität der XSD-Spezifikation zurückzuführen. Möglicherweise möchten Sie Ihr Schema mit mehreren Tools testen.
UPDATE : Ich habe dies in einem Blog-Beitrag erweitert .