XProc 3.0: Run

Editor's Draft

This Version:
https://xproc.github.io/3.0-specification/fix-484/head/run/
Latest Version:
http://spec.xproc.org/master/head/run/
Editors:
Achim Berndzen
Gerrit Imsieke
Erik Siegel
Norman Walsh
Repository:
This specification on GitHub
Report an issue
Changes:
Commits for this specification

This document is also available in these non-normative formats: XML.


Abstract

This specification describes the p:run step for XProc 3.0: An XML Pipeline Language.

Status of this Document

This document is an editor's draft that has no official standing.

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This document is derived from XProc: An XML Pipeline Language published by the W3C.


1 Introduction

This specification describes the p:run XProc step. A machine-readable description of these steps may be found in steps.xpl.

Familarity with the general nature of [XProc 3.0] steps is assumed; for background details, see [XProc 3.0 Steps].

2 p:run

The p:run step runs a dynamically loaded pipeline.

<p:declare-step type="p:run">
     <p:input port="source" primary="true" sequence="true" content-types="*/*"/>
     <p:output port="result" primary="true" content-types="*/*"/>
</p:declare-step>

THIS IS UNREVIEWED PLACHOLDER TEXT

The p:run step functions mostly like an atomic step in that you can define inputs connections and option values for it. However, unlike atomic steps, it has no defined signature. Any inputs are allowed and any outputs may be connected.

One input port is specifically designated the pipeline input port. By default, that port is named pipeline, but its name can be changed by specifying a different name in the p:pipeline option.

The p:run step expects a single pipeline document on the pipeline port. It is a dynamic error (err:XC0080) if the pipeline input to the p:run step is not a valid pipeline.

The pipeline that appears on the pipeline port is evaluated using the inputs and options specified on the p:run step. It is a dynamic error (err:XC0081) if the pipeline has inputs that are not specified on the p:run step. It is a dynamic error (err:XC0082) if the pipeline has required options that are not specified on the p:run step.

The outputs of the pipeline appear on the correspondingly named output ports of the p:run step. If the pipeline has an output is not bound on the p:run step, that output is discarded. If the p:run step has an output port that is not provided by the pipeline, an empty sequence appears on that port.

The p:run step is assumed to have a primary output port. If the pipeline evaluated does not have a primary output port, an empty sequence appears on that port. (Alternatively, that could be a dynamic error)

2.1 Document properties

No document properties are preserved.

3 Step Errors

This step can raise dynamic errors.

The following errors can be raised by this step:

err:XC0080

It is a dynamic error if the pipeline input to the p:run step is not a valid pipeline.

See: p:run

err:XC0081

It is a dynamic error if the pipeline has inputs that are not specified on the p:run step.

See: p:run

err:XC0082

It is a dynamic error if the pipeline has required options that are not specified on the p:run step.

See: p:run

A Conformance

Conformant processors must implement all of the features described in this specification except those that are explicitly identified as optional.

Some aspects of processor behavior are not completely specified; those features are either implementation-dependent or implementation-defined.

[Definition: An implementation-dependent feature is one where the implementation has discretion in how it is performed. Implementations are not required to document or explain how implementation-dependent features are performed.]

[Definition: An implementation-defined feature is one where the implementation has discretion in how it is performed. Conformant implementations must document how implementation-defined features are performed.]

A.1 Implementation-defined features

The following features are implementation-defined:

    A.2 Implementation-dependent features

    The following features are implementation-dependent:

      B References

      [XProc 3.0] XProc 3.0: An XML Pipeline Language. Achim Berndzen, Gerrit Imsieke, Erik Siegel and Norman Walsh, editors.

      [XProc 3.0 Steps] XProc 3.0 Steps: An Introduction. Achim Berndzen, Gerrit Imsieke, Erik Siegel and Norman Walsh, editors.

      C Glossary

      implementation-defined

      An implementation-defined feature is one where the implementation has discretion in how it is performed. Conformant implementations must document how implementation-defined features are performed.

      implementation-dependent

      An implementation-dependent feature is one where the implementation has discretion in how it is performed. Implementations are not required to document or explain how implementation-dependent features are performed.

      D Ancillary files

      This specification includes by reference a number of ancillary files.

      steps.xpl

      An XProc step library for the declared steps.