- From: Vasil Rangelov <boen.robot@gmail.com>
- Date: Tue, 13 Oct 2009 10:28:46 +0300
- To: <public-xml-processing-model-comments@w3.org>
Well, yes, it is. My point exactly. Unknown steps are also unknown elements.
If the p:import requirement is removed in favor of a version attribute, an
XProc 1.0 processor isn't going to know the signatures of any new steps.
Therefore, any new steps will HAVE TO BE treated as unknown elements. I
mean, for example:
<p:pipeline>
<p:declare-step type="...">
<p:unrecognized>...</p:unrecognized>
</p:declare-step>
<p:identity/>
</p:pipeline>
Is p:unrecognized an element like p:serialization or p:input that does
something new and fancy with p:declare-step, or is it a new atomic and/or
contained step that has no required options, reads the primary input port,
and outputs on the primary output port implicitly? Without having a step
signature, you don't know for sure (and even if you did, you don't know if
it's a contained step, or a p:serialization like element). So the only thing
you're left to do is ignore it or have a dynamic error if that newly
declared step is evaluated. Ignoring, I think, is the better option, but a
dynamic error is also fine.
Regards,
Vasil Rangelov
-----Original Message-----
From: public-xml-processing-model-comments-request@w3.org
[mailto:public-xml-processing-model-comments-request@w3.org] On Behalf Of
Toman_Vojtech@emc.com
Sent: Monday, October 12, 2009 10:38 AM
To: public-xml-processing-model-comments@w3.org
Subject: RE: Another take on versioning
> 2. Treatment of unknown steps
>
> I think this is a wrong way to think about it (the word
> "steps" I mean).
> There are some elements that don't have a formal
> qualification. They aren't
> "atomic steps", they aren't "contained steps", they aren't
> (always) direct
> child elements of steps either. They need a formal qualification, and
> unknown elements (regardless of their formal qualification in future
> versions) should be treated as these kinds of elements would
> be treated.
> These elements currently include (among others?)
> p:declare-step, p:pieline,
> p:import, p:log, p:serialization, p:xpath-context, p:iteration-source,
> p:viewport-source, p:inline, p:document, p:pipe, p:empty, p:input and
> p:output.
Isn't this already covered by the bullet 2?
"2. On any element in the XProc namespace, unrecognized attributes
(other than extension attributes) and unrecognized ***descendant***
elements are ignored. Any step which has either is marked as invalid. If
they occur on or in p:declare-step, all attempts to evaluate instances
of the declared type are also marked as invalid."
On the other hand, as it is stated now, bullet 2 may be too restrictive.
If I understand it correctly, the following pipeline would be marked as
invalid, but it should not be:
<p:pipeline>
<p:declare-step type="...">
<p:unrecognized>...</p:unrecognized>
</p:declare-step>
<p:identity/>
</p:pipeline>
The top-level pipeline contains an unrecognized descendant element, but
it actually does not use it at all.
Regards,
Vojtech
Received on Tuesday, 13 October 2009 07:30:02 UTC