Naturally I think my own ideas are brilliant. Unfortunately I don’t have Yegge-like powers of persuasive writing, so I don’t often convince people of anything. This is why I’m really happy when someone who is more persuasive than me expresses my exact opinion on something.
This was my reaction to reading Do we need a new kind of schema language?. I’ve argued for a while that XML and XSD really suck, but never quite as eloquently as this guy. My favorite part:
a data model based around XML and XSD is just not very good data model for general-purpose computing. The structures of XML (attributes, elements and text) are those of SGML and these come from the world of markup. Considered as general purpose data structures, they suck pretty badly. There’s a fundamental lack of composability. Why do we need both elements and attributes? Why can’t attributes contain elements? Why is the type of thing that can occur as the content of an element not the same as the type of thing that can occur as a document? Why do we still have cruft like processing instructions and DTDs? XSD makes a (misguided in my view) attempt to add a OO/programming language veneer on top. But it can’t solve the basic problems, and, in my view, this veneer ends up making things worse not better.
On this and related subjects, this guy is saying exactly what I’ve been trying to argue for years, but he says it better than I ever did.
I need to read and understand his proposal for TEDI better, but I think it’s the direction I would advocate for problems of the sort that web services are trying to solve.
By the way, “this guy” is one of the main authors of XML 1.0, XSL, and RELAX NG.