Subject: Re: [dssslist] readable syntaxes (was: Markup Technology Position)|
From: Norman Gray <norman@xxxxxxxxxxxxxxx>
Date: Fri, 15 Jul 2005 18:02:09 +0100
This is a favourite discussion of mine as well, though on the other side of the wall.
Having developed hands-on training courses and taught both DSSSL and XSLT to the audiences who are responsible for producing day-to- day results from XML (many of whom are not programmers), treating XSLT as a templating language and DSSSL as a programming language makes XSLT *far* more accessible to non-programmers.
Heedless of the fact that XSLT is, itself, Turing Complete and can be used as a programming language in edge cases where simple templating is insufficient, so much of the work with XSLT is simple templating of the result tree in template rules.
Your point is strongly made. This is a perspective I keep forgetting, since my own experience has been the opposite, and most of the times I've used XSLT it's felt much more like programming I've been doing, and not templating. That is, the XSLT documents I've written, in my recollection, have more text in tags, and moreover tags in the xslt namespace, than they have text in element content.
The sort of syntax I was talking about is indeed rather poor for anything that's perceived as a document, by which I mean something where the content is the important thing, with the markup as sugar. That `document' category would I think include XSLT where the focus, or user's perception, is that it is a template.
I expanded on this in , which was one of the spinoff threads in that xml-dev discussion (ie, not part of the thread I pointed at yesterday).
I think it's great, but when I announced it on xml-dev a while ago it took off and soared on its thermals in much the same way a brick does. Oh well...
Now, if LX: was merely an editing fagade ... merely the user interface to the editing of an XML document ... *that* would be entirely acceptable in my eyes. Feed it XML but see LX: and export only XML and no alternative syntax.
That was, in a sense, what I was aiming at. The Lx thing started off as a tool to translate files in the Lx syntax into ones in XML instance syntax, for feeding into an XSLT engine. Then I realised that the intermediate XML didn't matter, and what was important was that what the XSLT engine really read was not XML, but a SAX stream. So all that the Lx stuff is, is an alternative way of producing such a stream.
In exactly the same way (and indeed this is what led to the SAX-is- key thing), DSSSL is defined as a way of transforming groves into groves: the deserialisation before, and the re-serialisation after, aren't part of the issue. Another (disjoint?) part of the network of threads is at .
So the Lx stuff wasn't for `documents' or `XSLT templates' (things with more content than elements), but for `XSLT programs' (things with more elements than element content), and wasn't for interchange, but for plugging your transformation script into your transformer.
Thus I can indeed imagine (but wouldn't have the GUI skills to write) your excellent idea of a funky editor, which put a SAX stream onto your screen in whatever format you liked, put it onto disk in whichever format it liked, or at the push of a magic button pushed the stream to your transformer as the SAX stream itself, which is the only thing that matters. The old editor described in the posting  is responding to sounds very much like what you suggest.
I write very little DSSSL these days, and my major DSSSL project has finished its purpose, but the spec's inspired emphasis on the the _abstract_ structure of the post-parse information, and the insights this gives you into what is (un)important where, are lessons I have repeatedly applied to very different types of structured information.
 http://lists.xml.org/archives/xml-dev/200404/msg00763.html  http://lists.xml.org/archives/xml-dev/200404/msg00751.html
-- ---------------------------------------------------------------------- Norman Gray : Physics & Astronomy, Glasgow University, UK http://www.astro.gla.ac.uk/users/norman/ : www.starlink.ac.uk