The Multi-Schema Validator(MSV) is a JavaTM technology tool to validate XML documents against a variety of XML schemata. It supports RELAX Namespace, RELAX Core, RELAX NG, TREX, XML DTDs, and a subset of W3C XML Schema Part 1.
Most of the time, you just need plain simple validation and nothing else. If so, you can use JARV, an implementation-independent, simple and easy interface set.
More information about JARV is available here.
If you have existing code that works with JAXP and you don't want to change it, then you should have a look at the JAXP-masquerading feature of MSV.
If you need even more control over the validation process (for example, you are developing a schema-related tool), then you may want to understand the native API of MSV. For more information, read this document.
The current Java API of MSV Core Validator is available here.