Plugin interface to xml::rss
[% USE news = XML.RSS('news.rdf') %]
[% FOREACH item IN news.items %] [% item.title %] [% item.link %] [% END %]
This Template Toolkit plugin provides a simple interface to the \s-1XML::RSS\s0 module.
[% USE news = XML.RSS('mysite.rdf') %]
It creates an \s-1XML::RSS\s0 object, which is then used to parse the \s-1RSS\s0 file specified as a parameter in the \s-1USE\s0 directive. A reference to the \s-1XML::RSS\s0 object is then returned.
An \s-1RSS\s0 (Rich Site Summary) file is typically used to store short news 'headlines' describing different links within a site. This example is extracted from http://slashdot.org/slashdot.rdf.
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel> <title>Slashdot:News for Nerds. Stuff that Matters.</title> <link>http://slashdot.org</link> <description>News for Nerds. Stuff that Matters</description> </channel>
<image> <title>Slashdot</title> <url>http://slashdot.org/images/slashdotlg.gif</url> <link>http://slashdot.org</link> </image>
<item> <title>DVD CCA Battle Continues Next Week</title> <link>http://slashdot.org/article.pl?sid=00/01/12/2051208</link> </item>
<item> <title>Matrox to fund DRI Development</title> <link>http://slashdot.org/article.pl?sid=00/01/13/0718219</link> </item>
<item> <title>Mike Shaver Leaving Netscape</title> <link>http://slashdot.org/article.pl?sid=00/01/13/0711258</link> </item>
</rdf:RDF>
The attributes of the channel and image elements can be retrieved directly from the plugin object using the familiar dotted compound notation:
[% news.channel.title %] [% news.channel.link %] [% news.channel.etc... %]
[% news.image.title %] [% news.image.url %] [% news.image.link %] [% news.image.etc... %]
The list of news items can be retrieved using the 'items' method:
[% FOREACH item IN news.items %] [% item.title %] [% item.link %] [% END %]
This plugin was written by Andy Wardley inspired by an article in Web Techniques by Randal Schwartz.
The \s-1XML::RSS\s0 module, which implements all of the functionality that this plugin delegates to, was written by Jonathan Eisenzopf.
Copyright (C) 1996-2006 Andy Wardley. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Template::Plugin, \s-1XML::RSS\s0, XML::Parser