NAME¶
XML::Atom::Entry - Atom entry
SYNOPSIS¶
use XML::Atom::Entry;
my $entry = XML::Atom::Entry->new;
$entry->title('My Post');
$entry->content('The content of my post.');
my $xml = $entry->as_xml;
my $dc = XML::Atom::Namespace->new(dc => 'http://purl.org/dc/elements/1.1/');
$entry->set($dc, 'subject', 'Food & Drink');
USAGE¶
XML::Atom::Entry->new([ $stream ])¶
Creates a new entry object, and if
$stream is supplied,
fills it with the data specified by
$stream.
Automatically handles autodiscovery if
$stream is a URI
(see below).
Returns the new
XML::Atom::Entry object. On failure, returns
"undef".
$stream can be any one of the following:
- •
- Reference to a scalar
This is treated as the XML body of the entry.
- •
- Scalar
This is treated as the name of a file containing the entry XML.
- •
- Filehandle
This is treated as an open filehandle from which the entry XML can be
read.
$entry->content([ $content ])¶
Returns the content of the entry. If
$content is given,
sets the content of the entry. Automatically handles all necessary escaping.
$entry->author([ $author ])¶
Returns an
XML::Atom::Person object representing the author of the entry,
or "undef" if there is no author information present.
If
$author is supplied, it should be an
XML::Atom::Person object representing the author. For example:
my $author = XML::Atom::Person->new;
$author->name('Foo Bar');
$author->email('foo@bar.com');
$entry->author($author);
$entry->link¶
If called in scalar context, returns an
XML::Atom::Link object
corresponding to the first
<link> tag found in the entry.
If called in list context, returns a list of
XML::Atom::Link objects
corresponding to all of the
<link> tags found in the entry.
$entry->add_link($link)¶
Adds the link
$link, which must be an
XML::Atom::Link object, to the entry as a new
<link> tag.
For example:
my $link = XML::Atom::Link->new;
$link->type('text/html');
$link->rel('alternate');
$link->href('http://www.example.com/2003/12/post.html');
$entry->add_link($link);
$entry->get($ns, $element)¶
Given an
XML::Atom::Namespace element
$ns and an
element name
$element, retrieves the value for the
element in that namespace.
This is useful for retrieving the value of elements not in the main Atom
namespace, like categories. For example:
my $dc = XML::Atom::Namespace->new(dc => 'http://purl.org/dc/elements/1.1/');
my $subj = $entry->get($dc, 'subject');
$entry->getlist($ns, $element)¶
Just like
$entry->get, but if there are multiple
instances of the element
$element in the namespace
$ns, returns all of them.
get will return only
the first.
AUTHOR & COPYRIGHT¶
Please see the
XML::Atom manpage for author, copyright, and license
information.