OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Enlightenment via avoiding the T-word


> -----Original Message-----
> From: Christopher R. Maden [mailto:crism@maden.org]
> Sent: Thursday, August 30, 2001 10:20 PM
> To: xml-dev@lists.xml.org
> Subject: RE: Enlightenment via avoiding the T-word
> At 11:19 30-08-2001, Fuchs, Matthew wrote:
> >Ah yes - the flat XSL architecture, inherited from the flat DSSSL
> >architecture which clearly didn't understand anything of the 
> value of Scheme
> >(the programming language - not Schema) - which I pointed 
> out (without
> >success, obviously) in my SGML'96 paper.
> I don't understand this critique.  Your paper criticized the DSSSL 
> Transformation Language, which AFAIK was never really implemented by 
> anyone.  XSLT derived almost entirely from the DSSSL Style 
> Language, as 
> augmented by the element, attribute, etc. psuedo-flow-objects 
> that James 
> Clark implemented in Jade.

My paper critiqued the inability to nest templates (or whatever they were
called in DSSSL - it's pretty moot at this point) to match the nesting of
elements in the document.  Both XSLT and DSSSL suffer from this, and if they
arrived at this common architecture reasons totally different - even though
the looking at the contributors to XSLT is deja vu all over again - then I
apologize.  But the critique still applies to both.

> >However, why couldn't XSL have taken advantage of basic principles of
> >programming language design?  The way to handle locality is, 
> again, by
> >scoping.  Even if "name" is a global, if I wish to process 
> it differently
> >when it shows up in "person" from when it shows up inside 
> "product", plus
> >have a rule for default processing, one might write the code 
> shown below (if
> >XSL allowed it):
> XSLT does have a kind of scoping through modes (as the DSSSL 
> Style Language 
> does).  True, the templates aren't *lexically* scoped with 
> modes, but most 
> reasonable developers put all the templates in a single mode 
> next to each 
> other.  (Although some will put all of the templates for a 
> node type next 
> to each other, which is also reasonable.)  In some ways, 
> scoping via modes 
> is a bit more flexible for program readability than lexical scoping.

Modes are better than nothing, but <snif/> it's still not the same.