RELAX NG is a schema language for XML. The key features of RELAX NG are that it:
* is simple
* is easy to learn
* has both an XML syntax and a compact non-XML syntax
* does not change the information set of an XML document
* supports XML namespaces
* treats attributes uniformly with elements so far as possible
* has unrestricted support for unordered content
* has unrestricted support for mixed content
* has a solid theoretical basis
* can partner with a separate datatyping language (such W3C XML Schema Datatypes)