Lists Home |
Date Index |
- To: "Sean McGrath" <email@example.com>,<firstname.lastname@example.org>
- Subject: BOXED XML (was RE: [xml-dev] Re: Remembering the original XML vision)
- From: "Don Box" <email@example.com>
- Date: Sun, 16 Feb 2003 21:02:52 -0800
- Thread-index: AcLVm5h+ZMbtuRptSFWZvui0SXwDUgAUeWyL
- Thread-topic: BOXED XML (was RE: [xml-dev] Re: Remembering the original XML vision)
I missed your original post on "BOXED XML" when it appeared in January, thanks for the repost. Because you cited me in your original post, I'd like a chance to clarify a few things.
1) I absolutely agree with your statement "I would add that if we insist on viewing XML as an object serialization
technology, we will also have lost a glorious opportunity." Granted, I first came to XML holding this viewpoint, but after five years working on SOAP, I have come to believe that "XML as object serialization" is a very myopic viewpoint. I cringe at some of the beliefs I held in 1998. Fortunately, I believe SOAP has evolved away from that viewpoint even if some in the WS community haven't.
2) I think that for better or worse, the industry has chosen to accept XML Schema as an interchange format for describing XML data. I know of few people who are in love with XML Schema, including folks who work in Redmond. Is Relax NG a cleaner design? I would hope so! Relax NG is an example of what happens when you have a handful of like-minded bright people doing the design work rather than the "two from each vendor" approach used to build XML Schema. That stated I believe that XML Schema is destined to be the "byte code" of XML metadata - a machine-readable format that can be "interpreted" anywhere but that few will want to author directly. I love that James has built a compiler for RNG that emits XML Schema - simply brilliant!
3) Unless I'm mistaken, you can use XSLT2/XPath2/XQuery without XML Schema. I believe that XPath2 et al take into account the type attribution of XML Schema only if you want them to. I have to admit, however, that there are times when I just want the plumbing to treat "00200" as equivalent to "200" without me making explicit calls to number() and I'm glad that the plumbing will support this when I want it.
4) I think it's disingenuous to frame the discussion in terms of BIGCO vs. XML-DEV. Most of my "object serialization" work happened well before coming to Microsoft (a BIGCO if ever there was one). If anything, the year+ I've spent working at Redmond has further opened my eyes to new applications of XML, and very few of these are even close to object persistence. I'm hopeful that the Office 11 release will open up the eyes of many OO developers who've only seen XML through XML-RPC-esque glasses, but honestly, I think it's an uphill climb. There are a lot of developers who believe that object-orientation was the last good idea the software industry will ever have...