Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

miyagawa (1653)

miyagawa
  (email not shown publicly)
http://bulknews.vox.com/
AOL IM: bulknews (Add Buddy, Send Message)

Journal of miyagawa (1653)

Monday October 09, 2006
12:28 PM

XML::OPML::LibXML is released

[ #31265 ]

Here's the latest module of mine, a spin-off from Plagger project: XML::OPML::LibXML. It's now going to CPAN and is available at my SVN repo http://svn.bulknews.net/repos/public/XML-OPML-LibXML/trunk/

There's already a similar module XML::OPML on CPAN, but we don't like it because it doesn't have a decent API to access parsed OPML data (while it has a good API to create new OPML data programatically) and it depends on XML::Parser (the expat) and XML::SimpleGen.

So I wrote an LibXML and SAX based code to parse OPML subscription in Plagger and it looks like a good candidate for CPANization.

XML::OPML::LibXML is written using LibXML and accesses data using LibXML DOM API at runtime. So it's pretty fast and memory efficient. See the benchmarking code and its DATA section for the sample benchmark results. On my box it's 4 times faster. If you'd like to deal with a relatively big OPML document you're recommended to use walkdown + callback API so it saves more memory.

The API it provides is very simple and limited to the low-level ones yet. For example it can't be used to create new OPML, and it's not a drop-in replacement of XML::OPML and won't be ever.

But I'd like to add more some nifty feature and APIs in the future if possible.

Enjoy!

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.