|  | Tutorial |  |

|  | Manual |  |

|  | Modules |  |

|  | Library |  |

|  | Tools |  |

|  | FAQ |  |

|  | Release |  |

| Template Toolkit | Modules | Template::Plugin::XML::RSS |

## Template::Plugin::XML::RSS

| Template::Plugin::XML::DOM

Template::Plugin::XML::Simple |

Plugin interface to XML::RSS

### Table of Contents

- SYNOPSIS
- PRE-REQUISITES
- DESCRIPTION
- AUTHORS
- VERSION
- COPYRIGHT
- SEE ALSO

SYNOPSIS | [ Index ] [ Modules ] [ Top ]

        [% USE news = XML.RSS($filename) %]

        [% FOREACH item = news.items %]
           [% item.title %]
           [% item.link  %]
        [% END %]

PRE-REQUISITES | [ Index ] [ Modules ] [ Top ]

This plugin requires that the XML::Parser and XML::RSS modules be installed. These are available from CPAN:

        http://www.cpan.org/modules/by-module/XML

DESCRIPTION | [ Index ] [ Modules ] [ Top ]

This Template Toolkit plugin provides a simple interface to the XML::RSS module.

        [% USE news = XML.RSS('mysite.rdf') %]

It creates an XML::RSS object, which is then used to parse the RSS file specified as a parameter in the USE directive. A reference to the XML::RSS object is then returned.

An RSS (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 = news.items %]
           [% item.title %]
           [% item.link  %]
        [% END %]

AUTHORS | [ Index ] [ Modules ] [ Top ]

This plugin was written by Andy Wardley <abw@wardley.org>, inspired by an article in Web Techniques by Randal Schwartz <merlyn@stonehenge.com>. The XML::RSS module, which implements all of the functionality that this plugin delegates to, was written by Jonathan Eisenzopf <eisen@pobox.com>.

VERSION | [ Index ] [ Modules ] [ Top ]

2.65, distributed as part of the Template Toolkit version 2.14, released on 04 October 2004.

COPYRIGHT | [ Index ] [ Modules ] [ Top ]

      Copyright (C) 1996-2004 Andy Wardley.  All Rights Reserved.
      Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO | [ Index ] [ Modules ] [ Top ]

Template::Plugin, XML::RSS, XML::Parser

| Template::Plugin::XML::DOM

Template::Plugin::XML::Simple |

| Tutorial |

| Manual |

| Modules |

| Library |

| Tools |

| FAQ |

| Release |

| http://www.template-toolkit.org/ |