Return-Path: Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 90213 invoked from network); 27 Jan 2000 22:57:22 -0000 Received: from adsl-63-194-193-146.dsl.snfc21.pacbell.net (HELO ricardo.plenix.com) (root@63.194.193.146) by 63.211.145.10 with SMTP; 27 Jan 2000 22:57:22 -0000 Received: from rrocha (rrocha.plenix.com [63.194.193.148]) by ricardo.plenix.com (8.9.3/8.8.7) with SMTP id QAA07436 for ; Thu, 27 Jan 2000 16:06:39 -0800 From: "Ricardo Rocha" To: Subject: RE: XSP (minus Cocoon plus SAX) success story Date: Thu, 27 Jan 2000 14:59:22 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Importance: Normal Stefano Mazzocchi wrote: > I find myself in the strange situation where XSP is something in between > JSP and E-XSLT.... > . . . > That's how I feel XSP right now: a little squeezed between two big guys > :) Hmmm, unfortunately I've been so _incredibly_ busy these days I haven't had the time it takes to write a well thought out post about this. Damn it! I'll try to present one of the main points now before all of us end up losing our religion: XSP Layer 1 is a *code-generation* vocabulary. E-XSLT is part of a transformation vocabulary. This is a critical distinction! XSP Layer 1 is a code generation vocabulary aimed at producing DOM transformation code. As such, it can be used to generate server pages (as it does now) or to generate E-XSLT extension handlers. Being a DOM transformation language, XSLT provides means of dynamically building nodes. When you say: you're saying "insert an element called 'continuous-function' at the current result tree position" In XSP Layer 1 (being a code-generation, server page vocabulary) when you say: you're actually saying "insert executable code to create an element called 'continuous-function' at the current source program position". These 2 are _not_ the same! Dynamic node building tags in XSLT and XSP cannot be unified. Let's assume we're using XSP's code generation facilities to generate *XSLT extension handlers.* (a perfectly legitimate usage, as XSP doesn't dictate the final "rendition" of the generated source program as a servlet, a Cocoon producer or, yes, an XSLT extension handler). Think carefully: what would we use in this case? or ? Are you done thinking? You see? XSP Layer 1 defines its own namespace, so it comes naturally a beast like rightfully exists. The 2 syntaxes DO NOT overlap in regard to dynamic node creation. The fact that both and yield a comparable end result does not mean their semantics are the same. There's much more to this. I just wanted to present one of the key facts. As long as we (wrongfully) look at XSP as a plain transformation language we'll end up perceiving it as redundant in regard to E-XSLT. As soon as we introduce the code-generation factor, our function becomes clearer. Ricardo