Graham Fawcett wrote:
On Tue, 04 May 2010 09:18:46 +1200, Bernard Helyer wrote:

When I first started using D, one of the things I needed quite early on
was a way of writing and reading XML. Naturally, when I saw std.xml in
Phobos, I was quite pleased.

That was of course, until I started to use it.

http://d.puremagic.com/issues/show_bug.cgi?id=3088
http://d.puremagic.com/issues/show_bug.cgi?id=4069
http://d.puremagic.com/issues/show_bug.cgi?id=3201

I vented my frustation on IRC, where opticron mentioned he had an XML
library of his own. I find it superior to std.xml, especially
considering how it actually works, and is maintained.

http://opticron.no-ip.org/svn/branches/kxml/

It is already under the Boost License, and opticron has said

"<opticron> ... if they really want to snag mine and clean it up for use
in phobos, that's fine
<opticron> I'd even relicense the code if I have to"

I'm going to keep on using kxml regardless, but I thought it would be
nice if Phobos had a working XML library. What say you?

I haven't looked at kxml -- but why not just wrap libxml2? It's widely regarded as a fast, stable, portable and *correct* XML library. I wrote a partial libxml2 wrapper (mostly the tree.h stuff, and some libxslt) in under an hour as a learning exercise; someone with real D chops could turn out a polished interface in short time.

The fact that libxml2/libxslt support not only XML parsing and DOM building, but also XSLT, XPath, XPointer, XInclude, RelaxNG, etc., means that any homegrown library will be hard-pressed to cover the same range of tools and features.

There are too many half-baked XML libraries in the world. No disrespect intended to opticron or anyone else; it just doesn't make a lot of sense to reinvent such a complex wheel (and believing that XML processing isn't complex is a sure sign that your homegrown library's design is incomplete!).

Graham

I think what we need for the standard library is to take a solid XML library licensed generously and adapt it to work with arbitrary ranges.

Andrei

Reply via email to