The Multi Schema Validation toolkit is a Java based toolkit consisting of 8 different submodules.
The core module is the Multi-Schema XML Validator (MSV) for the validation of XML documents against several kinds of XML schemata
The core supports RELAX NG, RELAX Namespace, RELAX Core, TREX, XML DTDs, and a subset of XML Schema Part 1.
This core offers an API useable for programmatic access of the grammar, such as code generation.