[xuriella-devel] Looking for a general approach

Andrei Stebakov lispercat at gmail.com
Fri Dec 3 17:40:25 UTC 2010


Thank you, David, this is what I was looking for. Any code snippets to
illustrate this?

On Fri, Dec 3, 2010 at 12:00 PM, David Lichteblau <david at lichteblau.com> wrote:
> Hi.
>
> Xuriella's method of stylesheet compilation is roughly like this:
>
>  1. parse the .xslt into memory, using STP.
>  2. transform the STP nodes into a sexp representation
>  3. compile the sexps into lambdas
>
> (then at runtime, i.e. transformation time, the lambdas get invoked).
>
> You can hook into step #2 using xuriella:define-extension-parser.
>
> Quoting Andrei Stebakov (lispercat at gmail.com):
>> I looked into the extension functions and it looks like you can only
>> define them in terms of XSLT language itself. I couldn't find a way to
>> use external (lisp) functions for that purpose.
>
> If your extension is just a macro-like mechanism on top of other XSLT
> facilities, this is all you need.  Just expand into the sexps for the
> XSLT calls you'd like to expand into.
>
> But you can also hook into #3 using define-extension-compiler as a
> second step, allowing you to compile into arbitrary Lisp code.
>
>
> d.
>




More information about the xuriella-devel mailing list