Tuesday 7 January 2014

RSS


RSS Tutorial


RSS LogoRSS is a protocol that provides an open method of syndicating and aggregating Web content.
Technically, RSS is a Syndication Standard based on a type of XML file that resides on an internet server.
This tutorial gives a complete understanding on RSS.

   What is RSS?

RSS is an open method for delivering regularly changing web content. Many news-related sites, weblogs and other online publishers syndicate their content as an RSS Feed to whoever wants it.
Any time you want to retrieve the latest headlines from your favorite sites, you can access the available RSS feeds via a desktop RSS reader. You can also make an RSS feed for your own site if your content changes frequently.
In brief:
  • RSS is a protocol that provides an open method of syndicating and aggregating Web content.
  • RSS is a standard for publishing regular updates to web-based content.
  • RSS is a Syndication Standard based on a type of XML file that resides on an internet server.
  • RSS is an XML application, conforms to the W3C's RDF specification and is extensible via XML.
  • You can also download RSS feeds from other sites to display updated news items on your site, or use a desktop or online reader to access your favorite RSS feeds.
What does RSS stand for? It depends on what version of RSS you are using.
  • RSS Version 0.9 - Rich Site Summary
  • RSS Version 1.0 - RDF Site Summary
  • RSS Versions 2.0, 2.0.1 and 0.9x - Really Simple Syndication

What is RSS Feed?

  • The RSS feed is a text XML file that resides on an Internet server.
  • The RSS feed file includes basic information about a site (title, URL, description), plus one or more item entries that include - at a minimum - a title (headline), a URL, and a brief description of the linked content.
  • There are various flavors of RSS feed depending on RSS Version. Another XML feed format is called ATOM.
  • RSS Feeds are registered with an RSS registry to make them more available to viewers interested in your content area.
  • RSS feeds can have links back to your website which will result in a high traffic to your site.
  • RSS feeds are updated hourly (Associated Press and News Groups), some RSS feeds are updated daily, and others are updated weekly or irregularly.

How Does RSS Work?

This is how RSS works:
  • A website willing to publish their content using RSS, creates one RSS feed and keeps it on an web server. RSS Feeds can be created manually or with software.
  • A website visitor will subscribe to read your RSS feed. An RSS feed will be read by a RSS feed reader.
  • The RSS Feed Reader reads the RSS Feed file and displays it. The RSS Reader displays only new items from the RSS Feed
  • The RSS Feed Reader can be customized to show you content related to one or more RSS feeds and based on your own interest.

News Aggregators and Feed Readers:

The RSS feed readers and news aggregators are essentially the same thing and are piece of software. Both are used for viewing RSS feeds. News aggregators are designed specifically to view news related feeds but technically they can read any feeds.

Who can use RSS?

RSS started out with the intent of distributing news related headlines. The potential for RSS is significantly larger and can be used anywhere in the world.
Consider using RSS for the following:
  • New Homes - Realtors can provide updated feeds of new home listings on the market.
  • Job Openings - Placement firms and newspapers can provide a classifieds feed of job vacancies.
  • Auction Items - Auction vendors can provide feeds containing items that have been recently added to ebay or other auction sites.
  • Press Distribution - Listing of new releases.
  • Schools - Schools can relay homework assignments and quickly announce school cancellations.
  • News & Announcements - headlines, notices and any list of announcements.
  • Entertainment - Listings of the latest tv programs or movies at local theatres.
Summary:
RSS is becoming popular every day. The reason is fairly simple. RSS is a free and easy way to promote a site and its content without the need to advertise or create complicated content sharing partnerships. 

RSS Advantages

RSS is taking off so quickly because people are liking it. RSS is easy to use and it has advantages for a publisher as well as for a subscriber. Here we have listed out few advantages of RSS for subscribers as well as for publishers.

RSS Advantages for Subscribers:

