Web Spreadsheet + XSLT = Unlimited Possibility
Many people use web spreadsheets as if using their desktop counterparts: to keep contacts, track progress, book-keeping, etc., with the exception that they’re more accessible. However, with the help of a technology called XSLT (Extensible Stylesheet Language Transformations), web spreadsheets can really be something out of your imagination.
XSLT is a technology dating back to the late 90’s. According to the specification, it is “a language for transforming XML documents into other XML documents”. But it has never been limited to generate XML documents only. At least from the examples given, it can be used to generate VRML documents which is non-XML.
So, how is the whole thing related to web spreadsheets?
Spreadsheet is basically a two-dimensional array of data, which can be represented in XML easily (example here: [orig] [XML]). One can create or download an XSLT stylesheet and transform the data into a format that is readable by other computer programs. That could be a mass-mailing engine reading vCal feeds, FireFox reading RSS live bookmarks, or Google Calendar reading iCal files. If you are a GIS zealot, you may be interested plotting spots and paths onto Google Maps. With the multi-user, live editing capability of web spreadsheets, you now have a collaborative, live data backend on the web for many different kinds of services.
Following are some examples can be created by web spreadsheet plus XSLT, can you think more?
1. KML for Google Maps and Google Earth
- It is how GIS zealots using EditGrid!
Valery’s Spreadsheet: http://www.editgrid.com/user/valery35/Locations
XSLT Stylesheet: http://www.editgrid.com/doc/xslt/Locations.paths.kml.xsl
KML file: http://www.editgrid.com/doc/xslt/Locations.paths.kml
Here is what you get on Google Maps: http://maps.google.com/…/Locations.paths.kml
2. iCal for Apple iCal
- Import spreadsheet to calendar programs - besides Apple iCal, it also works with MS Outlook/ Google Calendar and Mozilla Calendar!
Spreadsheet: http://www.editgrid.com/doc/xslt/EditGrid_Release_Schedule
XSLT Stylesheet: http://www.editgrid.com/doc/xslt/EditGrid_Release_Schedule.ics.xsl
ICS file: http://www.editgrid.com/doc/xslt/EditGrid_Release_Schedule.ics
Result on Google Calendar: http://www.google.com/…/EditGrid_Release_Schedule.ics
3. RSS Live Bookmark for Mozilla FireFox
- With this, together with remote data fetch, all data on web can be read by RSS…
Spreadsheet: http://www.editgrid.com/doc/xslt/Bookmark
XSLT Stylesheet: http://www.editgrid.com/doc/xslt/Bookmark.rss.xsl
Result in Google Reader: http://www.google.com/reader/…/Bookmark.rss
4. Music Playlist for different music players
- Which player you’re using?
Playlist spreadsheet: http://www.editgrid.com/doc/xslt/Songs
For Winamp, XMMS, Realplayer and Window Media Player - Try this:
XSLT Stylesheet: http://www.editgrid.com/doc/xslt/Songs.m3u.xsl
Result: http://www.editgrid.com/doc/xslt/Songs.m3u (P.S. M3U also support many other different players)
For other playlist formats, like M3U Ext., PLS, SMIL and XSPF, goes here and you will found all these formats available.
5. FusionCharts
- Well, we never limit your choice to create charts
Spreadsheet: http://www.editgrid.com/doc/xslt/Oil_Production
XSLT Spreadsheet: http://www.editgrid.com/doc/xslt/Demo_of_My_Data_Format
Result: http://www.editgrid.com/doc/xslt/Oil_Production/World!E1?content-type=text/html
Let see how our users use EditGrid with XSLT, with their expert knowledge + imagination, here are some examples of what happening in EditGrid commuity — showing the unlimited possibility:
http://bbs.keyhole.com/…Number=593848
http://semant.blogspot.com/../adding-triples-using-editgrid.html
http://bbs.keyhole.com/…/Main/609661/
http://www.digitalgeography.co.uk/…the-possibilities-are-endless/
Del.icio.us | Digg | Stumble it! | reddit | Facebook

January 26th, 2007 at 5:55 pm
Something that would really add to the power of your XSLT driven data formats (which are already great of course), is the ability to pass parameters in.
In should be pretty easy to squirt them straight through from the URL, but I wonder if there might be some security concerns?
If you stick this in, I’ll show you how to create a simple content managed site, all driven from one spreadsheet
February 11th, 2007 at 1:06 pm
I completely agree. That single change would get you complete JSONP support in a flash (I have already gone as far as static JSON with padding goes, getting ready to publish now). Allowing me to inject the value of the query parameter “callback” (verbatim) into the output (just prepending it to the page, in this case) would equate full JSONP support.
As security concerns, allowing URL based data injection should of course not be done haphazardly for any content type, or you would have serious XSS holes to cover up. For the JSONP case, the story would be in part similar, but allowing only data matching /^[\[\]()a-z0-9. ]+$/i should keep it safe and useful for text/javascript* content types.
April 14th, 2007 at 2:53 pm
So does editgrid come with an xsl tranform engine?
April 14th, 2007 at 4:37 pm
Ok cool I see how there is some kind of xsl transform engine with MDF.
April 30th, 2007 at 9:49 am
Wanted to compliment on your site, it looks really good .
Hank