Re: [xsl] How Can I Reference previous XML in Subsequent Iterations?

Subject: Re: [xsl] How Can I Reference previous XML in Subsequent Iterations?
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 18 Apr 2007 20:27:17 +0200
Chris M. wrote:
Wow. Thanks for all the help!

I'll have to digest it a bit later on, but this sure beats the sound of crickets chirping I've had on other forums.

Someone posted in another thread that "XSLT is dead," but I think that it is really just not being explained/evangelized well enough (which is what is making XML in general such a tough sell).

Hmm, for about eight years I have been working with XML and related technologies. There are currently very few tools around there, especially in the enterprise market, that ignore XML. With XSLT, more and more enterprise products and frameworks (BEA, SAP, StreamServe, Cocoon, MS BizTalk, .NET, Java), end-user products (MS Word, OpenOffice, Adobe) and browsers (IE, Firefox, Mozilla, Opera, Safari) all offer some kind of XSLT support.


With XSLT 2.0, the story is a bit different, but it's only an official recommendation since January 2007, so you should give it a couple of more months/years.

People like me, who have a solid background in computer science, aren't very common. I can hunt down information and sort through chaff, but your average Web designer can't do this as easily. It can take them years to build up a reference schema, so to speak, and XML/XSL is presented as a completely new "paradigm," with no connection to their known schema. As has been pointed out, the thinking needs to be different. XSLT starts with the assumption that the learner has a fairly solid understanding of XML first (especially namespaces -Excedrin Headache #2), which is a brick wall barrier to many people who would otherwise enthusiastically embrace the advantages of XSLT.

I'm no XSLT expert, but I have already developed a site that does automatic transforms for WML 1, WML 2 or XHTML, depending upon the user agent. When I show this to people who do regular Web sites, their jaws drop. They would LOVE to be able to do it. However, when I start explaining how I do it, they get all googly-eyed and start snoring.

The problem is to bring XML to the Proletariat. Not sure how this is best handled. W3schools has a fairly good tutorial, but even that is fairly light on the "big picture."

Interesting. I don't believe that XSLT, nor XML is catered for the 'Proletariat'. I hope it will remain in the area of professionals for a long time to come (unfortunately, this is not true anymore for several years now, considering the garbage coming out from XML-esque programs and tools that are not even close to being well-formed etc, let alone the XML-like programming in PHP, Perl etc, were string-concatenation and string-comparison are the main tools for working with XML, emphasizing that too many non-pros are now transforming the XML Lake into XML Moors).


It is true that it helps if you understand XML quite well before tackling languages and tools that work with XML. But XML, though easy to learn and use, can be harder to master thoroughly (years, even for professionals). Putting XML+Namespaces, XML Schema, DOM, the XML Infoset model and (yes we still need it) DTD to the picture and people get easily lost. You can do without them, but if you want to master XSLT, it'll help you a great deal if you have an above-average understanding of these techniques.

No, I don't see a world where some HTML designer starts out with using XSLT. XSLT is an easy to learn language if you get the right guide (just hire Michael Kay, Wendell Piez, Jeni Tennison, David Carlisle, M David Peterson, Andrew Welch or Dimitri Novatchev (not sure they are all available, but I consider there teaching skills and topic understanding very high, sorry if I forgot about someone)), but it is about *data* transformation, which is much more abstract (and boring) than visual display (for which you can use HTML, XSL-FO, SVG or just Adobe Photoshop). A graphic designer should do what (s)he is best at: design graphically.

XSLT is for the same kind of people that nowadays connect disparate data systems, exchange data, transform from format X to format Y, setup data transformation frameworks and, possibly, create some master stylesheets and let designers provide their (easy and restricted!) stylesheets which run together. XSLT is a bit like the game Go. It is very simple and easy at start, but the further you get, you find that it is extremely powerful and it will take you a long time to find the depth of the rabbit hole.

Cheers,
-- Abel Braaksma

Current Thread