I finally got around to watching the Don Box SOA videos (here and here) that were recently posted to MSDN TV. Having just gone through the XSD Tutorial that I mentioned earler, I was very interested to hear him talk about RELAX NG.
From the RELAX NG home page:
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)
Hmmmm… interesting. I have to agree with Don that XSD is a beast of an abstraction that is probably much more that we really need, but whatcha gonna do?
How about write your XML Schemas in RELAX NG and convert them to XSD using Trang?
I’ll have to give it a try…