blog-post-feed-equivalence: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
No edit summary
 
mNo edit summary
Line 1: Line 1:
== Blog Post - Feed Equivalence ==
== Blog Post - Feed Equivalence ==


As siggested by [http://www.downes.ca/ Stephen Downes] on the [http://microformats.org/discuss/mail/microformats-discuss/2005-August/000670.html Microformats mailing list]:
As suggested by [http://www.downes.ca/ Stephen Downes] on the [http://microformats.org/discuss/mail/microformats-discuss/2005-August/000670.html Microformats mailing list]:


<pre><nowiki>
<pre><nowiki>

Revision as of 10:00, 1 September 2005

Blog Post - Feed Equivalence

As suggested by Stephen Downes on the Microformats mailing list:

This (and similar comments about what RSS "can't do") is simply false. Anything XHTML can do, RSS can do.

RSS is a type of XML (so is Atom, and all my comments apply to both equally). Crucially:

  RSS + XSLT = XHTML

And for that matter,

  XHTML + XSLT = RSS

So what's the difference? Specifically: XHTML uses elements (such as 'p', 'h1', etc) that are interpreted automatically by your browser, while RSS uses elements (such as 'item','title', etc) that your browser requires XSLT in order to interpret. Today's browsers can all do this; they can easily display XML using XSLT (here is an example: http://www.downes.ca/news/OLDaily.xml ) but the kicker is, the XSLT declaration needs to be contained in the RSS file and the XSLT must be located in the same domain as the RSS (for the browser; on the server side, any XSLT may be applied without restraint).

*What this means* is that any XHTML definition of 'blog posts' should *map* to existing RSS (or Atom) elements. 

Notes

The word "feed" is being used as a more general term for RSS, Atom or whatever.

This sort of a platonic idea about how things can work. For example, not all copies of a weblog entry have all the of the content immediately available, Atom better specifies the meaning of elements than RSS 2.0, some feeds include metadata that is not available on the HTML page, and so forth.