James Clark has released a paper describing his perspective on the
design of the RELAX NG XML schema language.
The paper represents Clark's personal perspective and is not
an official work product of the RELAX NG technical committee at
OASIS. Along with providing details about the reasoning behind
the design of the language, it offers a sense of the possible
merits or advantages of the language. The conclusion sums those
up:
RELAX NG is designed to
complement the XML 1.0 and XML Namespaces Recommendations.
It is easy to learn and use, and has a level of complexity
in the implementation and specification that is in the same
ballpark as these Recommendations. It has a limited scope
chosen on the basis of careful consideration of issues of
modularity and layering. In particular, it restricts itself
to dealing purely with syntax, and is thus, like XML
itself, applicable to a wide range of application domains.
It is a conservative, evolutionary refinement of
well-proven ideas from SGML and XML DTDs. It is
non-intrusive and aims to avoid unnecessarily constraining
the freedom of schema authors to design their XML
vocabularies as they see fit.