- From: Norman Walsh <Norman.Walsh@Sun.COM>
- Date: Wed, 26 Jul 2006 10:34:05 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <87irlk8mg2.fsf@nwalsh.com>
/ Jeni Tennison <jeni@jenitennison.com> was heard to say: | Norm Walsh wrote: |> Do you imagine that either or both of the following constraints apply? |> |> * In a p:for-each, exactly one p:declare-input must have an @select |> attribute. | | (Given no joins as discussed below:) In a p:for-each, there must be | exactly one p:declare-input that has a @ref-each attribute (and may | have a @select attribute to indicate iteration over elements). This | p:declare-input tells you what you're iterating over. Given that there must be exactly one, is there a compelling reason to do this with a p:declare-input as opposed to simply allowing those attributes on the p:for-each element? It seems confusing to me that one p:declare-input is required, but others are optional. So you could wind up with <p:for-each name="loop"> <p:declare-input port="doc" ref-each="..."/> <p:declare-input port="style" ref="..."/> <p:declare-output port="results" ref="#x/y"/> ... ref="#loop/doc" ... ref="#loop/style" ... ref="#otherstep/foo" </p:for-each> It seems to me that you should declare all the inputs or none of them, declaring only some just makes my head hurt. |> * In the steps of a p:for-each, any p:input reference to a "global" |> input (i.e. one not renamed with @ref-each) is consumed on the first |> iteration and is "empty" for subsequent iterations. | | No, I don't imagine that. I imagine that, behind the scenes, the | processor makes enough copies of any p:input reference to a 'global' | input to have one per iteration. Yeah, that's what I figured. | It's a familiar thing to XPath 2.0 users ;) | for $i in (a,b,c), $j in (x,y) return ($i,$j) I avoid 'for'. Ought not to have been in XPath 2.0 dang it. :-) Be seeing you, norm -- Norman Walsh XML Standards Architect Sun Microsystems, Inc.
Received on Wednesday, 26 July 2006 14:34:07 UTC