RE: XSL controversy

Subject: RE: XSL controversy
From: "Sebastian Rahtz" <sebastian.rahtz@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 8 Aug 1999 14:09:20 +0100 (BST)
Sean Mc Grath writes:
 > Sure. Six off the top of my head that would be non-trivial to implement
 > in any declarative syntax:

Um. I can see why you would not implement these using XSL for several
reasons, but because of the declarative syntax? I would (rashly) claim 
you are confusing things

 > 1) The Irish Parliamentary Debate record is 3.5 GB of XML. We publish
 > this to HTML and Folio Views. Part of the publishing process is to
 > take each speakers name, pass it through a normalizer and look up
 > the speakers C.V. in a MySQL database. The C.V. details become part
 > of the generated HTML/FOLIO. The original XML is never changes
 > because it is quasi-legal material.

this is a good example. you wouldn't do this today in XSL, but what
about it could not be expressed in the syntax? If this was all in an
Oracle context, you might well use "id(@name)" to get the speaker CV,
and have Oracle worry about how to get hold of it.

 > 2) The PricewaterhouseCoopers manual of accounting is approximately
 > 15,000 interlinked HTML pages. Part of the down-translation from
 > XML is to create a "faked" collapsible table of contents to appear
 > in a HTML frame. This, combined with some dense Javascript creates
 > the "illusion" of a collapsible/expandable table of contents using
 > IE 4/5.

again, what is Python buying you over XSL? your work is being done in
embedded Javascript, which is the same with whatever generator

 > 3) The Financial Information Database is 1.5 GB of XML published
 > to winhelp, mediaviews, folio 3, folio 4, HTML and Lotus Notes. Part
 > of the publishing process is to grab product details from the XML,
 > root around in the filesystem for an Installshield template,
 > modify the template, invoke Installshield and generate
 > distributable media for the product.

ok, now you are talking dirty. I'll take this one as a good non-XSL
application

 > 4) A pre-publishing QA suite performs "fake" transformations
 > on XML documents in batch mode. It examines the result for
 > anomalies and sends e-mail to the nominated person if anything
 > worrying turns up.

I cannot quite visualize what these checks are, so I'll pass on that

 > 5) 0.5 GB of accounting rules and regulations marked up in
 > XML contain extensive cross-references to Irish and English
 > legislation. As part of the publishing process, a
 > database of known anchors is assembled as a first pass.
 > In the second publishing pass, non-resolvable links are removed.
 > The result is that for a client in the UK, the links
 > to UK legislation work and the links to Irish legislation
 > have disappeared. For a client in Ireland, the situation
 > is reversed.

not sure where this differs from 1) and 2) in terms of complexity

 > 6) An XML micro-document based publishing architecture
 > is based on a rack mounted network of pentium PCs
 > running Linux. Downtranslation of gigabytes of XML
 > from a shared network drive is distributed across all
 > processors based on configuration information stored
 > in a XML based publishing control system.[1]
I'd say this irrelevant to the subject; its not an example of document 
transformation is appropriate or inappropriate for XSL

 > I can see places in all six systems above where XTL
 > can save me time and money but it will never replace
 > Python 
I might agree, but your examples don't altogether convince me

 > (and I don't think the designers intended it to --
 > especially since a turing complete escape hatch in the
 > original XSL hit the showers a long time ago).

the extension facility provides something. not the world, I agree

 > A pure exercise in "systems programming"
 > for self confessed engineers like me. However, it is stuff like
 > this that differentiates products in the marketplace either in
 > terms of features or speed to market.
Your applications seem to relate chiefly to scale and to speed, rather 
than features; therefore its an implementation question, not one of 
declarative syntax. XSL is not, after all, a `product', but a
specification which a product may implement.

Don't get me wrong, I am not trying to back myself into a corner as an
"XSL-fits-all" weeny. Still just curious.

Sebastian


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread