From: Sean Russell Date: 2001-11-10T03:48:19+09:00 Subject: [ruby-talk:24787] Re: ruby and webservices Markus Jais wrote: >> 1) NQXML >> 2) REXML >> 3) XMLParser (expat) .... > I think the XMLParser maybe has the advantage of being faster > (and this might often be an issue. I am trying to do some xml programming > at work und here performance is the main reason. I'd really like to use > ruby or python or at least java, but unfortunately I have to stick to > C or C++ as it seems) > > Rexml has the coolest API in my opinion and maybe the easiest > but I do not know how it's performance is compares to XMLParser Hi. I'm the author of REXML, so I'll jump in here. I haven't done any tests, but in a speed test I'd be willing to lay a fiver on XMLParser. If we're talking about an XML parser to be distributed with Ruby, I'd support a primarily native implementation, for speed's sake. Personally, I have no problem with things that are part of the Ruby distribution being native libraries. I suppose parts of REXML could be reimplemented in C, but I'm not really interested in working on that myself. XMLParser relies on Expat, which is a fine and august XML parser. If the license permits including Expat with Ruby, that might be the way to go. It has been a while since I looked at Expat, so I'm not sure what features it provides. As far as REXML is concerned, I obviously like the API the most. I try to keep the speed as fast as possible, but there's only so much you can do in Ruby. There are a couple of things that REXML needs work on, such as more flexible whitespace handling, before I'd allow it to be released with Ruby. I'd also recommend that if it were up for serious consideration for inclusion with Ruby, that some people (other than myself) sit down (virtually) and take a hard look at the API and make sure that it can't be improved (read: simplified, made more intuitive). One other thing to consider is that I haven't posted any changes to REXML because I've been busy re-writing XPath. With the next release, it should be pretty close to fully conformant with the XPath spec, and will be feature complete. XSL processors require a fairly robust XPath implementation to be implemented properly. --- SER