Re: [xsl] XSLT compiler and syntax extensions

Subject: Re: [xsl] XSLT compiler and syntax extensions
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Thu, 18 Nov 2010 11:15:11 +0000
You're right of course - this is how compilers get bootstrapped. You write a compiler in XSLT 2.0 that compiles XSLT 2.0 stylesheets into XSLT 1.0 stylesheets, then you use an existing XSLT 2.0 processor to compile this compiler into XSLT 1.0, and then you have a compiler that's written in XSLT 1.0 and can execute in browsers. Easy really. Except for the data model issues!

Michael Kay
Saxonica

On 18/11/2010 10:29, Emmanuel Bigui wrote:
On Thu, Nov 18, 2010 at 1:45 AM, Brandon Ibach
<brandon.ibach@xxxxxxxxxxxxxxxxxxx>  wrote:
The recent mention of an XSLT optimizer reminded me of a project I've
been working on, here and there, for the last year or two.  It's an
XSLT compiler, by which I mean a pure XSLT 1.0 stylesheet (using no
extensions) that can take a stylesheet using certain XSLT 2.0 features
(and some other extensions) and "compile" it into a pure XSLT 1.0
stylesheet.  Both the compiler and its output should be able to run in
any XSLT 1.0 compliant engine.

While I understand that it's interesting to have a compiler that would run in a pure XSLT 1.0 processor, would it not be also useful, and much easier, to write the compiler in XSTL 2.0? (or, actually, in any language...)

The need is to be able to write XSLT 2.0 stylesheets and have them run
in a 1.0 processor; I'm not sure the fact that they run "as is", ie,
that the compiling happens "on the fly" in the production environment,
is the same level of priority.

If I can write an XSLT 2.0 stylesheet, test it in an XSLT 2.0
processor, and then be guaranteed the same result when compiled in 1.0
and run in a pure 1.0 processor, then the extra compiling step (that
can be part of the development process) does not seem like a great
impediment?

Regards,
EB

Current Thread