- From: Norman Walsh <Norman.Walsh@Sun.COM>
- Date: Wed, 19 Apr 2006 11:12:37 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <87hd4peh0a.fsf@nwalsh.com>
/ Jeni Tennison <jeni@jenitennison.com> was heard to say: | I therefore think it's vital that if the pipeline language doesn't | constrain a pipeline engine to run two steps in a particular order | then the order in which the two steps are run doesn't have an effect: | the steps have no side effects. I agree. Clearly, in this pipeline: A => B the output from A flows to B so A has to run before or at the same time as B. In this pipeline: C => D => +---+ | G | E => F => +---+ there's no constraint on the order in which C and E are run so it shouldn't matter. I think we've identified one class of side-effects that we have to consider: auxilliary outputs. Suppose C produces module.xsl which E consumes (in an xsl:include). We could model this as an output from C flowing into E. But that might not be convenient. For one thing, the xsl:include statement is probably going to be processed by the XSLT module which will attempt to grab it by URI. In this case, if we know there's a resource manager involved, we can be sure that it returns the right thing. If there isn't a resource manager involved, then as long as we make sure that C runs to completion before E starts, we can assume that module.xsl will have been written and the right thing will happen. I think we can model this with "auxiliary" inputs and outputs. C => D => +---+ | | | | | G | v | | E => F => +---+ As far as I can see, this gives the graph enough information to determine the order in which steps must be evaluated. In this case, there's still no dependency between D and F so it shouldn't matter what order they're processed in. In short: 1. I propose that we adopt some mechanism for identifying auxiliary inputs and outputs 2. With that addition to the flow graph in place, I propose that we assert that processors are side-effect free. Be seeing you, norm -- Norman Walsh XML Standards Architect Sun Microsystems, Inc.
Received on Wednesday, 19 April 2006 16:52:53 UTC