Author: as
Date: Fri Feb 29 13:34:35 2008
New Revision: 7467
Log:
- Added some useful information to the Feed tutorial.
Modified:
trunk/Feed/docs/tutorial.txt
Modified: trunk/Feed/docs/tutorial.txt
==============================================================================
--- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original)
+++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Fri Feb 29 13:34:35 2008
@@ -11,6 +11,79 @@
The purpose of the Feed component is to handle parsing and creating RSS and
ATOM feeds.
+
+
+XML feeds overview
+==================
+
+An XML feed is an XML document with a certain structure, which lists a series
+of "entries" or "items".
+
+Example
+-------
+
+An example XML feed::
+
+ <?xml version="1.0"?>
+ <rss version="2.0">
+ <channel>
+ <title>Liftoff News</title>
+ <link>http://liftoff.msfc.nasa.gov/</link>
+ <description>Liftoff to Space Exploration.</description>
+ <language>en-us</language>
+ <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>
+ <webMaster>[EMAIL PROTECTED]</webMaster>
+ <item>
+ <title>The Engine That Does More</title>
+ <link>http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp</link>
+ <description>Before man travels to Mars, NASA hopes to design new
engines that will let us fly through the Solar System more quickly. The
proposed VASIMR engine would do that.</description>
+ <pubDate>Tue, 27 May 2003 08:37:32 GMT</pubDate>
+ <guid>http://liftoff.msfc.nasa.gov/2003/05/27.html#item571</guid>
+ </item>
+ <item>
+ <title>Astronauts' Dirty Laundry</title>
+ <link>http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp</link>
+ <description>Compared to earlier spacecraft, the International Space
Station has many luxuries, but laundry facilities are not one of them.
Instead, astronauts have other options.</description>
+ <pubDate>Tue, 20 May 2003 08:56:02 GMT</pubDate>
+ <guid>http://liftoff.msfc.nasa.gov/2003/05/20.html#item570</guid>
+ </item>
+ </channel>
+ </rss>
+
+This XML document describes an RSS2 feed, with channel elements *title*,
+*link*, *description*, *language*, *pubDate* and *webMaster*. The XML document
+also contains 2 entries (*item*), each one with the elements *title*, *link*,
+*description*, *pubDate* and *guid*. These elements are not the only ones
+present in RSS2 feeds, and some elements are not required to be present.
+
+The Feed document allows creating and parsing such XML documents. The feed
+types supported by the Feed component are ATOM, RSS1 and RSS2.
+
+
+Modules
+-------
+
+XML feeds are extensible through modules. A module has a namespace and certain
+XML elements. An example of a feed module is iTunes, which allows creating and
+parsing podcasts for the `iTunes`_ media player.
+
+
+Applications
+------------
+
+XML feeds can be used in many applications:
+
+- **content aggregation** - blogs or journals can provide their content in an
+ XML feed form. Subscribers to a feed are able to view content aggregated
+ from multiple websites in one location, using an `aggregator`_ software
+ program.
+- **news** - websites can provide news in a feed format. The advantage is that
+ users do not need to check a website or subscribe to newsletters, but
+ instead can have news from multiple sources in their `aggregator`_ program.
+- **podcasts** - XML feeds can have *enclosures*, which are links to media
+ files (audio, video, pdf, etc). Some `aggregator`_ programs or the `iTunes`_
+ media player can download automatically these media files when they become
+ available.
Class overview
@@ -44,9 +117,9 @@
processor is used to parse and generate that type. The following feed
processors are supported by the Feed component:
-- RSS1 (ezcFeedRss1)
-- RSS2 (ezcFeedRss2)
-- ATOM (ezcFeedAtom)
+- RSS1 (ezcFeedRss1) - `RSS1 specifications`_
+- RSS2 (ezcFeedRss2) - `RSS2 specifications`_
+- ATOM (ezcFeedAtom) - `ATOM specifications`_
A new processor can be defined by creating a class which extends the class
ezcFeedProcessor and implements the interface ezcFeedParser, and adding it to
the
@@ -58,10 +131,11 @@
The following modules are supported by the Feed component:
-- Content (ezcFeedContentModule)
-- CreativeCommons (ezcFeedCreativeCommonsModule)
-- DublinCore (ezcFeedDublinCoreModule)
-- iTunes (ezcFeedITunesModule)
+- Content (ezcFeedContentModule) - `Content specifications`_
+- CreativeCommons (ezcFeedCreativeCommonsModule) -
+ `CreativeCommons specifications`_
+- DublinCore (ezcFeedDublinCoreModule) - `DublinCore specifications`_
+- iTunes (ezcFeedITunesModule) - `iTunes specifications`_
A new module can be defined by creating a class which extends the class
ezcFeedModule, and adding it to the ezcFeed::$supportedModules and
@@ -484,6 +558,17 @@
.. _iTunes: http://www.apple.com/itunes/
+.. _RSS1 specifications: http://web.resource.org/rss/1.0/spec
+.. _RSS2 specifications: http://www.rssboard.org/rss-specification
+.. _ATOM specifications: http://atompub.org/rfc4287.html
+
+.. _Content specifications: http://purl.org/rss/1.0/modules/content/
+.. _CreativeCommons specifications:
http://backend.userland.com/creativeCommonsRssModule
+.. _DublinCore specifications: http://dublincore.org/documents/dces/
+.. _iTunes specifications:
http://www.apple.com/itunes/store/podcaststechspecs.html
+
+.. _aggregator: http://en.wikipedia.org/wiki/List_of_feed_aggregators
+
..
--
svn-components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-components