NAME

XML::Atom::Syndication::Feed - class representing an Atom feed

SYNOPSIS

use XML::Atom::Syndication::Feed;
use XML::Atom::Syndication::Entry;
use XML::Atom::Syndication::Text;
use XML::Atom::Syndication::Content;

# create a feed
my $feed = XML::Atom::Syndication::Feed->new;
$feed->title('My Weblog');
my $entry = XML::Atom::Syndication::Entry->new;
my $title = XML::Atom::Syndication::Text->new(Name=>'title');
$title->body('First Post');
$entry->title($title);
my $content = XML::Atom::Syndication::Content->new('Post Body');
$entry->content($content);
$feed->add_entry($entry);
$feed->insert_entry($entry);
print $feed->as_xml;

# list entry titles of index.atom file
my $feed2 = XML::Atom::Syndication::Feed->new('index.atom');
my @entries = $feed->entries;
print $_->title->body."\n" for @entries;

DESCRIPTION

XML::Atom::Syndication::Feed element is the document (i.e., top-level) element of an Atom Feed Document, acting as a container for metadata and data associated with the feed. Its element children consist of metadata elements followed by zero or more entry child elements.

METHODS

XML::Atom::Syndication::Feed is a subclass of XML::Atom::Syndication::Object (via XML::Atom::Syndication:::Thing) that it inherits numerous methods from. You should already be familiar with this base class before proceeding.

Class->new(%params)

In addition to the keys recognized by its superclass (XML::Atom::Syndication::Object) this class recognizes a Stream element. The value of this element can be a SCALAR or FILEHANDLE (GLOB) to a valid Atom document. The Stream element takes precedence over the standard Elem element.

author

Indicates the author of the feed.

This accessor returns a XML::Atom::Syndication::Person object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

category

Conveys information about a category associated with an feed.

This accessor returns a XML::Atom::Syndication::Category object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

contributor

Indicates a person or other entity who contributed to the feed.

This accessor returns a XML::Atom::Syndication::Person object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

generator

Identifies the agent used to generate a feed for debugging and other purposes.

This accessor returns a XML::Atom::Syndication::Generator object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

icon

An IRI reference [RFC3987] which identifies an image which provides iconic visual identification for a feed.

This accessor returns a string. You can set this attribute by passing in an optional string.

id

A permanent, universally unique identifier for a feed.

This accessor returns a string. You can set this attribute by passing in an optional string.

Defines a reference from an entry to a Web resource.

This accessor returns a XML::Atom::Syndication::Link object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

An IRI reference [RFC3987] which identifies an image which provides visual identification for a feed.

This accessor returns a string. You can set this attribute by passing in an optional string.

published

A date indicating an instance in time associated with an event early in the life of the entry.

This accessor returns a string. You can set this attribute by passing in an optional string. Dates values MUST conform to the "date-time" production in [RFC3339].

rights

Conveys information about rights held in and over an entry or feed.

This accessor returns a XML::Atom::Syndication::Text object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

subtitle

Conveys a human-readable description or subtitle of a feed.

This accessor returns a XML::Atom::Syndication::Text object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

title

Conveys a human-readable title for a feed.

This accessor returns a XML::Atom::Syndication::Text object. This element can be set using a string and hash reference or by passing in an object. See Working with Object Setters in XML::Atom::Syndication::Object for more detail.

updated

The most recent instance in time when an entry or feed was modified in a way the publisher considers significant.

This accessor returns a string. You can set this attribute by passing in an optional string. Dates values MUST conform to the "date-time" production in [RFC3339].

ENTRIES

$feed->add_entry($entry)

Appends a XML::Atom::Syndication::Entry object to the feed. The new entry is placed after all existing entries in the feed

$feed->insert_entry($entry)

Inserts a XML::Atom::Syndication::Entry object before all other existing entries in the feed.

$feed->entries

Returns an ordered ARRAY of XML::Atom::Syndication::Entry objects representing the feed's entries.

DEPRECATED

This element was renamed rights in version 1.0 of the format.

created

This element was removed from version 1.0 of the format.

info

This element was removed from version 1.0 of the format.

modified

This element was renamed updated in version 1.0 of the format.

tagline

This element was renamed subtitle in version 1.0 of the format.

version

This attribute was removed from version 1.0 of the format.

AUTHOR & COPYRIGHT

Please see the XML::Atom::Syndication manpage for author, copyright, and license information.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 63:

=begin without a target?

Around line 305:

'=end' without a target?