- From: Norman Walsh <ndw@nwalsh.com>
- Date: Fri, 17 Jul 2009 13:03:59 -0400
- To: public-xml-processing-model-comments@w3.org
- Message-ID: <m2skgvz1fk.fsf@nwalsh.com>
"Toman_Vojtech@emc.com" <Toman_Vojtech@emc.com> writes: > Suppose I have this p:pipeline: > > <p:pipeline> > <p:output port="foo" primary="false"/> > <p:identity/> > </p:pipeline> > > The "foo" output port is not connected to anything. Also, because it is > not primary, it will not get connected to the primary output port of > p:identity. > > Is this allowed? I can't find anything in the spec that makes this an > error, or that says what happens when I actually refer to "foo" when I > call the pipeline. > > Also, would there be any difference if I declared "foo" as > sequence="true"? If you don't specify sequence=true, then I think you get an error because you can't send an empty sequence to a port that doesn't accept sequences. If you do specify sequence=true, then you just get an empty sequence on that port. It's statically valid in either case. > The only thing I found is in section 2.2: > > "Within a compound step, the declared outputs of the step *can* be > connected to: ..." > (Notice that the sentence uses "can", not "must".) Since that's a p:pipeline, the identity step will get connected to the primary result port. If it was a declare step, you'd get a static error because the primary output port of the identity step would be unbound. Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | Nothing ever becomes real till it is http://nwalsh.com/ | experienced--even a proverb is no | proverb to you until your life has | illustrated it.-- Keats
Received on Friday, 17 July 2009 17:04:40 UTC