It’s just data

Proposal for RSS 2.1

James Snell: I'd like to propose a minor update to RSS 2.0. The update would add nothing more than a namespace declaration for RSS.

+1 and then some:


Posted by Timothy Appnel at

Ok, please tell me I'm reading that wrong.  If my read is correct, XSS would forbid HTML in the item text - which means no links to other content in the item text.  Is that correct?  If so, it's a totally broken spec from the get go, because it ignores 9/10ths of the value of blogs and blog feeds.

Posted by James Robertson at

DW tried this and it broke namespace-aweare code so he backed it out.

Posted by Aaron Swartz at

Tried what exactly Aaron? Which DW?

Posted by James Snell at


Posted by Dare Obasanjo at

James, here is the details.  Had the namespace been advertised, I'm sure that Ovidiu would have been able to handle it, but it was simply unleashed on the world, affecting all Radio users, without warning.

Since then Simon Fell implemented a number of namespaces tests that many parsers, including the Ultraliberal RSS parser pass.

Posted by Sam Ruby at

Bottom line is that RSS is read by a wide variety of parsers (these would form a matrix if I had the ASCII design skills):

1. namespace-aware regex parsers
2. non-namespace-aware regex parsers
3. namespace-aware XML parsers
4. non-namespace-aware XML parsers

Adding a namespace for the core RSS elements would break #3.

Also, adding a core namespace would encourage people to use it as an explicit prefix rather than a default namespace, which would break #2 and some of #4 (see Simon's tests -- some parsers ignore the prefix and just look at local-name, others get confused by the prefix and ignore the whole tag if they don't recognize it).

Posted by Mark at

edit: adding a core namespace could also break #1, although I'm the author of the only #1-style RSS parser (that I know of) and I already compensate for the last core namespace DW added and then retracted.  If you made a new core namespace, then yes, you would break my ultraliberal parser.

Ironically, people using #3-style parsers are the ones "doing it right" as far as XML goes.  So much for rewarding best practices.

Posted by Mark at

Ok, I see the problem.  Dave inappropriately attached a new namespace to an existing specification without telling anyone.  Bad Dave.  :-)

So enter my proposal.  It increments the version number for RSS to 2.1.  In effect creating a new spec existing RSS parsers may or may not choose to implement.  Plus, I'm not rolling out a change to every Radio user without warning which should make things go easier ;-)

Posted by James Snell at

OK, so you're saying that you want to create a version of RSS labeled "2.1" which will not be backwardly-compatible with any existing 2.0 parser in category #1 or #3.

Let's ignore, for the time being, the issue of versioning (a "minor" version upgrade that breaks backward compatibility).

Let's ignore, for the time being, that this exact course of action was tried once before and was immediately retracted.

Let's ignore, for the time being, that the RSS 2.0 specification has stayed fairly well frozen for a heart-pounding, swoon-inducing, record-breaking 6 months.

The question I have is this: What does this buy us, for the price of breaking half the RSS parsers in the world?  Is there some class of software that can not work with RSS 2.0 as is?  Is there some super-obvious reason I'm missing?

Posted by Mark at

It's more of an interop issue. For example, we've been talking recently about building a Weblog API that involves packing RSS Items into SOAP Envelopes and posting those to the server.  That's fine from a SOAP point of view as SOAP explicitly states that namespace qualification of body elements is optional yet preferred.  From a WSDL point of view, however, it's not ideal.  The WSDL specification does not specify one way or the other whether or not the type specifications of message parts MUST be namespace qualified.  However, I believe it would be a safe bet that the vast majority (if not all) tools that support WSDL have been designed so that namespace qualification of type elements is required.  In order to realistically be able to create a WSDL document that describes the RSS-In-SOAP interface, RSS needs a namespace.

Posted by James Snell at

Hmm.  I don't see how the limitations of your tools should be my problem.  Can't you define this new API to use a specific namespace, and leave RSS alone?  Or use RSS 1.0; all of its elements are already in a namespace.


Posted by Mark at

