Re: implicit declaration?

James Garriss <james@garriss.org> writes:

>     <p:identity>
>         <p:input port="source"/>
>     </p:identity>
>
> is semantically equal to this:
>
>     <p:identity/>
>
> Specifically, I can declare the input port explicitly or implicitly.  As I
> read through the WD, what is it that tells me that a port can be declared
> implicitly or must be declared explicitly?  Is it whether it's a primary
> port?

No, you're confusing declaration with use. The declaration for the identity
step is:

   <p:declare-step type="p:identity">
      <p:input port="source" sequence="true"/>
      <p:output port="result" sequence="true"/>
   </p:declare-step>

That declaration is given in the spec and is builtin to Calabash
(well, that's not technically true. If you blow apart the jar file,
you'll find it in pipeline-library.xml in /etc).

With the exception of p:declare-step elements, all the steps that you
put in your pipeline documents are *uses* of the steps, not
declarations.

The fact that an *empty* p:input binding is the same as an *absent*
p:input binding is just a natural consequence of the defaulting for
bindings.

Does that help?

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | The main difference between living
http://nwalsh.com/            | people and fictitious characters is
                              | that the writer takes great pains to
                              | give the characters coherence and inner
                              | unity, whereas living people may go to
                              | extremes of incoherence because their
                              | physical existence holds them
                              | together.--Hugo Von Hofmannsthal

Received on Tuesday, 23 September 2008 20:41:54 UTC