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 Monday, 12 October 2009 07:38:57 UTC