Re: Where's the parallelize step?

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