[ZPT] XSLT version of TAL, pushing caching to the client

Tino Wildenhain tino at wildenhain.de
Fri Jul 22 17:34:16 EDT 2005

Am Freitag, den 22.07.2005, 15:06 -0400 schrieb Brad Clements:
> (leaving this on the zpt list)
> On 22 Jul 2005 at 15:30, David Pratt wrote:
> > That could be true. I am not sure when you to go from content to zpt to 
> > xml + xslt + css that it would be faster than something already 
> > rendered in xhtml + css (and js). With what I am thinking the way 
> > things may work in future, you may not have to worry about zpt at all 
> > and mod_python is very fast - at least this is where I see things 
> > going. There is even an effort called mod_zope underway.  My experience 
> > with xslt is that the templates can also be complex depending on the 
> > output. Docbook xsl come to mind for me and many people have not 
> > embraced xslt despite it being really great. It is just different and 
> > unfamiliar to many. I think what you are speaking of is very 
> > interesting, for sure and I do not want to discourage you in the least. 
> >   I remember the pipeline ideas BitFlux had for its CMS and also being 
> > excited about the possibilities that it brought to the table. There is 
> > all kinds of room for interesting ideas and exploration to satisfy 
> > anyone in zope ;-)
> > 
> I think my point is being missed.
> I'm suggesting TAL2XSLT as a "pre-processing step" for templates, not a 
> rendering step for each web request.
> Yes, XSLT is difficult for some folks to understand. So, let them use TAL 
> and METAL to describe the layout of their pages.
> Then, take those TAL/METAL  files and convert them to XSLT templates. 
> This conversion would be done only when the templates change, not on 
> every web request.
> Then, on each web request some "xml blob" is created to serve as the 
> "TALES context" and fed to the previously generated xslt.
> The "fed to xslt" step either occurs on the server (for old clients), or on 
> the client.  When done on the client, the client can cache the xslt.
> Ultimately, you're having the client cache the un-rendered page template, 
> then on each request just sending back the appropriate TALES context.
> --
> Depending on how your templates are structured, sub-page components 
> could also be cached. For example, the infoset that describes the 
> navigation hierarchy for your site could be completely cached on the 
> client.
> Example, if you have a "blog roll" that appears in a column on every page 
> of your site, that blog roll  would be cached on the client. It would not be 
> re-rendered of every web request.

I wonder what this buys you other then the well recognized XSLT-label.
XHTML+CSS where the XHTML is produced by simple and understandable TAL
can do all you would need. But thats just me...

More information about the ZPT mailing list