XML::Loy::Atom::Threading - Threading Extension for Atom
use XML::Loy::Atom; my $entry = XML::Loy::Atom->new('entry'); # Add threading extension $entry->extension(-Atom::Threading); # Add Atom author and id $entry->author(name => 'Zoidberg'); $entry->id('http://sojolicio.us/blog/2'); # Add threading information $entry->in_reply_to('urn:entry:1' => { href => 'http://sojolicio.us/blog/1' }); # Add replies information $entry->replies('http://sojolicio.us/blog/1/replies' => { count => 7, updated => time }); # Get threading information print $entry->in_reply_to->[0]->attr('href'); # Pretty print print $entry->to_pretty_xml; # <?xml version="1.0" encoding="UTF-8" standalone="yes"?> # <entry xml:id="http://sojolicio.us/blog/2" # xmlns="http://www.w3.org/2005/Atom" # xmlns:thr="http://purl.org/syndication/thread/1.0"> # <author> # <name>Zoidberg</name> # </author> # <id>http://sojolicio.us/blog/2</id> # <link href="http://sojolicio.us/blog/1" # rel="related" /> # <thr:in-reply-to href="http://sojolicio.us/blog/1" # ref="urn:entry:1" /> # <link href="http://sojolicio.us/blog/1/replies" # rel="replies" # thr:count="7" # thr:updated="2013-03-10T09:55:13Z" # type="application/atom+xml" /> # </entry>
XML::Loy::Atom::Threading is an extension to XML::Loy::Atom and provides additional functionality for the work with Threading.
This module is an early release! There may be significant changes in the future.
XML::Loy::Atom::Threading inherits all methods from XML::Loy and implements the following new ones.
$entry->in_reply_to('urn:entry:1' => { href => 'http://sojolicio.us/blog/1.html', type => 'application/xhtml+xml' }); print $entry->in_reply_to->attr('href');
Adds an in-reply-to element to the Atom object or returns it. Accepts for adding a universally unique ID for the entry to be referred to, and a hash reference containing attributes like href, type and source. Will automatically introduce a related link, if a href parameter is given. Returns the newly added node.
in-reply-to
href
type
source
related
On retrieval, returns the first in-reply-to element.
$entry->replies('http://sojolicio.us/entry/1/replies' => { count => 5, updated => '2011-08-30T16:16:40Z' }); print $entry->replies->attr('thr:count');
Adds a link element with a relation of replies to the atom object or returns it. Accepts the reference URL for replies and optional parameters like count and update of replies.
link
replies
count
update
The update parameter accepts all valid parameters of XML::Loy::Date::RFC3339::new.
On retrieval returns the first replies node.
This update attribute is experimental and may return another object with a different API!
$entry->total(5); print $entry->total;
Sets the total number of responses to the atom object or returns it.
total
Mojolicious.
https://github.com/Akron/XML-Loy
Copyright (C) 2011-2013, Nils Diewald.
This program is free software, you can redistribute it and/or modify it under the same terms as Perl.
To install XML::Loy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XML::Loy
CPAN shell
perl -MCPAN -e shell install XML::Loy
For more information on module installation, please visit the detailed CPAN module installation guide.