Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: XML / dialects

From: gavin:mckenzie:sympatico:ca at: 7-Jan-2002 11:02

*sigh* This is a topic dear to my heart. I just wanted to express some opinions. Brevity isn't my strong point, so feel free to save yourself from reading a *long* post of one guy's ramblings and reach for your delete key. First, to respond to Brett's original question...I agree with what Petr said: XML is a "meta-language". It is a means to create domain-specific markup languages that may be used to represent documents (like XHTML), data (like so many of the e-commerce XML languages), or declarations that impact process (such as messaging, XML-RPC, SOAP, etc.). Every minute of every day during my job I deal with XML and its many children. I am passionate about the stuff. I'm the W3C AC Rep for my employer. I've led development teams that have built implementations of XML-DOMs, XML-Digital Signature, Schema tools, etc. I've out-sourced development of XSLT and XPath engines. Truly, XML is good. Indeed, there's been alot of over-hype on XML and it ain't all perfect (some of it can be downright dreadful), but it is still IMO the biggest thing since the Web. Yeah, I know that sounds like a tired pitch line...but really, I believe it. And, it is pretty old stuff. Not paying any attention at all to SGML's history, we can still say that XML is just a month away from its fourth birthday. That's old. IMO really old. The list of other technologies that has descended from XML is long, and still growing. Though I am primarily a lurker on this list, and I'm far from a REBOL expert, I got into REBOL two years ago. I was overjoyed by a language that wasn't trying to be all things to everyone, was (mostly) easy to write (and easy to read!), was small and ideally suited for the Web. Within two days of playing with REBOL I sent an email to REBOL tech asking Um, where's the XML parser? I assumed that I must have missed it in the docs. I also expressed my views that XML was destined to be the very air that Web applications breathe and the REBOL could (with some work) position itself as the XML processing script language of choice. I must say that I was truly pleased by the fact that REBOL did respond to my emails, and we exchanged a couple more. I was told that an XML parser was coming. I stopped playing with REBOL for a while, came back, and lo 'parse-xml' had appeared. Maybe it was there all along, I dunno. But it wasn't (isn't) a real XML parser; i.e. compliant. As a result of parse-xml's non-compliance, I tried hooking up James Clark's world-class EXPAT parser lib to REBOL with a beta version of REBOL/Command, but got stymied by the call-back nature of mostly all parsers. And of course, there's the little problem about lack of Unicode support in REBOL. Regardless, I had real ad-hoc work that I wanted to do with REBOL, and (almost) all the information that I needed to process was XML. XML that would often break REBOL's built-in parser. Why is a real XML parser important to any software application or tool? My employer, and the commercial software that I help to architect, have fallen victim to the fact that we've had a few customers (who really were the real victims) build hand-code XML parsers to process the XML that our software produces -- and eventually their parsers break. Why? Because, invariably from one version of our software, to the next, we make changes to our XML formats. But, and here's the rub, those changes often aren't changes that materially alter the XML formats -- that is, they wouldn't upset a real XML parser or change the "schema" of the format, but they wreak havoc with people who have built hand-code parsers that don't behave as robustly as a real XML parser would. Since then, I've tried to get the word spread to all of our customers around the globe that they need to use real XML parsers. The contract between our software and our customers is XML 1.0, not a subset. Anyway, I love REBOL. I don't want to use some other script language when I've got ad-hoc processing of XML to do. Those other languages may well have robust XML tools and be web savvy (take you pick: Perl, Python, Ruby, PHP), but I can be more productive with REBOL. So, I trundle on hoping that one day I'll see the foundation for an XML framework in REBOL. That one day I'll be able to espouse the virtues of REBOL instead of Perl (or some other language) for building their 'glue' applications that work with my employer's software. And without a strong foundational layer of XML support, how will I (or my customers) ever be able to use REBOL to do higher-level XML work? XML work eventually focused on things like XML-Schemas, XML-Digital Signatures, ebXML, and so on. Until then, I'll have to be hopeful. And, as I encounter gaps in REBOL's XML foundation, I'll try to make available bits of my own REBOL code to bridge the gaps, and I'll also leverage the work of others in this great community of people who love REBOL. But gee...fourth birthday of XML on Feb 10 2002. That's old. Time's-a-wasting. When does hopeful optimism become something less? Gavin.