RSS subscribers are the people who subscribe to read a published feed. Here are some of the advantages of RSS feeds for subscribers.
  • All News at one Place: You can subscribe to multiple news groups and then you can customize your reader to have all news on a single page. It will save you a lot of time.
  • News when you want it: Rather than waiting for an e-mail, you go to your RSS reader when you want to read a news. Furthermore, RSS feeds display more quickly than information on Web sites, and you can read them offline if you prefer.
  • Get only the news you want: RSS feed comes in the form of headlines and a brief description so you can easily scan the headlines and click only those stories that interest you.
  • Freedom from e-mail overload: You are not going to get any email for any news or blog update. You just go to your reader and you will find updated news or blog automatically whenever there is a change on RSS server.
  • Easy republishing: You may be both a subscriber and a publisher. For example, you may have a Web site that collects news from various other sites and then republishes it. RSS allows you to easily capture that news and display it on your site.

RSS Advantages for Publishers:

RSS publishers are the people who publish their content through RSS feed. I would suggest you to use RSS if you want to get your message out and easily and if you want people to see what you publish, and you want your news to bring people back to your site.
Here are some of the advantages of RSS if you publish on the Web:
  • Easier publishing: RSS is really simple publishing. You don't have to maintain a database of subscribers to send your information to them, instead they will access your feed using a reader and will get updated content automatically.
  • A simpler writing process: If you have a new content on your Web site, you need only write a RSS feed in the form of titles and short descriptions, and link back to your site.
  • An improved relationship with your subscribers: Because people subscribe from their side, they don't feel as if you are pushing your content on them.
  • The assurance of reaching your subscribers: RSS is not subject to spam filters, your subscribers get the feeds which they subscribe to and nothing more.
  • Links back to your site: RSS feeds always include links back to a Web site. This will increase lot of traffic towards your website.
  • Relevance and timeliness: Your subscribers always have the latest information from your site.

RSS Version History

RSS was first invented by Netscape. They wanted to use an XML format to distribute news, stories and information. Netscape refined the version of RSS and then dropped it.
Later Userland Software started controlling RSS specifications and releasing newer RSS versions. They continued development of their own version of RSS and eventually UserLand released RSS v2.
RSS has been released in many different versions.
  • 12/27/97 - Dave Winer at Userland developed scriptingNews. RSS was born.
  • 3/15/99 - Netscape developed RSS 0.90 (which supported scriptingNews). This was simply XML with an RDF Header and it was used for my.netscape.com
  • 6/15/99 - Dave Winer at UserLand develops scriptingNews 2.0b1 which included Netscape's RSS 0.90 features also
  • 7/10/99 - Netscape developed RSS 0.91. In this version they removed the RDF header, but included most features from scriptingNews 2.0b1.
  • 7/28/99 - UserLand deprecated scriptingNews formats and adopted only RSS 0.91
  • Netscape stops their RSS development
  • 6/4/00 - UserLand releases the official RSS 0.91 specification
  • 8/14/00 - A group lead by Rael Dornfest at O'Reilly developed RSS 1.0. This format uses RDF and namespaces. This version is often confused as being a new version of 0.91, but this is a completely new format with no ties to RSS 0.91
  • 12/25/00 - Dave Winer at UserLand develops RSS 0.92 which is 0.91 with optional elements.
  • 04/20/01 - RSS0.93 was discussed but never deployed
  • 03/14/02 - MetaWeblog API merged RSS 0.92 with XML-RPC to provide a powerful blogging API.
  • 09/18/02 - Dave Winer developed RSS 2.0 after leaving Userland. This is 0.92 with optional elements. MetaWeblog API updated for RSS 2.0. While in development, this format was called 0.94.
  • 07/15/03 - Official Spec RSS 2.0 was released through Harvard under a Creative Commons license

Which RSS Version Should be Used?

There is no consensus on using RSS feed version. Its up to you which version you want to use. I would personally suggest to use latest one which RSS2.0. This is simple enough to use and easy to learn.
  • About 50 % of all RSS feeds use RSS 0.91
  • About 25 % use RSS 1.0
  • The last 25 % is split between RSS 0.9x versions and RSS 2.0

RSS Feed Formats

RSS has been released in many different versions in last 10 years. Here we will give you detail about three most commonly used RSS version.

RSS v0.91 Feed Format:

  • RSS v0.91 was originally released by Netscape in 1999.
  • RSS v0.91 does not have RDF header.
  • RSS v0.91 is called Rich Site Summary (RSS)
  • RSS v0.91 has features from Dave Winer's RSS version scriptingNews 2.0b1.
  • RSS v0.91 has support for international languages and encodings.
  • RSS v0.91 has support for image height and width definitions.
  • RSS v0.91 has support for description text for headlines.
  • Check complete set of - RSS v0.91 tags and syntax

RSS v1.0 Feed Format:

  • RSS 1.0 is the only version that was developed using the W3C RDF (Resource Description Framework) standard. This version of RSS is called RDF Site Summary.
  • RSS 0.91 and RSS 2.0 are easier to understand than RSS 1.0. Next chapter will discuss about RSS 0.91, RSS 2.0 and RSS 1.0 formats.
  • Check complete set of - RSS v1.0 tags and syntax

RSS v2.0/2.01 Feed Format:

  • RSS 2.0/2.01 is very similar to RSS 0.9x. RSS 2.0/2.01 adds namespace modules and six optional elements to RSS 0.9x.
  • RSS 2.0/2.01 specification was written by Dave Winer of Radio UserLand. The copyright was later transferred to Harvard University.
  • Check complete set of - RSS v2.0 tags and syntax


RSS Reading Feeds

Many sites offer RSS feeds, which you can identify by a small yellow button that says either RSS Feed or XML Feed. However, if you click one of these links, you will most likely get a page full of code in your browser.
To properly read the feed, you need an RSS reader. Here are the steps to get and use RSS Feed readers.

Step 1 - Get an RSS Feed Reader

There are a lot of different RSS readers available. Some work as web services, and some are limited to windows (or Mac, PDA or UNIX). Here are a few which you can try:
  • NewsGator Online - A free online RSS reader. Includes synchronization with Outlook, viewing TV content with Media Center Edition, and publication of blogs and headlines.
     
  • RssReader - A free Windows-based RSS reader. Supports RSS versions 0.9x, 1.0 and 2.0 and Atom 0.1, 0.2 and 0.3.
     
  • FeedDemon - A Windows-based RSS reader. Very easy to use and has a very orderly interface. However, this is not freeware!
     
  • blogbot - An RSS reader plug-in for Outlook or Internet Explorer. The light-version for Internet Explorer is free.

Step 2 - RSS Reader Installation

All the readers come alongwith installation instructions. So use provided script to install your RSS Reader on your computer.
When you first launch a standalone reader, most often you will see a toolbar and three window panes arranged much like the preview mode in Microsoft Outlook. The pane on the left side typically displays RSS feeds, or channels, to which you are subscribed. These can be organized into categories or folders.
The upper-right panel typically shows a list of articles within whichever channel is selected, and the article content is then displayed in the lower-right panel. To change channel groups, just click the drop-down box at the upper left beneath the menus. Sometimes a brief description will appear in the lower right; if so, click the link in the article to load the complete text.
Some standalone apps can be configured to send you e-mail every time there's a new article on a topic you're interested in.

Step 3 - Add Channels and Channel groups

To add a channel ie. RSS feed, go to the RSS page of any site using yellow button that says either RSS Feed or XML Feed. Right-click or use CTRL+C to copy the URL from the address bar of your browser, which should show a page full of XML code.
Now go back to your newsreader, choose the category where you want the new subscription to live (Business, Entertainment, the New York Times), and select New or New Channel from the File menu. In most cases, the URL you copied should automatically be pasted into the URL field in the New Channel wizard. If not, you can cut and paste the URL yourself.

Step 4 - Customize RSS Reader:

When you accumulate lots of articles from your various feeds, it can become difficult to find specific information. Fortunately, newsreaders include useful tools for finding articles.
A Filter tool will show only articles that contain a keyword you specify. This may also be labeled Search. To use it, type a keyword directly into the Filter/Search bar.
Some readers include the ability to set a watch, an automatic search through all your incoming feeds for a specific keyword. For example, you could enter ICQ as a watch. If any article in any feed you subscribe to mentions ICQ, the article will be included in the Watch list.
You needs to check help section of your reader to find out more options to customize it according to your needs.

Step 5 - Cleaning unwanted feeds:

Eventually, you'll probably end up with more feeds than you want or can read regularly. In most readers, to delete a feed you're no longer interested in, you simply delete its title. Then your RSS reader won't seek out that information anymore, and you won't get any content from the publisher unless you go to its site or resubscribe to the feed. 

RSS Feed Publishing

