This is a multi-part message in MIME format. --------------010809030902000701090900 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hello, It's one month since I started using Ruby, and guess what? I've already figured how to write my very own extension! ;-) I chose libxml2 (http://www.libxml.org) to experiment, and here's the results of a couple of weekends of hacking... Obviously it's nowhere complete as far as the API goes, but it's a start.. Install and play with it and report the bugs. One major advantage of libxml is that it does full DOM in addtion to SAX (the current Expat-based extension can only do SAX). p.s. I've no site to put the tarball up, can I put it up at the RAA? -- Wai-Sun "Squidster" Chia Unix/Web Developer/RHCE Professional Services --------------010809030902000701090900 Content-Type: application/octet-stream; name uby-gnomexml-0.0.1.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename uby-gnomexml-0.0.1.tgz" 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 uq3buq3S/gOqlvlbAFAAAA --------------010809030902000701090900--