RSS Extension Elements

If you need to write programs to read or write RSS feeds, you will know that the RSS formats are very extensible. You can pretty much add any additional elements to a feed. There are also many other XML formats, such as format that Google Base uses and Microsoft's simple sharing format, that are based on the RSS format and adds new functionalities by adding extension elements. If you need to parse a RSS feed, you should definitely consider adding support for some of these extension elements.

The following table shows the most popular extension elements that are currently being used. The data comes from a blog entry from the Google Reader blog . An engineer from Google wrote an MapReduce program to go through all the feeds that Google Reader keeps track of and listed the top 50 extension namespaces. Currently Yarfraw supports quite a few of them. I am also using this list to prioritize extension support to be added in the future.

% of Feeds Namespace URI Supported by Yarfraw
29.36% Dublin Core http://purl.org/dc/elements/1.1/ Yes
15.71% XHTML http://www.w3.org/1999/xhtml Partial, there are some util methods for working with xhtml elements
11.92% Blogger Atom API Extensions http://www.blogger.com/atom/ns# Yes
11.88% Blogger Draft Extension http://purl.org/atom-blog/ns# Yes
11.16% RSS 1.0 Content Module http://purl.org/rss/1.0/modules/content/ Partial, the most popular element <encoded> is supported by the core model directly
8.39% Well-Formed Web Comment API http://wellformedweb.org/CommentAPI/ Yes
5.35% RSS 1.0 Administrative Module http://webns.net/mvcb/ Yes
3.85% FeedBurner Extensions http://rssnamespace.org/feedburner/ext/1.0 Yes
3.74% MSN Spaces http://schemas.microsoft.com/msn/spaces/2005/rss No, I couldn't find the specs
3.66% Slash http://purl.org/rss/1.0/modules/slash/ Yes
3.59% RSS 1.0 Syndication Module http://purl.org/rss/1.0/modules/syndication/ Yes
2.50% iTunes http://www.itunes.com/dtds/podcast-1.0.dtd Yes
2.49% LiveJournal RSS Module 1.0 http://www.livejournal.org/rss/lj/1.0/ No, next release perhaps?
2.33% Dublin Core Terms http://purl.org/dc/terms/ Partial
2.27% Microsoft Simple List Extensions http://www.microsoft.com/schemas/rss/core/2005 No, no Microsoft :-)
2.00% Yahoo Media RSS http://search.yahoo.com/mrss/ Yes
1.24% RSS 1.0 Taxonomy Module http://purl.org/rss/1.0/modules/taxonomy/ No, perhaps in the next release?
... Skipping see http://googlereader.blogspot.com/2006/08/namespaced-extensions-in-feeds.html for the complete list
0.06% Google Base http://base.google.com/cns/1.0 Yes
No Data Georss Extension http://www.georss.org/georss/10 Yes

Preferred Namespace Prefixes

When Yarfraw marshall these extension elements, it will automatically add a predefined prefix to them to make the resulting xml document easier to read. The following table lists all the namespace prefixes:

Namespace Uri Prefix comments
http://www.w3.org/1999/02/22-rdf-syntax-ns# rdf
http://www.w3.org/XML/1998/namespace xml
http://base.google.com/ns/1.0 g
http://www.itunes.com/dtds/podcast-1.0.dtd itunes
http://tools.search.yahoo.com/mrss/ mrss
http://wellformedweb.org/CommentAPI/ wfw
http://www.georss.org/georss/10 georss
http://purl.org/dc/elements/1.1/ dc
http://purl.org/rss/1.0/modules/syndication/ sy
http://webns.net/mvcb/ admin
http://rssnamespace.org/feedburner/ext/1.0 feedburner
http://purl.org/rss/1.0/modules/slash/ slash
http://www.blogger.com/atom/ns# blogger
http://purl.org/atom-blog/ns# draft
http://www.w3.org/2005/Atom "" This the Atom 1.0 namespace, elements will use the default namespace
http://purl.org/rss/1.0/ "" This the RSS 1.0 namespace, elements will use the default namespace

For more details, I encourage to take a look at the Javadoc . Also check out the FAQ section for more insights about this API.