From: Jon Radoff (jonradoff_at_[hidden])
Date: 2006-09-08 08:19:09
A few thoughts on adding XML to the boost libraries:
I'll start with what my issues are with existing alternatives, since I think that indicates why there's a rationale for a boost XML library, and then move onto a few other points specific to boost.
1) My problems with existing C++ DOM/XML libraries:
a) Most are inadequate/incomplete or don't really support DOM (thin DOM-like wrappers around event-based APIs don't really cut it).
b) Those that are complete have very annoying and/or intractable dependencies. Examples: Libxml++ is simply a beast to build (lots of GNOME/Glib dependencies, and it produces compiler errors on MSVC that are left to the implementor to fix); Microsoft's XML implementation is pretty nice but it is tied to the whole .NET/Windows environment.
2) Using another library for the under-the-hood technology seems reasonable, considering the amount of effort involved in getting all of the features of XML working. We currently use Expat in our products, simply because it's easy to incorporate, but of course that wouldn't be adequate for many of the recent features of XML. Libxml strikes me as perhaps the lesser of evils, since it has the needed support, isn't hard to build (at least compared to libxml++) and the binary libraries are easy to obtain.
3) I think DOM support is critical. There's ample C++ libraries and wrappers for doing non-DOM XML manipulations, but there doesn't seem to be adequate options for good DOM libraries. It seems to me that if the library implementor doesn't tackle the challenge of making a nice C++ DOM class interface, then I'm left with the impression that boost wouldn't really be adding anything new to the world.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk