W3C home > Mailing lists > Public > xproc-dev@w3.org > May 2012

Re: Multiple XSLT transformations with intermediate files

From: Romain Deltour <rdeltour@gmail.com>
Date: Sun, 20 May 2012 13:59:25 +0200
Cc: xproc-dev@w3.org
Message-Id: <F42C9B6E-8854-49FE-937D-9A872DA48794@gmail.com>
To: Patrick Gundlach <patrick@gundla.ch>
> q: These are steps, right?

Yes.

> q: These steps are connected (output from n goes to input to n+1), right?

No.
The first p:store is implicitly connected to the previous p:xslt, but the second p:xslt is not connected to previous p:store.
The second p:xslt loads the document from the file system, so it doesn't logically depends on the previous step.

> q: They are executed in order - if not, I am misunderstanding everything I have ever known from XProc.

Not necessarily. Because (as said above) the second p:xslt does not depend on the first p:xslst and p:store, some XProc processors could well decide to run it first, or in parallel with the other, which is not your intent.

To fix the order, you have to introduce a dependency on the first to the second, by connecting the input port of the second to the output of the first.

Romain.


On 20 mai 2012, at 13:49, Patrick Gundlach wrote:

> Hello Xmlizer,
> 
>> In XProc, it's not a good strategy to rely on the order of execution 
>> Here follow an excerpt of the XProc 1.0 Specification
>> 
>> [[
>> The pattern of connections between steps will not always completely determine their order of evaluation. The evaluation order of steps not connected to one another is implementation-dependent.
>> ]]
> 
> So I obviously don't understand XProc yet. I thought that I have connected (implicitly) my four steps:
> 
> <p:xslt name="first-to-intermediate">
> ...
> <p:store href="intermediate.xml" />
> ...
> <p:xslt>
> ...
> <p:store href="final.xml"/>
> 
> q: These are steps, right?
> q: These steps are connected (output from n goes to input to n+1), right?
> q: They are executed in order - if not, I am misunderstanding everything I have ever known from XProc.
> 
>> My advice here is to make the pipeline as if you don't need to serialize (so you just connect the result of the previous step to the source of the next step) and then add the serialization at the end of XProc pipeline using p:store with inputs connected at the right place
> 
> Well, I also need the intermediate file serialized, because I need to edit that later manually.
> 
> Thanks so far!
> 
> Patrick
> 
> 
Received on Sunday, 20 May 2012 11:59:54 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 20 May 2012 11:59:55 GMT