This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Static error XS0018 is defined as follows. "If an option is required, it is a static error to invoke the step without specifying a value for that option." Section 6.1 Static Errors defines the meaning of static error. "[Definition: A static error is one which can be detected before pipeline evaluation is even attempted.] Examples of static errors include cycles and incorrect specification of inputs and outputs. Static errors are fatal and must be detected before any steps are evaluated." Invocation of a step is typically something performed during evaluation. Therefore either this error should be a dynamic error, or it should be redefined to avoid use of "invoke", e.g. "If an option is required, it is a static error to specify the invocation of a step without specifying a value for that option." Test case "Test for err:XS0018 - 002" illustrates an example where this error condition can only be detected at run time - when options are not supplied when invoking the top-level pipeline. It is only when the host language fails to pass an option which is required that the invocation will fail.
Good observation. The simplest solution probably is to remove the test err-s0018-002 (and replace it with err-s0018-003).
Having read the minutes of the WG teleconference, might I suggest adding new dynamic error codes to cover the case of (external) initiation of a pipeline, analogous to those in XSLT for initiating a transformation.
In 5.7.2 p:option, replace the first paragraph after the first p:option syntax diagram with: An option may be declared as required. If an option is required, it is an error to invoke that step without specifying a value for that option. For steps invoked within a pipeline, it is a static error (err:XS0018) to specify an invocation without specifying a value for a requried option. For pipelines invoked directly by an external environment (informally, top-level pipelines), this error cannot be detected statically. It is a dymamic error (err:XD????) to invoke a pipeline without specifying a value for a required option.
Thanks.