"James Sulak" <jsulak@gmail.com> writes:
>>From 5.8.1:
>
> "When declaring an atomic step, the subpipeline in the declaration
> must be empty. And, conversely, if the subpipeline in a declaration is
> empty, the declaration must be for an atomic step."
>
> Does this mean that this:
>
> <p:pipeline name="new-identity">
> <p:identity />
> </p:pipeline>
>
> is technically declaring a compound step, and not an atomic step?
Yes. It's a compound step with a single step in its subpipline.
> And
> if so, is it impossible to declare an atomic step that's not an
> extension implemented at the processor level (if that makes sense)?
Yes and no.
Users can declare new compound steps, expressed in terms of a
subpipeline of other steps. Users can then use these compound steps as
atomic steps in other pipelines.
Users can declare new atomic steps, here's one:
<p:declare-step type="ex:foo" xmlns:ex="...">
<p:input port="source"/>
<p:input port="secondary"/>
<p:output port="result"/>
<p:option name="use-dwim" required="true"/>
<p:option anem="read-users-mind" select="'false'"/>
</p:declare-step>
But they won't work unless the processor knows how to run them. How,
or if, you can tell a processor to run them is implementation
dependent. (In calabash, you put something like this in a configuration
file:
<implementation type="ex:foo" xmlns:ex="..."
class-name="com.skynet.library.Foo"/>
where the named class implements the right interface.)
Be seeing you,
norm
--
Norman Walsh <ndw@nwalsh.com> | If you don't have the time to do it
http://nwalsh.com/ | right, where are you going to find the
| time to do it over?