Ahhh, now it all makes sense. Instead of fixing a broken tool that appears to not conform to it's own spec, let's try to change a million RSS feeds to accomodate the broken tool.

Posted by joe at

It's not just a tool issue.  It's an interop issue. WS-I Basic Profile requires namespace qualification and for very good reason.

To answer your question, yes, it would be possible to "limit" the use of the RSS 2.1 namespace to the Weblog API.  "Limit" is in quotes in order to leave room for application of the Law of Unintended Uses.

Posted by James Snell at

"Ahhh, now it all makes sense. Instead of fixing a broken tool that appears to not conform to it's own spec, let's try to change a million RSS feeds to accomodate the broken tool."

Nope, I never suggested that folks should change their aggregation tools... thus the reason I incremented the version number to 2.1 rather than trying to co-opt the existing spec that folks already support.  The goal here is to get a version of the spec that folks can use.  And to clarify, the WSDL tools aren't broken, they're perfectly compliant with a WSDL 1.1 gray area and generally accepted interop best practices.  This is about bridging two tools that currently don't work well together so that they can work well together.

Posted by James Snell at

Can't you read James? The spec for RSS 2.0 very clearly says how it evolves. It doesn't. It wasn't designed to be part of SOAP, another spec the wienerboys have taken over and turned to crud. Stay away from RSS. We use it. Leave it alone already. Geez Louise.

Posted by Dave Winer at

Without a namespace declaration, RSS 2.0 will eventually be replaced with other standards more appropriate for pulling semantic data off the web.

Posted by Drew Robbins at

Maybe my tools (Smalltalk) are just too easy.  taking RSS, creating an object, and then dumping that object somewhere else via SOAP or XML-RPC is trivial.  I hardly need a new spec to do it; I don't see the problem.

Posted by James Robertson at

Drew wins the modified Godwin's Law award for being the first to mention the Semantic Web!

Rational conversation (such as it was to begin with) will now cease.

Posted by Mark at

Did I mention that the word 'Semantic' now gives me hives?

Posted by joe at

I have an idea.  Let's see, what is it those XML weenies always say... wait, don't tell me... it's coming to me... ah yes, I remember:


Specifically, you should just use XSLT, because you're the one who claims to be unable to interoperate here.  The rest of us are interoperating just fine, so we don't see any reason why we should have to pay the WSDL tax.

Posted by Mark at

This conversation wouldn't be complete without some RDF bashing, but I can't do it!

Posted by Matt at

RSS Namespace tests

I found some RSS namespace tests in a comment to a post on Sam Ruby's blog. I tried them all in SharpReader and scored 100%. wahoo!... [more]

Trackback from public virtual MemoryStream


I was going to carry the RDF bashing over to Drew's comments, but instead I got the answer to whether requiring registration to comment is a good idea. It's not.

Posted by Phil Ringnalda at

Scolding Joe

Joe Gregorio: Attacking or trying to tear down other peoples work is non-productive and plainly not my style. All I can say is that statements like this are not the way to get my cooperation. While a number of intelligent people have contributed to ...

Pingback from Sam Ruby: Scolding Joe


Re: HTML content in XSS (2nd comment).

I believe HTML content goes in the [content:encoded] element.  I do this for my RSS 2.0 feed as well.

Posted by Mark at

Mark: I agree.

Posted by Sam Ruby at

RSS 2.1 - now with namespaces

Totally agree - this is at least a step in the right direction (from Sam Ruby)...

Excerpt from simplegeek at

These are not the droids we're looking for...

  James Snell wants a namespace on Rss 2(.1) documents. He's not the only one.  Dave, who Owns the RSS spec, says, in comments on Sam Ruby's blog:: Can't you read James? The spec for RSS 2.0 very clearly says how it evolves. It...

Excerpt from Objective at

RSS Questions

I'm working on adding individual list support to my SharePoint RSS Feed Generator. This allows me to pass the name or ID for a specific list on the query string and return that list as a channel. However, it is possible to pass invalid data on...

Excerpt from Harry Pierson's DevHawk Weblog at

Add your comment