- From: Norman Walsh <ndw@nwalsh.com>
- Date: Tue, 23 Sep 2008 16:41:01 -0400
- To: XProc Dev <xproc-dev@w3.org>
- Message-ID: <m2zllyvbmq.fsf@nwalsh.com>
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