The Specification in Detail

This section is based on the RSS 1.0 Specification, Version 1.3.4, dated May 30, 2001. The full document is available at http://purl.org/rss/1.0/spec.

The Basic Structure

As we’ve seen, RSS 1.0’s structure differs from the earlier versions of RSS by bringing the item, image, and textinput elements to the same level as channel. Examples Example 5-5 and Example 5-6 show this difference in their basic structures.

Example 5-5. The basic structure of RSS 0.9x
<rss>
<channel>
   <image/>
   <textinput/>
   <item/>
   <item/>
   <item/>
</channel>
</rss>
Example 5-6. The basic structure of RSS 1.0
<rdf>
  <channel/>
  <image/>
  <textinput/>
  <item/>
  <item/>
  <item/>
</rdf>

This difference both results from, and necessitates, the use of RDF notation to define the relationships between the elements.

The Root Element

The root element of an RSS 1.0 document is always built upon this line:

<rdf:RDF xmlns="http://purl.org/rss/1.0/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

Any additional namespace declarations are inserted within this line. When designing your feed, and again after creating it, it is worth checking that all the namespaces you use are declared in the root element.

<channel rdf:about=""> (a Subelement of rdf:RDF)

The next level begins with the required channel element. This element must look like this:

<channel rdf:about="
URI that identifies the channel">
   
Subelements
   
</content>

The contents of the rdf:about attribute must represent the feed itself. The specification ...

Get Developing Feeds with RSS and Atom now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.