XM-Hell

ajt on 2002-12-22T20:19:07

Today hasn't been a total success! This morning I tried to have a shower to discover that only freezing cold water came out of the shower head. Shortly after giving up on a warm shower we discovered that the shower was leaking. Thankfully we only rent, so the landlord has to pick up the cost of the plumber coming out to isolate the shower (the isolation valves had also seized up), so that we could turn the water mains back on.

Surprisingly things have got better, so I can't complain that much. I've finally finished the first draft of an article I promised brian d foy ages ago. It'll need working on, but it's a more complete story than the notes I've been sending him for the last few weeks.

I've also done some more work on my RSS module, adding more documentation, and extra links, ready for a beta launch sometime in January before I go back to work. I'm fairly happy with the current code, I just want to test it with the next version of XML::RSS, to make sure all it fine.

My own module still has at it's core and evil hack, I'm converting RSS versions via Perl using XML::RSS, which I feel is an un-pure solution, and so I've decided to push on and try for a pure XML solution, by writing XSL-T style-sheets that convert all 7 know versions of RSS into one "simple and neutral" format that can then be converted to XHTML with one simple style-sheet. Some recent stories, have fired my desire to get this done.

  • What is RSS? by Mark Pilgrim, which is a good introduction to RSS, with some Python examples.
  • Simple RSS with Perl by brian d foy, another introduction to RSS with Perl examples
  • Namespaces and Stylesheet Logic by Bob DuCharme, author of XSLT Quickly, discusses the evils of converting XML documents with name-space via XSL-T.
  • Content Syndication with RSS by Ben Hammersley due out in March 2003, has also added fire, as I hope be able to prove my suggestion to Ben of using XSL-T instead of brute-force programming.


or to read RSS via email...

merlyn on 2002-12-22T23:55:43

check out my column on same.

Re:or to read RSS via email...

ajt on 2002-12-23T18:39:12

As ever an excellent column, with some good ideas in it. I also note that you are given a credit in the XML::RSS documentation.

My main gripe with RSS, is that there are seven versions of RSS, and they are not directly interchangeable.

  • There is the original Netscape namespace version (0.90 - with 3 revision levels)
  • The UserLand family of simpler XML, with structures for use in a blogging environment (0.91, 0.92, 0.93, 0.94 and 2.0)
  • Finally there is the RDF version, which is more verbose and complex (1.0)

Just to add extra fun, the original Netscape version and the similar RDF version have the news stories (item) and images (image) outside the channel tag, but the UserLand family keep them inside the channel!

Alas Perl's XML::RSS can't handle all the versions just to pour on even more pain, and it has a few bugs - that are after a long hiatus being fixed.

While I'm off work over Xmas I plan to write a set of XSL Style Sheets to convert all versions to one single meta-version, and hopefully back out to the sub versions. My main goal is really to be able to accept any version as input, and generate XHTML for display (or even as you suggest email), being able to transform back would then just be icing on the Xmas-cake!

According to Mark Pilgrim author of What is RSS? I'm insane to try!