It seems that all the great minds of the XML world are declaring that W3C XML Schemas (XSD) are dead, and everyone is going to switch to Relax-NG. Cf. Elliotte Rusty Harold and Tim Bray. However I think a lot of us who live in the corporate world are going to be using XSD for a long time.
- If we need to specify a data interchange format to another department or another company, there is a good chance that the people at the other end can understand an XSD schema, but no likelyhood that they will understand Relax-NG. The people at the other end are not Elliotte Rusty Harold or Tim Bray. They often don’t have a good understanding of the fundamentals of XML, but they can use standard tools.
- XSD is not all that hard to write or understand, at least compared to something like WSDL which cannot possibly be written or parsed by a normal human being. I know that is damning it with faint praise. However most people use specialized editors to create or read XSD anyway. These tools are widely available and they work. (As opposed to WSDL tools, which tend to have a lot of interoperability problems.)
- If all you need to do is specify a data format, e.g. “This field is an integer between 0 and 100 and the next field is a 5-character string”, then XSD is perfectly adequate.