No Wonder XML Databases Haven’t Taken Off

XML databases and the standards to work with them (primarily XUpdate and XQuery) are just plain crap.  Why is it that I need to learn two completely different languages which utilize two completely different programming styles to work with a database?  Why is it that I can’t seem to convert between a String and XML nodes in either of those languages?  I mean, wouldn’t seem obvious that when working with an XML database someone might have some XML coming in as a parameter and want to deal with it as XML instead of as a String - say to put it into the database?  Isn’t it obvious that someone might want to get a part of the XML file they’re processing using XSLT as a string instead of a node-set?  I don’t mean get the text nodes within the XML fragment, I mean all the element declarations and namespaces etc, etc.  Sure they’re more than just random text but if you wanted to output it so it could be edited it would be nice to be able to without jumping through hoops.

And don’t even get me started on Cocoon serializers….  I know I don’t fully understand the technology I’m working with here and maybe I’m missing something obvious but the documentation definitely doesn’t help make it clear.  eXist has the barest of documentation (Xindice failed to compile) and Cocoon has wonderfully comprehensive documentation which provides all the building blocks of information you could ever want with practically no hints on how to put it together effectively.

There’s some really awesome technology in all this stuff but it absolutely drives you nuts trying to work out how to use it.  Someone really should take Cocoon and build a GUI-based building blocks tool out of it.  Most of the required components are already there (though database access seems to need some work), just put a clean, effective UI on it and you’ve got a wonder product.  Make sure you sort out the nightmare of configuring URL prefixes between Cocoon, Tomcat, Exist and whatever else winds up in the stack.  Just make it work without the swearing and cursing.

One Response to “No Wonder XML Databases Haven’t Taken Off”

  1. Bertrand Delacrétaz Says:

    FYI (not to make up excuses, but maybe to help you understand the context better), there is fairly little activity on the Cocoon mailing lists concerning XML databases, which means that the corresponding blocks might not get the level of attention needed to make them easier to use.

    I guess most people are happy with the current hybrid solutions, either XML blocks combined with indexed fields in SQL databases, or file-based XML storage combined with Lucene indexes.

    XML databases have a chicken-and-egg problem today I think: people won’t adopt them until the interfaces are sufficently widely adopted to be able to swap one XML database for another if needed. That kind of portability is a killer advantage of SQL databases today.


Leave a Reply

Alternatively, subscribe to the Atom feed.