[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: advocating XML
- From: Paul T <email@example.com>
- To: Bob Kline <firstname.lastname@example.org>
- Date: Wed, 14 Mar 2001 10:06:20 -0800
> On Tue, 13 Mar 2001, Paul T wrote:
> > You have used XSLT as a general purpose language. There are some
> > people who do that. They do that for fun, I think, because those who
> > have real-life experience in maintaining XSLT systems should know
> > that it eventually turns into nightmare. For many reasons. Most of
> > the reasons why XSL programming is harmful, have been explained by
> > Mr. Leventhal 2 years ago (and I admit that at that point of time I
> > was blind enough not to understand what he was talking about.)
> Do you have a pointer to Mr. Leventhal's explanation?
> > Not only you'd write this set of converters faster ( because you be
> > using a general-purpose language *which xslt is not* ), but what you
> > produce will be *correct* , easy to *debug* and *really*
> > error-prone.
> You didn't really mean what you just wrote, did you?
1. XSLT is not a general purpose language. ( See first paragraph of XSLT Rec )
2. It takes a long time to write working XSLT ( because complex Xpath is harder
to debug than complex regexpr. )
3. It is hard to debug any part of XSLT, not only Xpath. For example,
there is no way to capture why infinite loop happens, because you can not
just insert 'print' statement here and there. And when it comes to complex
transformations - recursive call-template is very typical thing.
4. When making some change to a complex XSLT program ( which
consists of several modules, for example ) it is almost impossible to be
sure that the "entire complex" will survive the change.
XSLT is good for simple one XML source -> one XML / HTML output.
( Actually, XSLT has a funny problem even *here*, because what
I *really* want these days is XML source -> XHTML output with <BR />
but *not* <BR/> or <BR> ).
XSLT has some beauty in the processing model. Unfortunately,
positioning XSLT as an 'XML processing assembly' is not possible.
So is positioning XSLT as a general purpose language for xml
What point you disagree with ?