In this article, you will consume Macromedia's RSS feed (available here: weblogs.macromedia.com/dev_center/index.rdf) in a mock-up site that can be anything from a blog, to a company site, or a personal site. Macromedia makes its Developer Center resources available to the public as an RSS feed. It is a great way to display the latest articles from Macromedia right in your site and let other developers know about them. You'll start from this generic page:
Figure 7. Start with the generic page
In this tutorial, you will:
Web syndication is a popular method of making content available to other websites simultaneously. Syndication is achieved using web feeds or channels, which are written in a variety of standards ─ RSS 0.9, 1.0, 2.0, or Atom. Despite the differences between the various standards and specifications, it is important to keep in mind that all feeds are actually XML documents that contain list-oriented information. The site that makes its content available as a source of information is said to "publish a feed," while the sites that republish that content are said to "consume the feed."
Any information on your site that visitors might be interested in reusing is a good candidate for an RSS feed. This includes news headlines, article lists, press releases, job listings, bookmarks, conference events, playlists, or software releases.
The benefits of syndication are obvious:
RSS is just another flavor of XML. The term "RSS" is actually used to refer several different formats that are used in parallel, and therefore can have different meanings:
If you feel baffled by all the different versions and standards available for RSS, don't worry: they are similar enough that you can treat them as simply any other XML document.
Note: If you want to learn more about the differences between various RSS dialects, check out this article from the O'Reilly XML.com site.
An RSS feed is made up of a channel, which has a title, a link, and a description followed by a series of items─each of which have a title, a link, a description and an optional author and publishing date. To see what I mean, download a copy of the Macromedia Developer Center RSS feed and open it in Dreamweaver 8.
Notice how Dreamweaver 8 uses code coloring to make the document easier to read:
Figure 8. XML code coloring in Dreamweaver 8
The document starts with an XML declaration followed by the RSS declaration, which includes references to the RDF namespace, the Dublin Core Module namespace, and the RSS namespace.
For a reminder of namespaces, revisit this section of my previous article, XSL Overview.
The channel node contains generic information about the RSS feed: title, link, and a short description:
<channel rdf:about="http://www.macromedia.com/devnet/">
<title>Macromedia Developer Center RSS Feed</title>
<link>http://www.macromedia.com/devnet/</link>
<description>Macromedia Developer Center is your center for the tutorials, articles, and sample applications you need to master Macromedia products. </description>
Also included in the channel node is a table of contents for the current feed, specified by the items element. This is actually an ordered list of links to the Developer Center articles. To indicate that the order is important, a sequence container is used: rdf:Seq. The items in the sequence are specified by rdf:li elements.
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://www.macromedia.com/devnet/mx/flashcom/articles/comm_components.html" />
<rdf:li
rdf:resource="http://www.macromedia.com/devnet/mx/flashcom/articles/flv_bestpractices.html" />
<rdf:li
rdf:resource="http://www.macromedia.com/devnet/mx/flashcom/articles/dyn_buffering.html" />
<rdf:li
rdf:resource="http://www.macromedia.com/devnet/mx/coldfusion/articles/adv_flashforms.html" />
</rdf:Seq>
</items>
Notice that each item's rdf:resource URL must be the same as the associated item element's rdf:about URL, much like in a table of contents, where each chapter is located at a specified page number.
Note: Items appearing in the feed but not as members of the channel's table of contents are likely to be discarded by RDF parsers.
Finally, the actual Developer Center articles are listed in the feed, as item elements. An item is made up of a title, a link, a description, a subject (which indicates the topic covered by the article), an author, and a publishing date:
<item rdf:about="http://www.macromedia.com/devnet/mx/flashcom/articles/comm_components.html"> <title>Building Communication Components</title> <link>http://www.macromedia.com/devnet/mx/flashcom/articles/comm_components.html </link> <description>This book excerpt from O'Reilly describes the first major step in building a full-fledgedapplication.</description> <dc:subject>Flash Communication Server</dc:subject> <dc:creator>Brian Lesser</dc:creator> <dc:date>2005-07-25T17:31:46-08:00</dc:date> </item>
Now that you have learned how to read the code that makes up an RSS feed, you can start processing it to display the articles in your site.