General comments/feelings about XPath/XSLT 2.0

Forwarded with permission from Mike Brown.

----
From: Mike Brown <mike@skew.org>
To: Jeni Tennison <jeni@jenitennison.com>
Date: Wednesday, September 18, 2002, 9:23:01 PM
Subject: [off-list] empty-node-set() and two point oh

Sorry for the one month delay in my reply. I'm cleaning out my mailbox
and taking care of things like this that I let slip.

We were talking about XPath/XSLT 2.0. I had politely accused you of being an
advocate of the new specs on xsl-list, because you occasionally offer 2.0
solutions to 1.0 problems, even there's no reason to believe the person is
using 2.0 yet. You replied that you actually feel the new specs are dreadful,
and pointed me to your public arguments with Michael Kay on this very topic.

Jeni Tennison wrote:
> Mike Brown wrote:
> > My opinion is just that they're daunting, an order of magnitude more
> > complex than their predecessors, for what seems to me to be
> > relatively little gain. It may belie my ignorance and inexperience,
> > but I tend to agree with the adage that Less is More. I suppose it
> > is all relative, though.
> 
> Have you written this to the public-qt-comments@w3.org list? I don't
> think that I've seen you post there, and I strongly encourage you to
> do so. I think that too many people are taking a look at the WDs,
> throwing their hands up in the air in despair (my reaction!) and
> walking away. Before we walk away, we need to tell the people
> responsible for the WDs that we're doing so, why we're doing so, and
> what they need to do in order to stop us. If they don't receive
> comments they will assume that everything is OK and just carry on down
> the road that they're going. The more voices they hear, the more
> likely they are to pay attention to them.

I'm sure I'll eventually be able to offer a more informed and less emotional
reaction, but at this point, I don't think I can articulate the details of my
discomfort with XPath/XSLT 2.0 well enough to make a good case against it. You
summarized my feelings well, though (take one look, throw hands in air, walk
away). I guess maybe that's the case against it right there? Nevertheless, 
I'll try. Feel free to post this to the public-qt-comments list.

All I can really say with certainty is that until the villagers gather outside
with torches and pitchforks, at least 2 of the principal developers of
4Suite/4XSLT are not at all interested in supporting XSLT 2.0. Supporting
XPath 2.0 independently is a remote possibility, but the ties to XML Schema
are what puts us off the most, I think.

I can't speak for the other principal developers, but my recollection is that
one of them sees XSLT 2.0 as an interesting, if flawed, challenge to his
amazing coding skills and might give it a shot if the mood strikes him; and
the other probably could go either way -- he's a wrench-it-in-now,
deal-with-what-breaks-later kind of software developer.

At any rate, there's not much motivation to implement 2.0 when none of our
customers nor any of the other companies we've worked for really seem to need
many, if any, features that aren't in 1.0, aside from the elimination of 
result tree fragments.

What can the WGs do to stop us from walking away? I don't know, but shorter
and better-organized specs would be a start. They should consider separating
the implementation details from what a user needs to know.

I mean as an implementer, I can appreciate things like spelling out what
conditions create what type of errors, and very detailed, accurate, verbose
explanations with very specific terminology to describe the minutia.

But take, for example, the section on format-number(). As a user just trying
to remember the format of the arguments so I can format a number in my
stylesheet, I pore over the 3000 words(!) in that section only to come away
*still* scratching my head as to how the heck to use the stupid function.

Another example, just a minor nit: explaining push vs pull processing. That's
all good for people to know, but it's a design pattern, not something that
needs to be wasting space in the spec. "Why did I just read that" or "why is 
that being explained here, in between that and this" should not be questions
I am tempted to ask.

Scroll down a little bit and the sheer volume of terminology being introduced
is overwhelming. How is someone supposed to read this and "get" it? XPath 1.0
wasn't arranged all that well, but at least it was concise and requires little
more beyond the spec itself than a few more examples and diagrams before
someone can understand it -- "Here's your data types, here's your tree model,
here's your syntax and semantics, here's your function library."

These new specs are going to require *volumes* of supplementary material
written in the Common Tongue to get even experienced XPath/XSLT 1.0 users up
to speed with it. On the other hand, I suppose it gives writers of articles
and books on these subjects something to do. SGML, anyone?

And I am not even going to touch Schemas. The mere thought that I need to
become entrenched in that mess just to understand and use the 2.0 specs...

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  resume: http://skew.org/~mike/resume/

----

Received on Wednesday, 18 September 2002 18:13:46 UTC