The fifth version of this site was constructed using mod_perl
and XML / XSLT on Apache 2.x.
We used the Gnome libXML / libXSLT libraries.
The Apache 2.x / mod_perl 2.x combination allowed us to
separate data from formatting.
The main response handler was used to generate XML representing any
data items on the page and context information including bread crumbs and menus.
An output filter then acquired an appropriate XSLT stylesheet from disk which was
used to process the XML into XHTML output.
This separation of data and formatting is extremely pleasing.
In addition, finally getting use mod_perl is quite pleasant.
While we have a love / hate relationship with XSLT (it's almost a joy to use)
it is quite powerful and saves a lot of overly specific Perl coding.
The downside of this transition is having to rewrite the templates yet again.
However, XSLT is quite widely used and supported now,
and it was simple to write a script to yank the core content out of the existing
pages and put it into stylesheets.
This saved a lot of time.
This version of the software was launched in 2007.