- From: Costello, Roger L. <costello@mitre.org>
- Date: Tue, 21 Apr 2009 08:26:48 -0400
- To: "'xproc-dev@w3.org'" <xproc-dev@w3.org>
Hi Norm,
>> Hi Folks,
>>
>> I implemented a parallel workflow in XProc.
>>
>> Here's a picture of it:
>>
>> http://www.xfront.com/parallel-workflow.gif
>>
>> I connected the two parallel workflows to the pipeline's input port.
>> After the parallel part was done, I merged the two parallel
>> workflows using an identity step.
>That's all perfectly legit, but note that there's nothing about that
>that requires the processor to run them in parallel. And XML Calabash
>won't (at least not yet).
Yes, I realize that. That's okay. I want to be able to express the parallel workflow. Whether the implementation (Calabash) actually executes it in parallel is less important to me, for now.
>> QUESTION
>>
>> The identity step only allows me to connect its input port to the
>> output of one of the parallel workflows. I'm dumping the other
>> workflow's output. This seems rather bad. I can't think of what else
>> to do. Can you suggest a better way to handle the merging of two
>> parallel workflows?
> <p:identity>
> <p:input port="source">
> <p:pipe step="branch-1" name="result"/>
> <p:pipe step="branch-2" name="result"/>
> </p:input>
> </p:identity>
I tried that, and got this error:
Error : Pipeline failed: err:XD0006:
2 documents appear on the 'source' port.
If sequence is not specified, or has the
value false, then it is a dynamic error
unless exactly one document appears on
the declared port.
Even if it did work, what would it mean? Doesn't p:identity mean that the input flows unaltered to the output? Since there are two inputs, which one flows through to the output?
/Roger
Received on Tuesday, 21 April 2009 12:27:23 UTC