One of the biggest challenges for a software developer implementing the RSS 2.0 specification is the issue of enclosures in a feed item. The specification is infamously unclear on whether an item allows one enclosure or multiple enclosures.

The RSS Advisory Board worked on the RSS Best Practices Profile for nearly two years, investigating a lot of RSS readers and feed producers to see how they handled issues like this. We ultimately made the following recommendation for enclosure:

Support for the enclosure element in RSS software varies significantly because of disagreement over whether the specification permits more than one enclosure per item. Although the author intended to permit no more than one enclosure in each item, this limit is not explicit in the specification.

Blogware, Movable Type and WordPress enable publishers to include multiple enclosures in each item of their RSS documents. This works successfully in some aggregators, including BottomFeeder, FeederReader, NewsGator and Safari.

Other software does not support multiple enclosures, including Bloglines, FeedDemon, Google Reader and Microsoft Internet Explorer 7. The first enclosure is downloaded automatically, an aspect of enclosure support relied on in podcasting, and the additional enclosures are either ignored or must be requested manually.

For best support in the widest number of aggregators, an item SHOULD NOT contain more than one enclosure.

Because the profile was completed in 2007, it would be useful to see how current software handles RSS enclosures to evaluate whether any recommendations should be reconsidered. To start this effort the current WordPress was tested, since that massively successful platform publishes 60 million RSS feeds. WordPress enables audio files to be added to a blog post using the Audio icon in the block editor:

Screen capture of the dialog used to add an Audio block to a blog post in WordPress

When three audio files were added to a blog post in WordPress, the item in the RSS feed contained three enclosure elements:

<enclosure url="http://example.com/Fanfare60.wav" length="2646044" type="audio/wav" />
<enclosure url="http://example.com/CantinaBand60.wav" length="2646044" type="audio/wav" />
<enclosure url="http://example.com/ImperialMarch60.wav" length="2646044" type="audio/wav" />

Follow this blog for more updates on enclosure usage in feeds and feed readers.

As you probably guessed, we have an RSS feed.

Comments

This is a test comment.

:
:
:

Popular Pages on This Site