Lists Home |
Date Index |
At 2002-01-14 09:09 -0600, Bullard, Claude L (Len) wrote:
>"the following article by Tom Moertl is a succint summary of the
>issues with XSLT that I've heard developers voice and that I've had myself"
>"If there is a lesson to be learned, it's that domain-specific language
>design is hard. The XSLT designers created a language that lacked much of
>the nuts-and-bolts functionality necessary to make it genuinely suited for
>its intended purpose. While the designers doubtless left this
>functionality out of the spec on the grounds that XSLT isn't intended to
>be a general-purpose programming language, they failed to realize that
>even simple document transformations often require a little nuts-and-bolts
>programming. Leaving out the nuts and bolts made XSLT a broken language.
>Lesson: Next time, don't forget the nuts and bolts."
This is an unfortunate characterization.
>So, is worse better? Was simple adequate? Did it matter if XSLT's design
>was top down or bottom up?
I don't see XSLT as a programming language (though I recognize it is Turing
Complete). I see it as a templating language used for the construction of
result node trees from a set of input node trees.
His statement misses the point and prejudices the answer:
They decided that XSLT transformations (i.e., "programs" in
the XSLT language) should themselves be well-formed XML documents.
This is *very* misleading. When you see XSLT as a templating language, the
fact that the syntactic representation of the templates of the result node
tree are expressed in XML syntax is not only meaningful, but practically
mandatory (why invent a new representation of a hierarchical node structure?)!
As for manipulating the text within the nodes, providing a rudimentary set
of constructs to do so satisfies the development objective of a
well-defined and implementable specification in the development timelines,
and lessons learned and experience will help dictate what goes into XSLT 2.0.
Within this context of node tree manipulation (where those node trees
happen to represent well-formed XML documents), XSLT is entirely general
purpose, accommodating any source vocabulary and any result vocabulary, as
tree structures represented by nodes.
I hope this helps.
Training Blitz: 3-days XSLT/XPath, 2-days XSLFO - Feb 18-22, 2002
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995)
ISBN 0-13-065196-6 Definitive XSLT & XPath
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-07-1 Practical Formatting Using XSLFO
XSL/XML/DSSSL/SGML/OmniMark services, books(electronic, printed),
Next public training: 2002-01-18,02-11,12,13,15,18,21,