While
merlyn's solution works well, I prefer a more
XML native approach. The
RDF file should be valid XML, in which case you only need apply an
XSL Transformation to the file once you have it, to get valid XHTML, WML or whatever out.
This is the basis of XML::RSS::Tools, a module I've been developing. Here is an example of the usage:
#!/usr/bin/perl -w
use strict;
use XML::RSS::Tools;
my $site = shift;
my $xsl = shift;
my $rss = XML::RSS::Tools->new;
$rss->rss_uri($site) or die $rss->as_string('error');
$rss->xsl_file($xsl) or die $rss->as_string('error');
if ($rss->transform) { print $rss->as_string };
There are however problems:
- XML::RSS module has some defects
- Perl before 5.7.x isn't exactly the best for working with Unicode
- RSS feeds often are not valid XML - How do I clean RSS feeds to make them usable?
- My module still has bugs in... :-(
- UPDATE: Versions later than 0.05 have less bugs, and partially get round the defect in XML::RSS and dirty feeds
My humble 2p