[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Is it RSS core or is it Crufty Funk



I almost hesitate to start this, but I have it on good authority that
I'm an arsehole, so I will anyway. ;)

With all the continuing banter about echo, funkiness and naming, I
wonder if we're losing sight of something. The reason RSS mostly works
is that there is a hard core of specification that everyone follows regardless of camp affiliation.

Perhaps *everything* else is just cruft that stands or falls in the
marketplace of implementation. I don't care if it's <myTag> or
<myNamespace:myTag> If only a few people use it, then it's fairly
irrelevant. But if it solves a problem for you, go ahead. And if you
think you can get other people to use it, go ahead and try and make it
become a de facto standard.

But please don't screw with the core.

Now here's my interpretation of the core that's common to all the
versions of RSS, and it's both needed, required and sufficient.

<channel>           //1 and only one
   <title>          //optional
   <link>           //optional
   <item>           //0 or more
      <title>       //optional
      <link>        //optional
      <description> //optional

With these notes:
- Try for well formed XML and encode "&". Especially in <title>s.

- Embedded html in title or description elements should be entity
encoded once. Or wrapped in CDATA.

- Play nicely and try and make any embedded html well formed. Especially if you create the description by truncating your original article. And limit your output to non-aggressive html. Particularly, avoid block structure html like <table>.

- There are 5 elements above that are optional but they're also desired.
You need a very good reason for leaving any of them out. For instance if your source has no titles, then that's a good reason for leaving out <item>.<title>. But if you have links and text, then put in <link> and <description>

- If <item>s are describing blocks of text on a web page somewhere, then <link> should be the URL of that block of text (usually known as the permalink) unless you have a very good reason to do otherwise. Of course, if your blocks of text have no URL, that's a good enough reason.

And that's it.

IMHO, everything else is just crufty funk.

--
Julian Bond Email&MSM: julian.bond@voidstar.com
Webmaster:              http://www.ecademy.com/
Personal WebLog:       http://www.voidstar.com/
M: +44 (0)77 5907 2173   T: +44 (0)192 0412 433