После некоторого исследования, я думаю, что лучший ответ - Xerces , поскольку он реализует весь XSD, является кроссплатформенным и широко используется. Я создал небольшой проект Java на github для проверки из командной строки с использованием анализатора JRE по умолчанию, обычно это Xerces. Это может быть использовано в Windows / Mac / Linux.
Существует также версия Xerces для C ++, если вы предпочитаете ее использовать. Утилита StdInParse может быть использована для вызова из командной строки. Кроме того, комментарий ниже указывает на эту более полную утилиту обертки .
Вы также можете использовать xmllint, который является частью libxml . Возможно, вы уже установили его. Пример использования:
xmllint --noout --schema XSD_FILE XML_FILE
Одна из проблем заключается в том, что libxml не реализует всю спецификацию, поэтому вы можете столкнуться с проблемами :(
В качестве альтернативы, если вы работаете в Windows, вы можете использовать msxml , но вам понадобится какая-то оболочка для ее вызова, например GUI, описанный в этой статье DDJ . Тем не менее, кажется, что большинство людей в Windows используют XML-редактор, такой как Notepad ++ (как описано в ответе Нейта ) или XML Notepad 2007, как предложено SteveC (есть также несколько коммерческих редакторов, которые я не буду здесь упоминать).
Наконец, вы найдете разные программы, которые, к сожалению, будут давать разные результаты. Во многом это связано со сложностью спецификации XSD. Вы можете проверить свою схему с помощью нескольких инструментов.
ОБНОВЛЕНИЕ : я расширил это в сообщении в блоге .