- From: Norman Walsh <ndw@nwalsh.com>
- Date: Mon, 12 Oct 2009 10:48:00 -0400
- To: public-xml-processing-model-comments@w3.org
- Message-ID: <m27hv0vfbz.fsf@nwalsh.com>
Jeni Tennison <jeni@jenitennison.com> writes: > Put another way, what I'm suggesting is: [...] Ok, so...taking this as far as I can... 1. We replace the existing p:import mechanism with a version attribute. If the version requested > version of processor, then run in forwards compatible mode. 2. While loading/analyzing a pipeline a. Discard unrecognized attributes on elements in the XProc namespace b. Discard unrecognized elements in the XProc namespace c. Discard unrecognized options on XProc steps d. Discard unrecognized ports on XProc steps e. Turn any reference to an unrecognized port into <p:empty/> f. Mark any unrecognized step in the XProc namespace as invalid 3. Perform static analysis on the result. You get what you get. Maybe you get errors, maybe you don't. Maybe there are more independent pipeline fragments, maybe there aren't. Your gun, your bullet, your foot. 4. In forwards-compatible mode, it is a dynamic error (err:XD0032) to attempt to evaluate a step that is marked “invalid”." The most troubling part of this approach is the way in which "invalid" has to percolate through the pipeline and be taken into consideration in different places: 1. When evaluting if all of the branches of a p:choose have the same signature, ignore any branch that directly contains an invalid step. If all the branches are invalid, then the p:choose is invalid. 2. When evaluating if the p:try/p:group and p:catch branches of a p:try have the same signature, ignore either clause if it contains an invalid step. If the p:catch includes an invalid step, then the p:try is invalid. 3. If a subpipeline contains an unrecognized step (not in a p:choose or p:try/p:group), then that subpipeline has to be marked invalid. If you don't do this, then I don't think it's possible to build the dependency graph. Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | Feature, n. A bug that's too hard to http://nwalsh.com/ | fix.
Received on Monday, 12 October 2009 14:48:40 UTC