- 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