RE: XS0044 correct?

> Beginner errors: when I execute
> <p:declare-step name="myPipeline"
> 	xmlns:c="http://www.w3.org/ns/xproc-step"
> 	xmlns:p="http://www.w3.org/ns/xproc">
> 	<p:identity>
> 		<p:input port="source">
> 			<p:inline><c:directory/></p:inline>
> 		</p:input>
> 	</p:identity>
> 	<p:output port="result"/>
> </p:declare-step>
> then Calabash 0.9.14 gives
> Error  : Pipeline failed: err:XS0044: Unexpected step name: p:output
> It is a static error if any element in the XProc namespace or any step
> has element children other than those specified for it by this
> specification. In particular, the presence of atomic steps for which
> there is no visible declaration may raise this error.
> while Calumet 1.0.9 executes and outputs
> <c:directory xmlns:c="http://www.w3.org/ns/xproc-step"/>

You pipeline is not valid according to the XProc schema. According to
the schema, all p:output (as well as p:input, p:option and p:variable)
elements  must precede the sub-pipeline. In this sense, nor Calumet nor
Calabash are correct: they should both should reject the pipeline
because it is not valid.

Calumet does not validate the pipeline at the moment (and I think nor
does Calabash). Calumet is quite forgiving in this respect and can deal
with some out-of-order XProc elements - which, depending on your view,
may or may not be a good thing. Calabash seems to be a bit more strict.

Hope this helps.

Regards,
Vojtech

--
Vojtech Toman
Principal Software Engineer
EMC Corporation
toman_vojtech@emc.com
http://developer.emc.com/xmltech

Received on Tuesday, 22 September 2009 07:30:09 UTC