rng2srng

RELAX NG defines simple syntax to which XML syntax and compact syntax are reduced. This tool transforms RELAX NG into its equivalent simplified syntax. It supports both XML syntax and the compact syntax.

This tool is useful for applications that want to read RELAX NG grammars, because such an application:

doesn't need to check errors in RELAX NG; this library does that for you.

doesn'T need to deal with complicated parsing process of RELAX NG, such as inclusion, etc.

will be able to support both compact and XML syntax.

This library can be easily integrated into your application, or can be used as a stand-alone command lien tool.

License

This library itself is covered by the BSD license, but it uses other libraries, which are covered by their respective licenses.
The most of the hard work is done by Jing. Follow the link to read more about the licensing term of Jing. RELAX NG datatype interface (BSD license) is also used in this library.

The distribution includes Xerces and Xalan, but that can be replaced with any other JAXP compliant XML parser and XSLT engine. XSLT engine is not necessary if you are just using SAX.