[microformats-discuss] Evaulating RSS per the microformats principles.

Ryan King ryan at technorati.com
Sun Aug 14 22:55:30 PDT 2005


On Aug 14, 2005, at 7:08 PM, Stephen Downes wrote:
> Hiya,
>
> Just a note to try to clear up some misconceptions. Like this:
>
>> But I can't use that RSS archive for anything. I can't read it  
>> (or  I'll have to add it to a subscription list to read it just  
>> once).  I can't link to it. For it to be usable as an archive  
>> format RSS  readers will have to reinvent every aspect of the  
>> webbrowser -  with an added RSS wrapper. That's more tha a little  
>> silly.
>
> This (and similar comments about what RSS "can't do") is simply  
> false. Anything XHTML can do, RSS can do.

But with more effort. Effort which seems somewhat unneccessary.

> 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

Definitely.

My vision of building a blog post microformat is this:

1. Develop a format and begin marking blogs up with it.
2. Build a proxy which coverts the as-yet-unnamed-microformat into  
RSS and Atom
3. ???
4. Profit.

I know many CMSs and nearly all blogging platforms already produce  
RSS and/or Atom, but I think this format could make it *even easier*  
for people to do syndication, as they will be able to do so without  
publishing two representations of their data.

> 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;

Not all. Opera's left out here and I'm not sure about IE's support.  
Safari and Firefox have ok, support, but with limitations.

> they can easily display XML using XSLT (here is an example: http:// 
> www.downes.ca/news/OLDaily.xml )

When I click on that, it opens up in my feed reader. Is that what you  
intended?

> 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.

Right. I don't think many would disagree with you here.

My personal approach this is going to be a merging of common semantic  
(x)html markup with atom. IMHO, semantic (x)html should take  
precedence as it would make life easier for publishers.

> IMHO, the easiest way to do it is to simply use divs (for channels  
> and items) and spans (for internal elements), using either Atom or  
> RSS to specify classes Here is an example using RSS:

There's no reason to mandate that people use <div>'s or <span>'s. The  
class and rel values are sufficient.

>    <div class="channel">
>      <span class="title">My Blog</span>
>      <a class="link">http://www.whatever.com</a>
>
>      <div class="item">
>         <span class="title">My Blog Post</span>
>         <a class="link">http://www.whatever.com/post/1</a>
>      </div>
>   </div>
>
> Why not use specialized XHTML, such as <h1> to indicate, say, blog  
> post titles? Because *many* RSS files contain XHTML embedded in the  
> 'description' or 'content' elements. It is a virtual certainty that  
> this usage conflict with any XHTML specifications for blog posts.

Wha?

A primary goal of microformats is to use semantic (x)html. There's no  
reason to discard semantic (x)html in this case.


> Now I should say, I do not consider the formulation given above to  
> be a *micro* format. This is because this is a base into ehich  
> microformats can be embedded.

A microformat doesn't have to be *micro*. The important part is that  
it follows the principles -> http://microformats.org/wiki/ 
microformats#the_microformats_principles

> ...
>
> The other microformats discussed on microformats.org would be  
> (should be) *embedded* in the items (or channels, as approrpiate).  
> They *should* map, first, to existing RSS (or Atom) extnsions, and  
> then, ultimately, to *proposed* RSS (or Atom) extensions (such both  
> RSS and Atom are not as semantically rich as they should be).

RSS/Atom are not the goals. Remember, HTML's been around a lot longer  
and has *much* wider adoption.

But, yes, microformats are great for embedding in other formats (RSS/ 
Atom, (X)HTML, PoX).


> For example:
>
>      <div class="item">
>         <span class="title">My Blog Post</span>
>         <a class="link">http://www.whatever.com/post/1</a>
>         <a href="http://technorati.com/tag/tech" rel="tag">tech</a>
>      </div>
>
> Another example, of post turned into a calendar item (using syntax  
> as is currently at http://microformats.org/wiki/hcalendar ):
>
>      <div class="item">
>         <span class="title">My Blog Post</span>
>         <a class="link">http://www.whatever.com/post/1</a>
>         <span class="vevent">
>             <a class="url" href="http://www.web2con.com/">
>                  <span class="summary">Web 2.0 Conference</span>:
>                  <abbr class="dtstart" title="2005-10-05">October  
> 5</abbr>-
>                  <abbr class="dtend" title="2005-10-07">7</abbr>,  
> at the <span class="location">Argent Hotel, San Francisco, CA</span>
>             </a>
>         </span>
>      </div>
>
> This, in turn, would map back to RSS (roughly?) as follows:
>
>      <item>
>         <title>My Blog Post</title>
>         <link>http://www.whatever.com/post/1</link>
>         <hcal:hcal>
>                  <hcal:dtstart title="2005-10-05">October 5</ 
> hcal:dtstart>
>                  <hcal:dtend" title="2005-10-07">7</hcal:dtend>
>                  <hcal:location>Argent Hotel, San Francisco, CA</ 
> hcal:location>
>         </hcal:hacl>
>      </div>

Why not just put the hcalendar in the summary? Doing it this way  
requires that the user agent support the format for the user to even  
be able to *see the data*.

> (I left out 'link' and 'simmary' from the hcal RSS example becvause  
> they are redundant with the 'item' link and description and title.)
>
> Anyhow, the *main* point here is that the RSS and the XHTML  
> versions are fundamentally the same thing.

Yes, and?

> For most systems, *both* are derived (via, eg., templating) from  
> database contents.

The source of the data is irrelevant.

> Items from both XHTML and RSS can be displayed individually or as a  
> list in a channel. Archives may be expresswed as RSS or XHTML, no  
> difference.

Right.

Currently people publish their blog both in (X)HTML and RSS/Atom. Why  
should people have to publish the *same thing* in two different formats?

> And the *secondary* point is that it is best to treat RSS channels  
> and items as 'wrappers' into which other microformats are embedded;  
> the exact combination of embedded microformats is what makes the  
> item a 'comment', a 'b log post', an 'event' or whatever.

You're right. RSS and Atom are wrapper formats.

-ryan

> With all of that said, my thoughts on RSS referencing for  
> discussion lists and more, posted to RSS-DEV:
> http://www.downes.ca/cgi-bin/website/view.cgi? 
> dbs=Article&key=1122488147&format=full
>
> And the concept and theory behind my remarks, a talk I delivered at  
> a national metadata conference last week:
> http://www.downes.ca/cgi-bin/website/view.cgi? 
> dbs=Article&key=1123857153
>
>
> -- Stephen
>
> -- 
>
> Stephen Downes  ~  Research Officer  ~  National Research Council  
> Canada
> http://www.downes.ca  ~  stephen at downes.ca         __\|/__ Free  
> Learning
>
> --
>
> _______________________________________________
> microformats-discuss mailing list
> microformats-discuss at microformats.org
> http://microformats.org/mailman/listinfo/microformats-discuss
>



More information about the microformats-discuss mailing list