Michael Kay wrote:
XSL is NOT easy if
you want to code professionally in it. It IS easy to use XSL
but not well. ....
I would agree with this entirely. But then, I think it's true of every other
programming language as well. There is an enormous amount of bad
unmaintainable code being written by self-taught amateur programmers, in all
sorts of languages, and many of them are attracted to languages like XSLT
that look easy at first sight.
If by "easy" you mean "the incremental cost of adding or modifying
functionality stays constant or goes down as code size increases" then I
would agree that by this measure XSLT is "hard" for the simple reason
that it lacks the features of object-oriented languages that make them
"easy" by this measure (re-use via subclassing, interfaces, ability to
do more or less complete unit testing, deep IDEs for code creation and
management, generation of code documentation).
XSLT is optimized for more or less direct mappings from input to output
and for that it is definitely "easier" than doing the same thing in
something like Java. But as soon as you're trying to do more
sophisticated data processing it becomes much harder than doing the same
task in an object-oriented language would be. Not that it can't be done,
of course, and XSLT 2 makes some things much easier than they were in
XSTL 1. But XSLT provides no really effective way to implement the sort
of deep abstractions that make some problems much easier to solve.
In particular, I think a lot of people (myself at one time) assume that
any processing applied to XML source is best done with XSLT but this is
clearly not the case, especially when the XML is just a convenient
serialization format for much more complicated objects rather than a
representation of a "document" in the generic sense.
W. Eliot Kimber
8500 N. Mopac, Suite 402
Austin, TX 78759
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>