Forum Moderators: open
These days, for any given XML document type, I just make an XSLT program that checks for conformance. If you already know XSLT, there's no learning curve. There's hardly any kind of check you can't code for. And you get complete control over the output (kick it out as XML file, or text error messages, or some format custom-designed to work with your favorite IDE).