Now you are aware how to write a RSS Feed for your site. If you don't know how to prepare RSS feed file then please go through RSS Feed Formats.

Uploading RSS Feed:

Here are simple steps to put your RSS Feed on the web.
  1. First decide which version of RSS Feed you are going to use for your site. I would recommen to use latest version available.
  2. Create your RSS Feed in a text file with extension either .xml or .rdf. Upload this file on your web server.
  3. You should validate your your RSS Feed before making it live. Check next chapter on RSS Feed Validation.
  4. Create a link on your Web Pages for the RSS Feed File. You will use a small yellow button for the link that says either RSS Feed or XML Feed.
That's it, Now your RSS Feed is online and people can start using it. But there are ways to prompote your RSS Feed so that more number of people should use your RSS Feed.

Promote Your RSS Feed:

Keeping up-to-date Feed:

As we have explained earlier, RSS Feed makes sense for the site who are changing thier content very frequently. Like any news or bloggig sites.
So now you have gotten RSS feed buttons from Google, Yahoo, and MSN. Now you must make sure that you update your content frequently and that your RSS feed is constantly available.

 RSS Validation & Validators

If you have created one RSS feed for your news group or web blog or for anyother purpose then it is your responsibility to ensure that your RSS feed file can be parsed by the XML parser of any subscribing site.
Many of RSS feed creation softwares validate XML at the time of feed creation but some don not do. Make a note that small errors can make your feed unreadable by the standard feed readers.
So I would suggest you before publishing your RSS feed make sure you have done all the required validations. You may wish to load your RSS feed file to your internet server and then enter the URL in one of the following validators to check the syntax.
NOTE: If you find that any of the above mentioned links is not available then please send me an email at webmaster@only4programmers.blogspot.in so that I can correct it, Thanks


What is Atom 1.0?

Atom is the name of an XML-based Web content and metadata syndication format, and an application-level protocol for publishing and editing Web resources belonging to periodically updated websites.
Atom is a relatively recent spec and is much more robust and feature-rich than RSS. For instance, where RSS requires descriptive fields such as title and link only in item breakdowns, Atom requires these things for both items and the full feed.
All Atom feeds must be well-formed XML documents, and are identified with theapplication/atom+xml media type.

Structure of an Atom 1.0 Feed:

A Feed consists of some metadata, followed by any number of entries. Here is a basic structure of an Atom 1.0 Feed
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>...</title>
  <link>...</link>
  <updated>...</updated>
  <author>
    <name>...</name>
  </author>
  <id>...</id>

  <entry>
    <title>...</title>
    <link>...</link>
    <id>...</id>
    <updated>...</updated>
    <summary>...</summary>
  </entry>

</feed>

Atom 1.0 Feed Tags:

An Atom 1.0 Feed Document will be constructed of the following two elements:
  • <feed> Elements
  • <entry> Elements
There are some common construct which are required for the above two elements and they are explained in: Common Construct

<feed> Elements:

Feed ID:

This identifies the feed using a universally unique and permanent URI. If you have a long-term, renewable lease on your Internet domain name, then you can feel free to use your website's address.

Syntax:

<id>http://only4programmers.blogspot.com/</id>

Required:

Required

Feed title:

This contains a human readable title for the feed. Often the same as the title of the associated website. This value should not be blank.

Syntax:

<title>Tutorials and Reference Manuals</title>

Required:

Required

Feed updatation Date:

Thsi indicates the last time the feed was modified in a significant way. All timestamps in Atom must conform to RFC 3339.

Syntax:

<updated>2007-07-13T18:30:02Z</updated>

Required:

Required

Feed Author:

This names one author of the feed. A feed may have multiple author elements. A feed must contain at least one author element unless all of the entry elements contain at least one author element.
An author element can have <name>, <email> and <uri> tags.

Syntax:

<author>
  <name>Shanavas Rahiman</name>
  <email>shanavas@only4programmers.blogspot.com</email>
  <uri>http://only4programmers.blogspot.com/</uri>
</author>

Required:

Optional, but recommended

Feed link

This identifies a related Web page. The type of relation is defined by the rel attribute. A feed is limited to one alternate per type and hreflang. A feed should contain a link back to the feed itself.

Syntax:

<link>rel="self" href="/feed"</link>

Required:

