Re: For-each question

Norman Walsh wrote:
> / Alex Milowski <alex@milowski.org> was heard to say:
> | I'd call this an error.  The for-each is like a mini-pipeline and
> | needs to have that extra input declared:
> 
> Well, Jeni argued against that requirement.

Hmm... I guess I need to be refreshed of the reasons why we
wouldn't do this.

> 
> | <p:for-each select="//chapter" ref="#valid/result" name="loop">
> |     <p:declare-input port="#build-stylesheet/result"
> |                      name="the-stylesheet"/>
> |     <p:declare-output port="result" name="chapter-docs"/>
> |
> |     <p:step kind="transform" name="makehtml"/>
> |       <p:input port="document" ref="#loop/#matched"/>
> |       <!-- somehow we have to expose the matched regions as documents;
> |            here I'm imagining that for-each always declares a magically
> |            named input port which will be used for that purpose -->
> |       <p:input port="stylesheet" ref="the-stylesheet"/>
> |       <p:output port="result" ref="#loop/chapter-docs"/>
> |     </p:step>
> |   </p:for-each>
> 
> But even in this case, does each iteration get a copy of the whole
> #build-stylesheet/result ne the-stylesheet document?

I would say it needs to have the equivalent of the same infoset each
time.  If an implementation needs to make a copy to guarantee that
is true, then it should.  That is, smart optimizations should be
allowed.

--Alex Milowski

Received on Sunday, 23 July 2006 21:20:59 UTC