Name
cx:eval — Evaluate a dynamically constructed pipeline.
Synopsis
<p:declare-step
type
="
cx:eval
"
xmlns:cx
="
http://xmlcalabash.com/ns/extensions
"
>
<p:input
port
="
pipeline
"
/>
<p:input
port
="
source
"
sequence
="
true
"
/>
<p:input
port
="
options
"
/>
<p:output
port
="
result
"
/>
<p:option
name
="
step
"
/>
<!--
QName -->
<p:option
name
="
detailed
"
/>
<!--
boolean -->
</p:declare-step>
Description
In the simplest case, where the specified pipeline has a single
input and a single output, the document(s) on the source
port are passed to the pipeline, processed, and the results are passed
back on the result
port.
If the pipeline specified has multiple inputs or outputs, then the
inputs and outputs have to be “multiplexed” on the single port. If this is
the case, you must specify that the detailed
option is
“true
”, and encode the input using cx:document
.
Each input must be wrapped in cx:document
with a
port
attribute that identifies the port to
which that document is to be sent. Each output will be wrapped in a
cx:document
element identifying the port from which it came.
If the pipeline has options, they are passed to the options
port. Each options document must have cx:options
as its document
element and consist entirely of cx:option
elements with
name
and value
attributes that specify options and their values.
If the pipeline is a p:library
, then the step to evaluate
may be specified using the step
option. If the pipeline is
a library and no step option is specified, the first step in the library will
be selected.