it seems to me that the current implementation automatically forwards
(external) events to <invoke>'d child state machines (or other components):

see: triggerEvents() of SCXMLExecuter.java

  // Forward events (external only) to any existing invokes,
  // and finalize processing
  semantics.processInvokes(evts, errorReporter, scInstance);
Do I understand this comment correctly? Is this intended? I actually do not
understand the current SCXML WD in this way [1]. I would like to have
control which events to forward to an invoked component at markup level,
something like:

<state id="invoker">
<invoke targettype="scxml" src="invoked-01.xml">
 <param name="foo" expr="'foo'" />
 <param name="bar" expr="'bar'" />

  <log expr="'Finalizing ...'" />

<transition event="foo">
 <send event="foo" target="invokedID" targettype="SCXML"
<transition event="invoker.invoke.done" target="end" />
What do you think?


[1] http://www.w3.org/TR/2007/WD-scxml-20070221/#Invoke

Reply via email to