12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?xml version="1.0"?>
- <!-- test that only finalize markup in the invoking state runs. the first invoked process will
- return 2 in _event.data.aParam, while second invoked process sleeps without returning any events.
- Only the first finalize should execute. So when we get to s1 var1 should have value 2 but
- var2 should still be set to 1 -->
- <scxml initial="p0" version="1.0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
- <datamodel>
- <data conf:id="1" conf:expr="1"/>
- <data conf:id="2" conf:expr="1"/>
- </datamodel>
- <parallel id="p0">
- <onentry>
- <send event="timeout" delay="3s"/>
- </onentry>
- <transition event="timeout" conf:targetfail=""/>
-
- <state id="p01">
- <invoke type="http://www.w3.org/TR/scxml/">
- <content>
- <scxml version="1.0" initial="subFinal1" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
- <final id="subFinal1">
- <onentry>
- <send target="#_parent" event="childToParent">
- <param name="aParam" conf:expr="2"/>
- </send>
- </onentry>
- </final>
- </scxml>
- </content>
- <finalize>
- <assign conf:location="1" conf:eventDataFieldValue="aParam"/>
- </finalize>
- </invoke>
-
- <transition event="childToParent" conf:idVal="1=2" target="s1"/>
- <transition event="childToParent" conf:targetfail=""/>
- </state>
- <state id="p02">
- <invoke type="http://www.w3.org/TR/scxml/">
- <content>
- <scxml version="1.0" initial="sub0" conf:datamodel="" xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">
- <state id="sub0">
- <onentry>
- <send event="timeout" delay="2s"/>
- </onentry>
- <transition event="timeout" target="subFinal2"/>
- </state>
- <final id="subFinal2"/>
- </scxml>
- </content>
- <finalize>
- <assign conf:location="2" conf:eventDataFieldValue="aParam"/>
- </finalize>
- </invoke>
- </state>
- </parallel>
-
- <state id="s1">
- <transition conf:idVal="2=1" conf:targetpass=""/>
- <transition conf:targetfail=""/>
- </state>
-
- <conf:pass/>
- <conf:fail/>
- </scxml>
|