- From: <Toman_Vojtech@emc.com>
- Date: Thu, 2 Jul 2009 07:34:33 -0400
- To: <xproc-dev@w3.org>
- Message-ID: <6E216CCE0679B5489A61125D0EFEC78710148512@CORPUSMX10A.corp.emc.com>
Another XProc 'gotcha'. The p:compare step has no primary output port (in contrast to p:identity). Because you don't provide a binding for the p:with-option element, the XProc processor tries to manufacture one for you based on the default readable port. In the example with p:identity, the default readable port will be the primary output port of p:identity. In the pipeline with p:compare, the default readable port is undefined, because p:compare has no primary output port, and therefore you get the static error. Regards, Vojtech ________________________________ From: xproc-dev-request@w3.org [mailto:xproc-dev-request@w3.org] On Behalf Of Paul Hermans Sent: Thursday, July 02, 2009 1:29 PM To: xproc-dev@w3.org Subject: struggle with ports on step compare XProc processor used calabash-0.9.11 a) having a working pipeline: showing the relevant snippet, writing some xml to the file system. <p:identity name="compare"> <p:input port="source"> <p:inline> <test/> </p:inline> </p:input> </p:identity> <p:store name="write2file"> <p:input port="source"> <p:pipe port="result" step="compare"/> </p:input> <p:with-option name="href" select="concat('/Users/paul/Desktop/R&D/xmlschema/',$xml,'.err')"/> </p:store> b) pipeline throwing following error if the identity step is replaced by a compare step. Error : file:/Users/paul/Desktop/R&D/xmlschema/iterateconfig.xpl:122: option href unbound on p:store step named write2file and no default readable port. Error : Pipeline failed: err:XS0032: option href unbound on p:store step named write2file and no default readable port. It is a static error if no binding is provided and the default readable port is undefined. Process ended with exit code: 0 <p:compare name="compare"> <p:input port="source"> <p:pipe port="result" step="tryxsd"/> </p:input> <p:input port="alternate"> <p:pipe port="result" step="trysch"/> </p:input> <p:with-option name="fail-if-not-equal" select="'false'"/> </p:compare> <p:store name="write2file"> <p:input port="source"> <p:pipe port="result" step="compare"/> </p:input> <p:with-option name="href" select="concat('/Users/paul/Desktop/R&D/xmlschema/',$xml,'.err')"/> </p:store> The compare step is, according to me, OK, since when using it as a last step in the pipeline, the expected value appears on the console. I know that the result port on compare is not primary, hence the explicit binding effort. What am I missing? Kind Regards, Paul
Received on Thursday, 2 July 2009 11:36:04 UTC