CNET described the motivation of its creators as follows: "Winer's opponents are seeking a new format that would clarify RSS ambiguities, consolidate its multiple versions, expand its capabilities, and fall under the auspices of a traditional standards organization." (Wiki)
This statement led me to develop the following Equation:
Where:
- C0 is the initial complexity of the problem
- C1 is the final complexity of the problem
- n is the number of engineers simplifying the problem
- e is the exponential constant
This would seem to give us the nice e-curve that describes the situation.
To decode RSS files we must first understand the format and discover how they are unique. There are 8 formats of RSS divided into three distinct categories as follows. The names of each format links back to the specification page for future reference.
The RDF (or RSS 1.*) branch includes the following versions:
- RSS 0.90 was the original Netscape RSS version. This RSS was called RDF Site Summary, but was based on an early working draft of the RDF standard, and was not compatible with the final RDF Recommendation.
- RSS 1.0 is an open format by the RSS-DEV Working Group, again standing for RDF Site Summary. RSS 1.0 is an RDF format like RSS 0.90, but not fully compatible with it, since 1.0 is based on the final RDF 1.0 Recommendation.
- RSS 1.1 is also an open format and is intended to update and replace RSS 1.0. The specification is an independent draft not supported or endorsed in any way by the RSS-Dev Working Group or any other organization.
The RSS 2.* branch (initially UserLand, now Harvard) includes the following versions:
- RSS 0.91 is the simplified RSS version released by Netscape, and also the version number of the simplified version originally championed by Dave Winer from Userland Software. The Netscape version was now called Rich Site Summary; this was no longer an RDF format, but was relatively easy to use.
- RSS 0.92 through 0.94 are expansions of the RSS 0.91 format, which are mostly compatible with each other and with Winer's version of RSS 0.91, but are not compatible with RSS 0.90.
- RSS 2.0.1 has the internal version number 2.0. RSS 2.0.1 was proclaimed to be "frozen", but still updated shortly after release without changing the version number. RSS now stood for Really Simple Syndication. The major change in this version is an explicit extension mechanism using XML namespaces.
From Wikipedia ? http://en.wikipedia.org/wiki/RSS#Variants
Atom 1.0
From Wikipedia ? http://en.wikipedia.org/wiki/Atom_(standard)#Initial_work
My next post will show and explain the code I used to detect what feed format I'm working with and how to use that information to add the Title, Link, and Description to the CRSSItems collection. Needless to say, the detection code is longer than the decoding code.