Re: Looping input and output in XProc

Thank you Romain. With a bit of tweaking that does exactly what I want.

nic



--
Corbas - Digital Publishing Consultancy and Training
http://www.corbas.co.uk/
+44 (0)7718 906817

On 21 Sep 2012, at 10:16, Romain Deltour <rdeltour@gmail.com> wrote:

> Attached is a sample step that implements Jostein's approach. It has a non-sequence primary "source" port and a sequence "stylesheets" port holding the sequence of XSLTs.
> 
> The code has inlined sample source and XSLTs, but if you remove them it should be generic enough to be reusable as-is.
> 
> Depending on how you get your initial  list of URLs,  you can probably use p:load step in a p:for-each to build the sequence of XSLTs.
> 
> HTH
> Romain.
> <test.xpl>
> 
> On 21 sept. 2012, at 09:58, Jostein Austvik Jacobsen <josteinaj@gmail.com> wrote:
> 
>> Depending on how many XSLTs you want to apply, recursion would be an alternative...
>> 
>> Jostein
>> 
>> 
>> On Thu, Sep 20, 2012 at 5:19 PM, Nic Gibson <nicg@corbas.co.uk> wrote:
>>> Hi Folks
>>> 
>>> I have a problem that is best expressed as something like this (given an xml document xmldoc initialised to the initial input)
>>> 
>>> 1. fetch URL for XSLT from list
>>> 2. Load XSLT file
>>> 2. process xmldoc with XSLT
>>> 3. set xmldoc to result
>>> 4. fetch next file from from list. If found go to 1. If not emit current xmldoc
>>> 
>>> The problem is that I have an arbitrary collection of XSLT stylesheets that I need to apply to an XML document passing the result of the first transform to the second XSLT and so on. Right now, the only thing I can see to do is to use another bit of XSLT to generate an XProc pipeline and execute that. I would prefer to be able to do this without that and simply express this as some sort of iteration in XProc. 
>>> 
>>> I haven't been able to think of a way that I can express this in XProc. Anyone get some spare intuition?
>>> 
>>> 
>>> thanks
>>> nic
>>> --
>>> Corbas Consulting / @CorbasLtd
>>> Digital Publishing Consultancy and Training
>>> http://www.corbas.co.uk, +44 (0)7718 906817/+44 (0)1273 930765
>>> 
>> 
> 

Received on Friday, 21 September 2012 20:39:29 UTC