Zend_Feed_Atom
is used in much the same way as Zend_Feed_Rss
. It provides
the same access to feed-level properties and iteration over entries in the feed. The main
difference is in the structure of the Atom protocol itself. Atom is a successor to RSS; it is more
generalized protocol and it is designed to deal more easily with feeds that provide their full
content inside the feed, splitting RSS' description
tag into two elements,
summary
and content
, for that purpose.
Example 4.2. Basic Use of an Atom Feed
Read an Atom feed and print the title
and summary
of each entry:
<?php $feed = new Zend_Feed_Atom('http://atom.example.com/feed/'); echo 'The feed contains ' . $feed->count() . ' entries.' . "\n\n"; foreach ($feed as $entry) { echo 'Title: ' . $entry->title() . "\n"; echo 'Summary: ' . $entry->summary() . "\n\n"; } ?>
In an Atom feed you can expect to find the following feed properties:
title
- The feed's title, same as RSS's channel title
id
- Every feed and entry in Atom has a unique identifier
link
- Feeds can have multiple links, which are distinguished by a
type
attribute
The equivalent to RSS's channel link would be type="text/html"
. If the link
is to an alternate version of the same content that's in the feed, it would have a
rel="alternate"
attribute.
subtitle
- The feed's description, equivalent to RSS' channel description
author->name()
- The feed author's name
author->email()
- The feed author's email address
Atom entries commonly have the following properties:
id
- The entry's unique identifier
title
- The entry's title, same as RSS item titles
link
- A link to another format an an alternate view of this entry
summary
- A summary of this entry's content
content
- The full content of the entry; can be skipped if the feed just
contains summaries
author
- with name
and email
sub-tags like
feeds have
published
- the date the entry was published, in RFC 3339 format
updated
- the date the entry was last updated, in RFC 3339 format
For more information on Atom and plenty of resources, see http://www.atomenabled.org/.