To cx:message or not cx:message, that is the exception?

I've declared a simple step to output some specific logging, in this case a
message and a count.

I'm trying to add into it a p:choose, which given an option log, which I'm
currently just setting to false for testing, will or or will not output the
cx:message.  The following which in the otherwise is outputting a log
message works, although it's not what I want. I would like to <p:sink/> in
the otherwise or do nothing basically however then I get the error messages:

SEVERE: err:XS0032:Input source unbound on p:identity step named ident and
no default binding available.
Aug 09, 2012 10:18:30 AM com.xmlcalabash.drivers.Main error
SEVERE: It is a static error if no connection is provided and the default
readable port is undefined.

I get the error message however I've tried a number of other ways to do
this and can't get it working.

So how do I write this convenience step which should log or not log given a
boolean value without getting an exception?

<p:declare-step name="counter" type="mh:counter">
  <p:input port="source" primary="true"/>
  <p:output port="result">
   <p:pipe port="result" step="ident"/>

  <p:option name="log" select="'false'"/>
  <p:option name="step-name" required="true"/>
  <p:option name="count" required="true"/>
  <p:option name="message" required="true"/>

   <p:when test="$log = 'true'">

     <p:with-option name="message" select="concat('        COUNTER:  ',
$message, '     ', $count)"/>


     <p:with-option name="message" select="'else'"/>     <!-- Would like to
sink here instead of logging but I get an exception -->


  <p:identity name="ident"/>

High Regards

Alex G. Muir
Software Engineering Consultant
Linkedin Profile :

Received on Thursday, 9 August 2012 14:25:34 UTC