Friday, September 01, 2006

Web 2.0 needs online XSLT tranformation engines and XSLT 2.0 generated tagclouds

XSLT 2.0 stylesheet that produces a tag cloud

A few weeks ago I produced an XSL stylesheet that could produce a tag cloud from an RSS 2.0 or Atom feed. This made use of a technique called Muenchian Method of grouping (named after Oracle man Steve Muench). I had read that XSLT 2.0 contained native grouping functionality, (which should be easier to understand), I thought I'd investigate producing a tag cloud with an XSLT 2.0 stylesheet. For some reason, Xalan, my favourite XSLT processor does not yet properly support XSLT 2.0 therefore I had to use Saxon to do the XSLT 2.0 processing. I discovered a, servlet based, demonstration Online XSLT 2.0 Service hosted at W3.org (which also uses Saxon).

Click here for the XSLT 2.0 stylesheet I have written that produces a tagcloud. It makes use of XSLT 2.0's <xsl:for-each-group> element instead of the Muenchian Method. The iframe below should show a tag cloud that is the result of an XSLT transformation of the Recently Added and Updated Feeds from Microsoft RSS 2.0 feed, making use of W3's online XSLT 2.0 service. [Incidentally, the online service also supports passing parameters into the XSL transformation].

Why did I do this?

I thought that using an online XSLT transformation engine would be a neat way to produce tag clouds and such for people using free hosting services like Google's blogger.com. I was thinking that I could host the XSL on Google Pages. The GData powered Blogger Data API is reported to support entry categories, unfortunately I have not yet got this to work properly yet. In fact it, worse than that, it killed the test blog that I was experimenting with, I now get We're sorry, but we were unable to complete your request.

Why Web 2.0 needs free online XSLT transformation engine services

You get the idea by now, if we make use of online XSLT transformation services and free hosting services which produce XML we can really start to use the web as a platform. It is nice to have your own server to tinker with but I would argue that it should not be necessary in the age of Web 2.0.

What is great about all this "Web 2.0" stuff, is that we already have all we need to accomplish it. We do not need to wait for any new technologies, it is already here, and we just need reliable services to create new ways to make use of the web. I think that it would be great if Google or Yahoo or somebody hosted a free, high performance online XSLT transformation engine. Blimey, they could even advertise on the front page and I wouldn't care!

Granted, my XSLT tagcloud example might not have brought you around to my way of thinking yet so here is another powerful example where an online XSLT transformation engine would be superb.

Everybody loves AJAX at the moment but there are those painful same domain XMLHttpRequest problems that could require the use of an application proxy and have made On-Demand Javascript and JSON so popular (as used in Yahoo's JSON callback technique). [Incidentally, Google's AJAX Web Search also uses this technique; I will speak no more of this in case I get in trouble ;)].

So you want to write a super duper, AJAX application and host it on a free service. HTML, CSS and JavaScript can be hosted anywhere but how do we get around those pesky XMLHttpRequest problems if we are relying on free hosted services? This is where an online XSLT transformation engine would come in very handy. So you want to process some external XML but it isn't available in JSON format? The answer is transform the XML into JSON!

I found an XSL stylesheet that could convert XML into JSON on the eBay developer site. eBay even host an online XSLT service but it is too restrictive to use freely.

Hosting an online transformation engine would be a very good way for a company to showcase their XSL processing hardware (hint, hint, IBM please take note).

Now I know what we need, it is quite frustrating that it isn't already available. If you know different and can tell me where I can access a free, high performance, unrestricted, reliable, online XSLT processor engine please let me know!

4 comments:

ismjml said...

Web 2.0 needs free online XSLT transformation engine services

I totally agree.

I have posted requests related to yours in other discussions (this and this).

No, unfortunately I don't know of any online XSLT engine other than the W3C one neither.
Note: Comment imported. Original by Edward at 2007-03-24 16:56

ismjml said...

Like it very much but i kinda have a problem...

I am using Hippo CMS with cocoon for a project and the thing with this is that it only accepts XSLT 1.0



Is there any way to generate a tag cloud using XSLT 1.0?
Note: Comment imported. Original by Kat at 2007-07-05 08:56

ismjml said...

Yes there is. XSLT 1.0 tag cloud generation, it is just that using XSLT 2.0 in this case is much easier.


Note: Comment imported. Original by markmc website: http://content.mark-mclaren.info/ at 2007-07-05 16:47

Brad G said...
This comment has been removed by the author.