W3C home > Mailing lists > Public > public-xml-processing-model-comments@w3.org > January 2008

RE: declare-step - atomic steps vs. empty pipelines

From: Vasil Rangelov <boen.robot@gmail.com>
Date: Mon, 14 Jan 2008 13:54:09 +0200
To: <public-xml-processing-model-comments@w3.org>
Message-ID: <478b4d65.0b38560a.5c39.fffffcf9@mx.google.com>

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 11:54:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 14 January 2008 11:54:26 GMT