Max's XSL tutorial

updated 23 Apr 2001

This tutorial was written in XHTML using amaya, then converted to PDF using an intricate mixture of really neat tools: PHP, JavaScript, Dom. Cool stuff really...

Nah, just kidding. I used XSL. Well, I had to, didn't I? No, seriously, it really is useful, trust me ;)

Anyway, here's the style sheet that takes the XHTML file as input. Basically every h1 starts a new slide, author and title informations come from meta tags in the header, and the table of contents with links is automatically generated.

I used Saxon+FOP to produce the PDF file. As FOP doesn't yet handle images correctly, I've had to hack the HTML, adding a 'width' attribute to IMG which is used by the stylesheet to produce something decent in PDF, but as a result, the pictures in HTML look very bad. Hopefully FOP will implement fo:external-graphic correctly soon, or I could try and convert all the graphics to SVG. Now that would be cool.

This tutorial is dynamic. It will be updated, corrected or improved as implementations work better and as I present it again. Planned improvements include a second level of headings, and actually have the graphics as SVG. Watch this space.

Also note that the actual presentation of this tutorial shows stuff that isn't in the slides like demos of software (as well as myself talking, of course ;).