addDatamodelRules(XP_SM + XPF_DM, scxmlRules, scxml, pr);
//// States
// Level one states
addStateRules(XP_SM_ST, scxmlRules, customActions, scxml, pr, 0);
scxmlRules.add(XP_SM_ST, new SetNextRule("addState"));
// Nested states
addStateRules(XPU_ST_ST, scxmlRules, customActions, scxml, pr, 1);
scxmlRules.add(XPU_ST_ST, new SetNextRule("addChild"));
// Parallel states
addStateRules(XPU_PAR_ST, scxmlRules, customActions, scxml, pr, 1);
scxmlRules.add(XPU_PAR_ST, new SetNextRule("addState"));
// Target states
addStateRules(XPU_TR_TAR_ST, scxmlRules, customActions, scxml, pr, 2);
scxmlRules.add(XPU_TR_TAR_ST, new SetNextRule("setTarget"));
//// Parallels
addParallelRules(XPU_ST_PAR, scxmlRules, pr, customActions, scxml);
//// Ifs