Subject: Re: [xsl] design ideas? exploiting variables|
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Tue, 14 Dec 2004 08:24:18 -0800
So, my current code is oriented towards xhtml output. But I want to be able to write simple simple output drivers for other formats that just takes the content in the formatted-biblist variable (which is just xhtml) and transforms it (into, for example, TeX or WordML).
There's an interesting design choice that has to be made between using a single-stylesheet pipeline and a multi-stylesheet pipeline. Generally, the more complex things get, the more benefits there are in using a multi-stylesheet pipeline, where the transformation is broken up into a sequence of small transformations each done by its own stylesheet. The problem with this approach is that you need to write code in another language to control the pipeline flow. There are pipeline languages that do this (XPipe, Orbeon), or you can do it in Java, but it's another bit of technology to add to the mix.
Once you've got a pipeline of more than one stylesheet, and a decent control engine for coordinating them, you tend to find that the individual stylesheets become smaller and smaller, and more and more reusable. Until you get to that point, you tend to construct a single-stylesheet pipeline in which variables are used to hold the results of successive transformation phases: and the stylesheet gradually gets more and more complex.
I don't know what the right answer is for you - I'm just trying to clarify your options.
Have other people experienced the same dilemma?
Michael Kay http://www.saxonica.com/