如何根据https://www.w3.org/TR/scxml/#LegalStateConfigurations定义“合法状态配置” 。我想指定一个目标集(!),而不是单个目标。目标集可以定义在and元素的initial
属性中,也可以定义在元素的属性中。但我似乎在上述属性中找不到任何表示多个状态的例子。它们必须是空间分隔的吗?还是根据 JavaScript 的数组表示法?还是对象符号?还是逗号分隔?感谢您的任何提示。<scxml>
<state>
target
<transition>
但无论如何,我想知道我在标准中遗漏了什么,以确保独立于解释器。
这是一个小测试代码:
<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
元素正确执行),在事件之后switch_hist
,状态State_1_2
和State_2_2
必须是活动的(transition
属性正确执行)。如果有人有除 SCION 之外的所有解释器,你可以在那里测试吗?前 4 行的替代语法也替换为
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="State_3_2 State_4_2">
谢谢你。