Re: [xsl] XSLT Hello World

Subject: Re: [xsl] XSLT Hello World
From: Graydon <graydon@xxxxxxxxx>
Date: Tue, 25 Mar 2014 04:32:20 -0400
On Tue, Mar 25, 2014 at 01:20:17AM +0000, Ihe Onwuka scripsit:
> How much do I have to know about a car and it's design if I just want
> to drive it to work and back?

I don't think that's an apposite analogy.

XSLT is a declarative tree-transformation language _for XML trees_; it's
completely embedded in the XML ecology's design decisions.  It has
meaning only in an XML environment.

Why on earth would anyone even think to create a language that
specialized?  (Never mind a declarative language that gets its type
model and data structures from *different* other things also embedded in
the XML ecology!)

It's a basic result of systems theory that the solution has to be at
least as complex as the problem; has to be able to generate at least as
much variety.  XML is there to solve a really difficult, complex problem
about how to represent arbitrary data structures in a human and machine
readable way for any human language.  XSLT has to be able to manipulate
all of XML.  (Even if we don't usually even *notice* all of XML.)

A vehicle has to manage, somehow, thrust, drag, support for its mass,
and at most three axises of control inputs.  That's a much less complex
problem that properly exists in a much less complex domain of solutions.
Any given problem to which XML is applied -- some specific web site,
some specific document representation, and so on -- is necessarily less
complex than all of XML, too.

XSLT is not; it's got to deal with all of XML and at least some of XML's
environment.  (xsl:result-document, static-base-uri(), etc.)

The idea that pseudo-function node-tests are confusing, well, if you
don't know what nodes are (or that there are nodes!), yes, sure.  Can we
possibly get around some requirement for specialized knowledge?  Not in
the XML problem space, no, we can't.  The problem is too complex to have
a simpler solution.  If we want something that works, which is able to do
the job, we've got a requirement to handle a lot of complexity and that
puts a lower limit on how simple things can be.

-- Graydon, who thinks XML and XSLT are astonishingly simple for the
problem they happen to solve

Current Thread