- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Sat, 10 Oct 2009 13:18:31 +0100
- To: public-xml-processing-model-comments@w3.org
- Cc: Norman Walsh <ndw@nwalsh.com>
On 9 Oct 2009, at 21:44, Jeni Tennison wrote:
> As I understand it, the reason for requiring the <p:import> is to
> enable processors to work out the signature of steps that they don't
> know about, so that they can connect up the steps correctly. So
> here's my dumb question: the only outputs that you need to care
> about are the ones that are connected, so couldn't a processor work
> out what outputs a step is supposed to have based on the connections
> to those outputs? And couldn't it just assume an empty sequence on
> those ports without needing to know the declaration?
Put another way, what I'm suggesting is:
"Forwards-compatible mode is triggered in libraries/pipelines in which
the XProc version is greater than the version recognised by the
processor. In forwards-compatible mode:
* Unrecognised attributes on elements in the XProc namespace are
ignored.
* Unrecognised steps in the XProc namespace are marked as invalid.
* Unrecognised options on XProc steps are ignored.
* If an XProc step contains inputs that are not part of its
signature, those inputs are ignored.
* If a step contains an input that contains a <p:pipe> that
connects to an unrecognised output on an XProc step (which would
normally cause err:XS0022), these inputs are replaced by:
<p:input port="...">
<p:empty />
</p:input>
* Any step which has a type that the processor does not implement
is marked as invalid.
In forwards-compatible mode, it is a dynamic error (err:XD0032) to
attempt to evaluate a step that is marked “invalid”."
Cheers,
Jeni
--
Jeni Tennison
http://www.jenitennison.com
Received on Saturday, 10 October 2009 12:19:00 UTC