Among the XML cognoscenti, the debate is effectively over. Everyone is choosing RELAX NG as their schema language, and compiling to DTDs or W3C XML Schemas as necessary. I don’t know of a single project in the last couple of years that considered both RELAX NG and W3C Schemas and chose to go with the latter. Certainly, there’ve been a lot of W3C Schema adoptions. However those seem to have been made mostly by people who didn’t know they had a choice. In particular, the W3C imprimatur seems very appealing to larger, more bureaucratic organizations such as government agencies.

With that in mind, I thought it might be useful to list some of the groups (including some of the W3C’s own working groups) who have chosen to do their work in RELAX NG:



Finally libxml, Linux’s standard XML parser, includes full support for RELAX NG, but only partial and incomplete support for W3C schemas.

That’s a pretty impressive list, but if the fact that all the cool kids are trying it isn’t enough to get you to take a hit (government bureaucrats aren’t known for being all that hip to the cool kids anyway) then maybe this will. RELAX NG is now an official ISO Standard, ISO/IEC 19757, Part 2. For people and governments who care about such things, ISO documents are real standards. W3C “recommendations” are also-rans.

Try RELAX NG. I promise it will relieve the stress caused by schemas.