- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Mon, 12 Oct 2009 22:21:20 +0100
- To: public-xml-processing-model-comments@w3.org
On 12 Oct 2009, at 20:57, Norman Walsh wrote: > "Henry S. Thompson" <ht@inf.ed.ac.uk> writes: >> [anon] writes: >> >>>> OK, so we need wording that says that if a pipeline contains a step >>>> that it doesn't recognise (eg the v2 step in the above) then it >>>> must >>>> not run any steps in the pipeline. Right? But that's a separate >>>> issue. >>> >>> Right. >> >> No, wrong -- only a problem if it has to _run_ that step. We've >> already agreed that, I thought. > > Right, sorry. Though if it contains an unguarded use of that step, > it's not clear to me what it should do: > > <p:pipeline> > <p:identity ...> > <p:split-sequence ...> > <p:defined-in-V.next ...> > > The implementation design I have in my head right now is going to > percolate the invalid step up to the top-level pipeline and then > refuse to even start running it. > > Of course, if that was in p:choose/p:when, the situation would be > different. Yes to all the above. I was making the point to Vojtech that such a pipeline would *not* run the <p:identity> or <p:split-sequence> (or somewhat more importantly, wouldn't even run those steps if they had side-effects, such as <p:store>) because the whole (sub-pipeline) is invalidated by the single v2 step. In other words, that the invalidity is on a sub-pipeline basis: you can't just ignore the v2 step because you can't see any connections to it. This is a design choice of course: we could equally say that you *can* just ignore the v2 step if you can't see any connections to it, but I think doing so is likely to be dangerous given that you can't actually work out what inputs/outputs the v2 step is supposed to have without its definition. Jeni -- Jeni Tennison http://www.jenitennison.com
Received on Monday, 12 October 2009 21:21:49 UTC