p:viewport result

Can someone remind me what we were smoking when we wrote this in the
spec for p:viewport:

  The output of the p:viewport itself is a single document that
  appears on a port named “result”. Note that the semantics of
  p:viewport are special. The output port in the p:viewport is used
  only to access the results of the subpipeline. The output of the
  step itself appears on a port with the fixed name “result” that is
  never explicitly declared.

AFAICT, this means, as the new test viewport-010 demonstrates, that
this is correct pipeline:

    <p:pipeline>
      <p:viewport match="para" name="viewport">
 <p:output port="tmp"/>
        <p:identity>
          <p:input port="source">
            <p:inline><foo/></p:inline>
          </p:input>
        </p:identity>
      </p:viewport>

      <p:identity>
        <p:input port="source">
          <p:pipe step="viewport" port="result"/>
        </p:input>
      </p:identity>

    </p:pipeline>

Really. Why did we decided to always name the output 'result'? Why is
this case special? Does it need to be, or have we just done something
stupid by mistake?

Seems to me that if you name the output port on p:viewport, then that
should be its name and if ou don't name it, it shouldn't have a name.

I can't think of any reason why viewport should be special in this
regard. Something to do with sequences maybe?

I'm thinking through a fog of antihistamines so maybe I'm being stupid.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | The purpose of life is to fight
http://nwalsh.com/            | maturity.--Dick Werthimer

Received on Sunday, 14 June 2009 19:51:18 UTC