Optional, but recommended

Feed Category:

This specifies a category that the feed belongs to. A feed may have multiple category elements.

Syntax:

<category>category term="sports"</category>

Required:

Optional

Feed Contributor:

This names one contributor to the feed. An feed may have multiple contributor elements.

Syntax:

<contributor>
  <name>Mohtashim</name>
</contributor>

Required:

Optional

Feed generator:

This identifies the software used to generate the feed, for debugging and other purposes. Both the uri and version attributes are optional.

Syntax:

<generator uri="/myblog.php" version="1.0">
  Example Toolkit
</generator>

Required:

Optional

icon Tag:

This identifies a small image which provides iconic visual identification for the feed. Icons should be square.

Syntax:

<icon>/icon.jpg</icon>

Required:

Optional

logo Tag:

This identifies a larger image which provides visual identification for the feed. Images should be twice as wide as they are tall.

Syntax:

<logo>/logo.jpg</logo>

Required:

Optional

rights Tag:

This conveys information about rights, e.g. copyrights, held in and over the feed.

Syntax:

<rights> © 2007 only4programmers.blogspot.com </rights>

Required:

Optional

subtitle Tag:

This contains a human-readable description or subtitle for the feed.

Syntax:

<subtitle>A sub title </subtitle>

<entry> Elements:

An Atom Feed may contain one or more entry elements. Here's a list of the required and optional feed elements.

Entry ID:

This Identifies the entry using a universally unique and permanent URI. Suggestions on how to make a good id can be found here. Two entries in a feed can have the same value for id if they represent the same entry at different points in time.

Syntax:

<id>http://example.com/blog/1234</id>

Required:

Required

Entry Title:

This contains a human readable title for the entry. This value should not be blank.

Syntax:

<title>Atom 1.0 Tutorial</title>

Required:

Required

Entry updation date:

This indicates the last time the entry was modified in a significant way. This value need not change after a typo is fixed, only after a substantial modification. Generally, different entries in a feed will have different updated timestamps.

Syntax:

<updated>2007-07-13T18:30:02-05:00</updated>

Required:

Required

Entry Author:

This names one author of the entry. An entry may have multiple authors. An entry must contain at least one author element unless there is an author element in the enclosing feed, or there is an author element in the enclosed source element.

Syntax:

<author>
  <name>Mohtashim</name>
</author>

Required:

Optional, but recommended

Entry Content:

This contains or links to the complete content of the entry. Content must be provided if there is no alternate link, and should be provided if there is no summary.

Syntax:

<content>complete story here</content>

Required:

Optional, but recommended

Entry link:

This identifies a related Web page. The type of relation is defined by the rel attribute. An entry is limited to one alternate per type and hreflang. An entry must contain an alternate link if there is no content element.

Syntax:

<link rel="alternate" href="/blog/1234"/>

Required:

Optional, but recommended

Entry summary:

This conveys a short summary, abstract, or excerpt of the entry. Summary should be provided if there either is no content provided for the entry, or that content is not inline.

Syntax:

<summary>Some text.</summary>

Required:

Optional, but recommended

Entry Category:

This specifies a category that the entry belongs to. A entry may have multiple category elements.

Syntax:

<category term="education"/>

Required:

Optional

Entry ontributor:

This names one contributor to the entry. An entry may have multiple contributor elements.

Syntax:

<contributor>
  <name>Mohtashim</name>
</contributor>

Required:

Optional

Published Tag:

This contains the time of the initial creation or first availability of the entry.

Syntax:

<published>2007-07-13T09:17:51-08:00</published>

Required:

Optional

Entry source:

If an entry is copied from one feed into another feed, then the source feed's metadata (all child elements of feed other than the entry elements) should be preserved if the source feed contains any of the child elements author, contributor, rights, or category and those child elements are not present in the source entry.

Syntax:

<source>
  <id>http://moretutorials.org/</id>
  <title>Tutorials and Reference Manuals</title>
  <updated>2007-07-13T18:30:02Z</updated>
  <rights>© 2007 More Tutorials.</rights>
</source>

Required:

Optional

Entry rights:

This conveys information about rights, e.g. copyrights, held in and over the entry.

Syntax:

<rights type="html">
  © 2007 only4programmers.blogspot.com
