[Grok-dev] guidance for incorporating XSLT as alternative
templating mechanism?
Jim Washington
jwashin at vt.edu
Wed Dec 19 15:34:42 EST 2007
cstrong at arielpartners.com wrote:
> I would love to get a few pointers on how to go about adding XSLT as an
> alternative templating mechanism.
>
> My plan is to always emit and consume XML via the Amara library.
>
> Sometimes the XML will be sent to the browser which will use
> XSLT/javascript/xpath to operate on it.
>
> Other times the XML will be transformed via XSLT on the server side.
>
> I am aware I am sacrificing efficiency for the sake of portability and
> standards-compliance.
>
> I like the idea of adding xslt templates alongside zpt and genshi using
> another file extension (e.g. ".xsl")
>
> Perhaps the XSLT template mechanism knows it needs XML so it requests a
> suitable adapter?
>
>
Hi, Craeg
I would use an IResult adapter. In
zope.publisher.http.HTTPResponse.setResult, Zope's publisher queries for
an IResult multiadapter and will use that instead of the default
publishing mechanism if available. Instead of a unicode string, your
application outputs a view-ish object that is adaptable to IResult, and
you write an IResult adapter to take care of it from there. The adapter
has to set the content-type and content-length headers into the response
and do any appropriate encoding, finally outputting a tuple of string
(output,). Inside the adapter, you may do any transforms you want on
the object.
I am working on some alpha code that's not quite ready for prime-time
that uses this hook for doing something similar with lxml. Let me know
if you want to see it.
-Jim Washington
More information about the Grok-dev
mailing list