XHTML Syndication History
The idea of using XHTML syndication is by no means new.
When the idea first started coming up on the microformats-discuss list, it sounded like a new, novel idea. It's not. Of course, I (Ryan King wasn't a citizen of Blogistan when it had been discussed before, so I decided to do some research. Here's a brief history of the idea:
Mark Pilgrim accurately asserts that "Every few months, somebody floats the idea of doing away with RSS and replacing it with HTML or XHTML, 'because semantic markup is all we need'."
Apparently he was right, because the topic keeps coming up.
Mark also says:
I’ve talked about application posture before; it seems to me that this latest movement adopts the wrong posture. The entire success of RSS is predicated on the principle that you can keep doing whatever messed up stuff you’ve always done on your web pages… oh, and do this other thing too. Look, it’s simple, you can code it up in an hour with a few print statements and an escape function. By contrast, this latest XHTML-as-syndication movement seems to be based on the principle that syndication is so incredibly important that you must immediately stop whatever you’re doing with your web pages, upgrade to XHTML, validate your markup, restructure your home page to include all and only the content you’re willing to syndicate, and by the way, would you please unlearn that ugly nasty presentational page layout language you’ve been using for years and learn this wonderful happy structured semantic markup language instead?
In response, in seems that people are already *unlearning their crappy presentational markup shit.* Could it be that, given the move towards a separation of presentation and structure, we may now be able to create a syndication format in XHTML (at least for blogs)?
--RyanKing 14:34, 27 Oct 2005 (PDT)
Work in Progress
This document is a work in progress. If you'd like to contribute, feel free to take one of the links from the Queue at the bottom of the page, analyze it, write a short summary of the proposal and record any issues in the "Issues Raised" section.
This section is for documenting issues raised in earlier efforts at using XHTML as a syndication format.
- How do we represent dates in XHTML? (see above) 
- Requiring specific structural elements doesn't make sense 
Proposed Profiles, etc
Site Summaries in XHTML
A boiled down, loose interpretation of the spec:
- the title of the channel is taken from the title of the page
<div class="item">on the page indicates an RSS item
- each such div element should contain an h2 or h3 element; this serves as the item's title.
- it should also contain a p element that serves as the item's description.
- the p element should contain an
<a rel="details" href="...ref...">...</a>which is taken as the URI of the item.
- the div should contain some element with
class="date"; its content should be a date in DD Month YYYY format; this is taken as the Dublin Core date of the item.
XHTML Syndication Module
19 July 2002 Joe Gregorio published an XHTML Syndication Module.
The motivation for this document is to do away with RSS as a seperate file format. If web publishers and CMSs want to participate in content syndication then they have to produce two versions of their front page, the HTML version and the RSS version. A careful inspection of XHTML and common web practice shows that most of the information need to do syndication already exists in web pages published today. What is needed is a little extra information to make syndication possible.
Its done by way of an xml namespace which adds attributes to the XHTML. Example:
<div class="singleItem" syn:item=""> <h4><a syn:title="" syn:link="href" href="http://bitworking.org/2002/07/18.html#a245" class="weblogItemTitle">Bye-bye BurningBird</a></h4> <p class="firstItemParagraph" syn:description=""> Hard to believe but <a href="http://weblog.burningbird.net/archives/000370.php">BurningBird</a> is closing down her blog. Best of wishes Shelly.</p> <div class="singleItemFooter"> <span class="itemPermaLinkTime">12:21:21 AM <span class="itemPermaLink"><a href="2002/07/18.html#a245">#</a> </span> </span> </div> </div>
RSS: XHTML Profile
Aaron Swartz has an XHTML profile. Description:
- the value of the <title> is the title of your site
- (optional)the element with class="description" contains a short description
- each element with class="item" on your page is an item, inside which:
- the element with class="title" is the item's title
- everything else is the content of the item
- the link with rel="bookmark" is the URI of the item
- (optional) the element with class="date" is the date
This section is for collecting links to stuff that discusses the idea of using XHTML for syndication. Personally, I'm most interested in proposals/ideas that *didn't* take off. I want to learn from previous mistakes. Feel free to add to this list, with a summary, if you'd like. --RyanKing 14:34, 27 Oct 2005 (PDT)
Since this document is a work in progress, this section is simply a list of links which need to be covered.
(tidy me ;-) Dan Brickley, comment at http://dannyayers.com/archives/2005/11/26/history/ : Eric van der Vlist had an implementation of this back in 2000 http://groups.yahoo.com/group/XHTML-L/message/683. We made a version available on the ILRT site http://www.ilrt.bris.ac.uk/discovery/2000/08/hss/sw.html, which fed into the more widely used W3C version http://www.w3.org/2000/08/w3c-synd/ of this idea. I still think this is the way to go, ultimately. The use cases just aren’t different enough to justify having completely different document formats, solely on basis of their dissemination mechanism. But I tried raising this in early Atom days and got told it was a silly idea. Maybe as the XML doc formats mature (XHTML2, CDF) it’ll be time to revisit again.