semi-[ANN] Ruby::RSS 0.95

I have not packaged it up. I probably won’t package it up until 1.0;
but there is a new usable Ruby/RSS library available at SourceForge
http://ruby-rss.sourceforge.net . This is lightly tested and,
despite the version number, still somewhat alpha software. (The full
test suite isn’t going to be added until 0.99 because validation
needs to be in place, and there are some 300 RSS files that I will
be testing.)

This is version 0.95.

Tasks before 1.0:

  • RSS-module support (0.96)
  • RSS 1.0 (RDF:rss) (0.97)
  • Validation (0.98)
  • Full unit tests (0.99)

Target versions for certain items may change. This implementation
aims to be complete and supports RSS 0.91, 0.92, and 2.0. RDF-based
RSS is not yet supported, but as you can see above, it is planned.

I can use help on this, as I have a certain amount of
internationalization present, and have a few other tasks I want to
accomplish (I’d like to use a SAX-like protocol instead of REXML’s
default DOM-like protocol so that other libraries can be used
without too much pain – I hope) as well.

-austin
– Austin Ziegler, austin@halostatue.ca on 2003.03.19 at 01:43:22

Hi,

I wrote similar library, and added entry to
RAA(http://raa.ruby-lang.org/search.rhtml?search=rss)
last night.

I hoped I want to know you are writing this before I wrote mine.

···

From: Austin Ziegler austin@halostatue.ca
Subject: semi-[ANN] Ruby::RSS 0.95
Date: Wed, 19 Mar 2003 16:03:45 +0900

Target versions for certain items may change. This implementation
aims to be complete and supports RSS 0.91, 0.92, and 2.0. RDF-based
RSS is not yet supported, but as you can see above, it is planned.

My library’s target is RSS 1.0, and it’s aim is parsing RSS 1.0
with validation. But it will be able to parse RSS 0.9x/2.0 with
non validation. Maybe it is not perfect.

accomplish (I’d like to use a SAX-like protocol instead of REXML’s
default DOM-like protocol so that other libraries can be used
without too much pain – I hope) as well.

Mine use event driven API like SAX of REXML or xmlscan.


kou

I found out about this last night. It seem that there are a small
variety of RSS libraries floating out there, including some mostly
private ones that I’ve been told about on IRC.

Note that my library is aimed at both parsing and generating. It can
parse 0.9x/2.0 easily (although it uses REXML’s DOM-style parser for
the moment), but it can also generate 0.91, 0.92, and 2.0. I can
take a 2.0 feed and turn it into a 0.91 feed (or vice-versa):

c = RSS::from_xml(rss_2_feed)
c.to_xml(RSS::RSS_091)

The goal is to make it so that 1.0 feeds can be handled in this way
as well:

c = RSS::from_xml(rss_2_feed)
c.to_xml(RSS::RSS_100)

c = RSS::from_xml(rss_1_feed)
c.to_xml(RSS::RSS_200)

Validation in my library has been temporarily removed as I have
changed the way that I think about RSS Channel objects (from
versioned to versionless); the version is an aspect of the input or
output, not of the RSS Channel object itself. (Note that there is a
#version attribute on the Channel, but it is nil unless you’ve read
the channel ::from_xml; it is also not settable.) Validation will
return, but will be based in part on the Python validator at
feeds.archive.org by Mark Pilgrim and Sam Ruby.

A lot of my recent work has been specifically in making such
conversions not only possible, but just that easy. My library is
also mostly API-compatible with Chad Fowler’s RSS library (0.91 on
the RAA). As such, I’ve also included a DRb example, and expect to
also offer alternative generation schemes through templating (at
least ERb).

I have downloaded your version to learn from it – I haven’t wanted
to tackle the 1.0 spec because it’s so ugly; perhaps we can merge
some of the efforts so that there’s a single complete RSS library
for users to build on (I’m sure all of the blog-tool-writers will
want something that can output any version of RSS; there’s been talk
of Ruby-RSS aggregation as well).

-austin
– Austin Ziegler, austin@halostatue.ca on 2003.03.19 at 11:19:12

···

On Wed, 19 Mar 2003 20:15:13 +0900, Kouhei Sutou wrote:

I wrote similar library, and added entry to
RAA(http://raa.ruby-lang.org/search.rhtml?search=rss) last night.