如何根据https://www.w3.org/TR/scxml/#LegalStateConfigurations定义“合法状态配置”。我要指定一个目标集(!),而不是单个目标。目标集可以在<scxml>和<state>元素的initial属性中定义,也可以在<transition>元素的target属性中定义。但在上述属性中,我似乎找不到任何表示多个状态的示例。它们必须用空格分隔吗?或者根据JavaScript的数组表示法?还是对象表示法?还是用逗号分隔?谢谢你的任何提示。
但不管怎样,我想知道我在标准中遗漏了什么,以确保是独立于解释器的。
下面是一小段测试代码:
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0">
<initial>
<transition target="State_3_2 State_4_2" />
</initial>
<parallel id="Parallel_1">
<history id="hist" type="deep">
<transition target="State_1_2 State_2_2" />
</history>
<state id="State_1">
<state id="State_1_1" />
<state id="State_1_2" />
</state>
<state id="State_2">
<state id="State_2_1" />
<state id="State_2_2" />
</state>
</parallel>
<parallel id="Parallel_2">
<transition target="hist" event="switch_hist" />
<state id="State_3">
<state id="State_3_1" />
<state id="State_3_2" />
</state>
<state id="State_4">
<state id="State_4_1" />
<state id="State_4_2" />
</state>
</parallel>
</scxml>要测试:在进入时,状态State_3_2和State_4_2必须是活动的(initial元素正确执行),在event switch_hist之后,状态State_1_2和State_2_2必须是活动的(transition属性正确执行)。如果有人有一个全套的解释器,你能在那里测试一下吗?另外,将前4行替换为
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="State_3_2 State_4_2">谢谢。
发布于 2018-04-08 13:23:22
它是空格分隔的。您可以在SCXML test test suite中看到这方面的示例。例如,test364的第9行。
希望这能有所帮助。谢谢。
https://stackoverflow.com/questions/49711002
复制相似问题