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 Yes
15.71% XHTML Partial, there are some util methods for working with xhtml elements
11.92% Blogger Atom API Extensions Yes
11.88% Blogger Draft Extension Yes
11.16% RSS 1.0 Content Module Partial, the most popular element <encoded> is supported by the core model directly
8.39% Well-Formed Web Comment API Yes
5.35% RSS 1.0 Administrative Module Yes
3.85% FeedBurner Extensions Yes
3.74% MSN Spaces No, I couldn't find the specs
3.66% Slash Yes
3.59% RSS 1.0 Syndication Module Yes
2.50% iTunes Yes
2.49% LiveJournal RSS Module 1.0 No, next release perhaps?
2.33% Dublin Core Terms Partial
2.27% Microsoft Simple List Extensions No, no Microsoft :-)
2.00% Yahoo Media RSS Yes
1.24% RSS 1.0 Taxonomy Module No, perhaps in the next release?
... Skipping see for the complete list
0.06% Google Base Yes
No Data Georss Extension 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 rdf xml g itunes mrss wfw georss dc sy admin feedburner slash blogger draft "" This the Atom 1.0 namespace, elements will use the default namespace "" 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.