To continue on the mission of data and presentation seperation here is a CGI script (mod_perl ready) that performes XSLT tranformations using the XML::XSLT or XML::LibXSLT modules. 'dynamic.pl' generates XML data within the script, and the other two load XML from static input files to pass to the stylesheet.
The samples are based off the w3schools.com xslt tutorial
Look up entrys listed in one xml document in another xml document to display results
Just for interest, it is possible to do very similar things in jsp using the xsl taglib
according to this document, the standard jstl tag librarys can do this too, I keep getting an exception when I try using it, and from reading it appears that it can be fixed by going to Java 1.5.