can XML-XSL do what Lisp and s-expressions do?

Subject: can XML-XSL do what Lisp and s-expressions do?
From: agomez@xxxxxxxxxxxxx (Alberto Gomez Corona)
Date: Wed, 26 Jan 2000 12:18:25 +0100
Perhaps this comment is too philosophical for this day-to-day oriented forum but.....Maybe some crazy brain can be interested...
 
As a lisp programmer for joy of it, I have ever be fascinated by the simplicity and power of Lisp. A Lisp function can return another lisp function. Because Lisp programs are in fact a kind of lisp data structures, called s-expressions (they are in fact lisp trees) the language is simple, and can express any kind of data with the minimal syntax constraints. The capability to process such data is unbeatable, since lisp was done for it.
 
Sometimes I dreamed on Internet being populated by s-expressions, codifying almost any human need and offer, usingin a homogeneous agreed semantics. The language to process such expressions, of course would be lisp, with added HTTP access, instead of ASP, JSP, Java , _javascript_, Perl, XSP, ISAPI and John´sAPI.
 
I though XML as an usurpation of the natural role lisp could do easily on Internet, all for the shake of human readability. because:
 
XML MORE readable than Lisp
BUT
XML LESS consistent && XML LESS coherent && XML LESS flexible THAN lisp.
 
At last, the big business of XML is Program to Program communication, BtoB, where human readability has no significant role.
 
Ah! if Tim Barners Lee would have chosen an s-_expression_ based presentation language, not HTML, form the SGML world.....
 
Thinking on.. the auto-coherence of Lisp, I though about the possibility of a XML general purpose language, to manipulate XML entries and to generate XML output... XSL is not so flexible.. or... yes?
 
for example, XSL can not manipulate two XML files at the same time..but.. if I have a document formed by the sum of all the documents to process... Can I do with XSL and with such arrangement what can I do with other general purpose XMLDOM compliant language?
 
maybe, for some tasks, like matching, It can do it better. And If I use embedded scripts (<xsl:eval> like elements) I can do many more things, and not artificially.
 
the point is to create a document with the sum of the documents to be processed. If I have two "parameters" (XML1 and XML2):
the process would be:
1)XML3=XML1+XML2
2)XSL(XML3)-> XML4 or XSL4
 
N)next step..
 
X)until you reach a final XMLx which is the response to your problem.
 
I foud:
-  XSL is a good XSL generator. We at Ibermatica have developed a HTML -> XSL converter which is done by using XSL . details are not relevant here (little code needed).
 
- XSL is not similar to Lisp. It´s more or less a Prolog like, rule based language mixed with procedural sentences; Something strange for any programmer, but the XSL philosophy can be adopted as well as was object oriented programming in the 70´s. (old programmers: remember how difficult it was).
 
- XML and his language, XSL, is a less coherent couple than s-expressions and lisp, since it is necessary to program under a shell made of other language (such is _javascript_). Moreover, to have enough power, it is necessary to use embedded scripts.
 
We are involved on a project which intend to match XML documents about offers and demands, and maybe we can cut the development time by 70% using this approach.
 
Please don´t be cruel with incoherences and possible shortcuts that I haven´t found, but I´m writing while I thing on it.
 
 
Current Thread