- From: <Toman_Vojtech@emc.com>
- Date: Mon, 14 Jan 2008 07:48:14 -0500
- To: <public-xml-processing-model-comments@w3.org>
> You don't need to declare or import extension steps for which the pipeline processor has internal support. Is it really so? Section 4.7 says that: "Each atomic step must be the name of a p:pipeline type or must have been declared with a p:declare-step that appears in the pipeline, or an imported library, before it is used." This has always been my understanding of declaring steps in XProc. Whether or not the pipeline processor supports an (extension) atomic step, it must be declared before it is used. > That will only be evaluated if the pipeline processor doesn't have internal support for test:my-atomic-step already. Is this in the specification? But I still think that even if the processor knows how to evalate the step, it needs to access the declaration to check whether the step matches its declared signature. Vojtech -----Original Message----- From: public-xml-processing-model-comments-request@w3.org [mailto:public-xml-processing-model-comments-request@w3.org] On Behalf Of Vasil Rangelov Sent: Monday, January 14, 2008 12:54 PM To: public-xml-processing-model-comments@w3.org Subject: RE: declare-step - atomic steps vs. empty pipelines I thought that steps and pipelines were unified thanks to this syntax. You should be able to have <p:declare-step type="test:my-atomic-step"> That will only be evaluated if the pipeline processor doesn't have internal support for test:my-atomic-step already. In this essence, an empty pipeline, and an empty step declaration are the same thing. You don't need to declare or import extension steps for which the pipeline processor has internal support. -----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, January 14, 2008 11:55 AM To: public-xml-processing-model-comments@w3.org Subject: p:declare-step - atomic steps vs. empty pipelines Hi all, I have a question about the "new" p:declare-step syntax with regard to declaring empty pipelines. It seems to me that in some cases the XProc processor has no way of knowing whether the declared step is an atomic step or an empty pipeline. Consider this library: <p:library xmlns:p="http://www.w3.org/ns/xproc" xmlns:test="http://acme.com/test"> <p:declare-step type="test:my-atomic-step"> <p:input port="source"/> <p:output port="result"/> </p:declare-step> <p:declare-step type="test:my-empty-pipeline"> <p:input port="source"/> <p:output port="result"/> <!-- empty subpipeline --> </p:declare-step> </p:library> Suppose the implementation for the step "test:my-atomic-step" is not available to the processor. In that case, the processor should report an error on this step (XD0017, attempt to invoke a step which the processor does not know how to perform). But for the "test:my-empty-pipeline" step, the situation is different, because it is meant to represent an empty pipeline - so it should be processed with no problems. The problem is, however, that the two step declarations look exatcly the same to the processor... I can think of two solutions to this: 1. Disallow empty pipelines 2. Enhance the p:declare-step element so it is always clear whether it declares an atomic step or a pipeline Regards, Vojtech
Received on Monday, 14 January 2008 12:45:03 UTC