This post originated from an RSS feed registered with Java Buzz
by Weiqi Gao.
Original Post: XML Schema Is Dead, My IDE Supports RELAX
Feed Title: Weiqi Gao's Weblog
Feed URL: http://www.weiqigao.com/blog/rss.xml
Feed Description: Sharing My Experience...
Tim Bray: Elliotte Rusty Harold���s
RELAX Wins may be a milestone in the life of XML. Everybody who actually touches the technology has known the truth for years, and it���s time to stop sweeping it under the rug. W3C XML Schemas (XSD) suck. They are hard to read, hard to write, hard to understand, have interoperability problems, and are unable to describe lots of things you want to do all the time in XML.
The time has come to declare it a worthy but failed experiment, tear down the shaky towers with XSD in their foundation, and start using RELAX for all significant XML work.
Long time readers of this blog will be familiar to RELAX NG through the numerous blogs I've posted back in 2003:
As you can see from the posts, I learned RELAX NG for a very pragmatic reason: I want to use the fantastic nXML XML editor by James Clark, implemented as a major mode of GNU Emacs. Since I consider GNU Emacs one of my IDEs (the others are: IntelliJ IDEA, Eclispe, NetBeans, MS Visual Studio, and bahs+vim (maybe that one is a stretch)), I can rightly say that my IDE supports RELAX NG, and I've been using it to edit my XML files, mostly XHTML files for the JNB and my wekly statu reports at work.
Unlike Eric, I did take time trying to learn XML Schemas, I tried and tried, several times, most recently this summer, when I was looking into SOA and Web Services and the whole WS-* stack. I failed each time. It's like I went through the XML Schemas University and flunked. The thing is simply knowledge-acquisition-resistant and gray-matter-intolerant.
What about all the WS-* stuff that's so heavily reliant on XSD? I don't think it is wise to either rework the specifications to retrofix RELAX NG in place of XSD or throw the stack away all together. What is done is done. What is working is working. I think I can tolerate it as long as I don't have to look at them, or worse, to produce them by hand, because I can't within reasonable amount of time. (But don't tell Ken.)
What about all the people who learned XML Schemas and succeded and liked it and are pumped up every morning saying to themselves "Great, I get to work on XML Schemas today. I'm a lucky man."? I'd say indeed you are lucky because XML Schemas is embedded deep in modern IT infrastructure. Go work for my technology vendor to hide all the mandatory XSD stuff from me. And I'm sure people like me would love to through all of our XML Schemas work your way.