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