</rights>

Required:

Optional

Common Constructs:

Category

<category> has one required attribute, term, and two optional attributes, scheme and label.
term identifies the category
scheme identifies the categorization scheme via a URI.
label provides a human-readable label for display.

Content

<content> either contains, or links to, the complete content of the entry.
In the most common case, the type attribute is either texthtmlxhtml, in which case the content element is defined identically to other text constructs, which are described here.
Otherwise, if the src attribute is present, it represents the URI of where the content can be found. The type attribute, if present, is the media type of the content.
Otherwise, if the type attribute ends in +xml or /xml, then an xml document of this type is contained inline.
Otherwise, if the type attribute starts with text, then an escaped document of this type is contained inline.
Otherwise, a base64 encoded document of the indicated media type is contained inline.

Link

<link> is patterned after html's link element. It has one required attribute, href, and five optional attributes: reltypehreflangtitle, and length.
href is the URI of the referenced resource (typically a Web page)
rel contains a single link relationship type. It can be a full URI or one of the following predefined values (default=alternate):
  • alternate: an alternate representation of the entry or feed, for example a permalink to the html version of the entry, or the front page of the weblog.
  • enclosure: a related resource which is potentially large in size and might require special handling, for example an audio or video recording.
  • related: an document related to the entry or feed.
  • self: the feed itself.
  • via: the source of the information provided in the entry.
type indicates the media type of the resource.
hreflang indicates the language of the referenced resource.
title human readable information about the link, typically for display purposes.
length the length of the resource, in bytes.

Person

<author> and <contributor> describe a person, corporation, or similar entity. It has one required element, name, and two optional elements: uriemail.
<name> conveys a human-readable name for the person.
<uri> contains a home page for the person.
<email> contains an email address for the person.

Text

<title><summary><content>, and <rights> contain human-readable text, usually in small quantities. The type attribute determines how this information is encoded (default="text")
If type="text", then this element contains plain text with no entity escaped html.
<title type="text">AT&amp;T bought by SBC!</title>
If type="html", then this element contains entity escaped html.
<title type="html">
  AT&amp;amp;T bought &lt;b&gt;by SBC&lt;/b&gt;!
</title>
If type="xhtml", then this element contains inline xhtml, wrapped in a div element.
<title type="xhtml">
  <div xmlns="http://www.w3.org/1999/xhtml">
    AT&amp;T bought <b>by SBC</b>!
  </div>
</title>

Check complete specification for atom 1.0 RFC4287.

Atom 1.0 Example Feed:

Here is the example feed files which shows how to write Feed using Atom 1.0
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Example Feed</title>
  <subtitle>Insert witty or insightful remark here</subtitle>
  <link href="http://example.org/"/>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
     <name>Mohtashim</name>
     <email>mohtashim@example.com</email>
  </author>
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

  <entry>
     <title>Tutorial on Atom</title>
     <link href="http://example.org/2003/12/13/atom03"/>
     <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
     <updated>2003-12-13T18:30:02Z</updated>
     <summary>Some text.</summary>
   </entry>

</feed>

Atom1.0 File Extension:

A specific file-extension for an Atom 1.0 document is not required. But .xml is recommended. 


RSS Further Extensions

RSS originated in 1999, and has strived to be a simple, easy to understand format, with relatively modest goals. After it became a popular format, developers wanted to extend it using modules defined in namespaces, as specified by the W3C.
RSS 2.0 adds that capability, following a simple rule. A RSS feed may contain elements not described on this page, only if those elements are defined in a namespace.
The elements defined in this tutorial are not themselves members of a namespace, so that RSS 2.0 can remain compatible with previous versions in the following sense -- a version 0.91 or 0.92 file is also a valid 2.0 file. If the elements of RSS 2.0 were in a namespace, this constraint would break, a version 0.9x file would not be a valid 2.0 file.
RSS is by no means a perfect format, but it is very popular and widely supported. Having a settled spec is something RSS has needed for a long time.
However, the RSS spec is, for all practical purposes, frozen at version 2.0.1. But you can anticipate possible 2.0.2 or 2.0.3 versions, etc. only for the purpose of clarifying the specification, not for adding new features to the format.
Subsequent work should happen in modules, using namespaces, and in completely new syndication formats, with new names.