RELAX NG is an XML schema language developed by the RELAX NG technical committee at OASIS and
designed to be an easy-to-learn and easy-to-implement
alternative to the W3C's XML schema language. After several
months of development and refinement, the RELAX NG TC has
released an official committee specification for the language, along with
a tutorial and DTD compatibility document.
RELAX NG was developed under the guidance of James Clark
and MURATA Makoto (creator of the original RELAX schema
language) and the members of the RELAX NG technical committee
and already has an active and enthusiastic following, as
evidenced by the large number of existing tools that implement the language.
Some of the features that developers and users are likely
to find appealing in RELAX NG include:
-
simplicity and ease of learning and
implementation
-
makes no changes to the information set of an XML
document
-
treats XML attributes and elements uniformly as much
as possible
-
has unrestricted support for mixed content and
unordered content
-
is datatype-neutral and so can partner with a
separate datatyping language (such as W3C XML schema
datatypes)
James Clark has described the language in general as a
"conservative, evolutionary refinement of well-proven ideas
from SGML and XML DTDs". Readers interested in Clark's
personal perspective on the language should read his
Design of RELAX NG document.