- From: Alessandro Vernet <avernet@orbeon.com>
- Date: Thu, 27 Apr 2006 00:38:08 -0700
- To: public-xml-processing-model-wg@w3.org
Norm,
I agree with all of your answers, except maybe this one:
On 4/24/06, Norman Walsh <Norman.Walsh@sun.com> wrote:
> | 3. Use cached results of the component invoked in the same way in a
> | different pipeline invocation. For example, cache the 'foo' document in
> | this pipeline and reuse it the next time the pipeline is invoked,
> | assuming that foo.xml hasn't changed in the meantime:
> |
> | <p:pipeline>
> | <p:output ref="foo" />
> | <p:step name="p:foo">
> | <p:input href="foo.xml" />
> | <p:output label="foo" />
> | </p:step>
> | </p:pipeline>
>
> I really want to call that "out of scope".
1) Is p:foo execute twice if this pipeline is run twice?
<p:pipeline>
<p:output ref="foo"/>
<p:step name="p:foo">
<p:input href="foo.xml"/>
<p:output label="foo"/>
</p:step>
</p:pipeline>
2) Is p:foo execute twice in this pipeline?
<p:pipeline>
<p:output ref="foo1"/>
<p:output ref="foo2"/>
<p:step name="p:foo">
<p:input href="foo.xml"/>
<p:output label="foo1"/>
</p:step>
<p:step name="p:foo">
<p:input href="foo.xml"/>
<p:output label="foo2"/>
</p:step>
</p:pipeline>
I think those two questions are closely related, and I would like to
give the same answer in both cases: a pipeline engine is free to skip
the second execution of p:foo if it knows that the second execution
will generate the same result and that p:foo doesn't have any
(significant) side effect.
[I am diverging from the original question, but in my mind, updating a
database or calling a web service is significant side effect, but
generating an additional line in a log file or adding a
"If-Modified-Since" header to an HTTP request is not a significant
side effect. I am not sure if we will be able to define precisely what
a "significant side effect" is. Most likely the decision will need to
be taken on a component per component basis.]
Alex
--
Blog (XML, Web apps, Open Source):
http://www.orbeon.com/blog/
Received on Thursday, 27 April 2006 07:38:19 UTC