Re: [xsl] Simple XSL Pipelines

Subject: Re: [xsl] Simple XSL Pipelines
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Tue, 9 Mar 2010 21:29:13 +0000
On 9 March 2010 21:03, Jacobus Reyneke <jacobusreyneke@xxxxxxxxx> wrote:
> Good day,
>
> There are many ways to pipe XML output from one XSLT to another, but
> what is the proper way to do it? Using a programming language in
> between does the job, but is there some way to implement it elegantly
> with XSLT and Saxon alone?
>
> The idea is something like:
> data.xml -> filter.xls -> layout.xls -> targetmedia.xsl ->
> data_for_mobile_phone.svg
>
> This is just a thumb suck example, but that's the idea.
>
> I was thinking along the line of creating a master XSL such as
> pipeline.xsl which would work on parameters and call the other style
> sheets as required. I know I can do this easily from java, but I'm
> looking for a pure XSL solution. Also, I need to to be able in use
> more than one XML as input, which I know is not ideal, but it is
> better to get the requirements right, and to make the technology fit,
> than to get the technology right and to get the requirements to fit.
>
> The answer probably lies in correct use of <xsl:variable
> select="document(filter.xls)" name="filter" />, but I can't find an
> elegant solution. If someone can help or make suggestions or give an
> example that would be great.

If the elements are sufficiently different for the input and output of
each transform, then you can just import all 3 transforms into one
"master" transform that uses variables to hold each stage.

If not, you'll need to modify each of the transforms to use modes, or
change the output (use namespaces etc)


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread