summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuehv <heuschkel@tk.tu-darmstadt.de>2016-11-28 12:24:17 (GMT)
committerjuehv <heuschkel@tk.tu-darmstadt.de>2016-11-28 12:24:17 (GMT)
commitf4d85738edfe5fb03dca8615ae9f1b5d994c9324 (patch)
treef9b4904e77b549fbed3e1bf5d79052d8082de751
parentdf10e16889b3a0429b992bdbb8ad119f553f1801 (diff)
parentfcfc842a1ccee7a6b2579889f3236d50849c0679 (diff)
downloaduscxml-f4d85738edfe5fb03dca8615ae9f1b5d994c9324.zip
uscxml-f4d85738edfe5fb03dca8615ae9f1b5d994c9324.tar.gz
uscxml-f4d85738edfe5fb03dca8615ae9f1b5d994c9324.tar.bz2
Merge branch 'master' of github.com:tklab-tud/uscxml
-rw-r--r--apps/uscxml-transform.cpp22
-rw-r--r--src/uscxml/transform/ChartToJava.cpp47
-rw-r--r--src/uscxml/transform/ChartToJava.h49
-rw-r--r--src/uscxml/transform/ChartToPromela.h2
-rw-r--r--test/CMakeLists.txt1
-rw-r--r--test/w3c/TESTS.md2943
6 files changed, 3061 insertions, 3 deletions
diff --git a/apps/uscxml-transform.cpp b/apps/uscxml-transform.cpp
index b5f42c4..b85879a 100644
--- a/apps/uscxml-transform.cpp
+++ b/apps/uscxml-transform.cpp
@@ -2,6 +2,7 @@
#include "uscxml/Interpreter.h"
#include "uscxml/util/String.h"
#include "uscxml/transform/ChartToC.h"
+#include "uscxml/transform/ChartToJava.h"
#include "uscxml/transform/ChartToVHDL.h"
#include "uscxml/transform/ChartToPromela.h"
@@ -39,7 +40,8 @@ void printUsageAndExit(const char* progName) {
printf("Options\n");
printf("\t-t c : convert to C program\n");
printf("\t-t pml : convert to spin/promela program\n");
- printf("\t-t vhdl : convert to VHDL hardware description\n");
+ printf("\t-t vhdl : convert to VHDL hardware description\n");
+ printf("\t-t java : convert to Java classes\n");
printf("\t-t flat : flatten to SCXML state-machine\n");
printf("\t-a FILE : write annotated SCXML document for transformation\n");
printf("\t-X {PARAMETER} : pass additional parameters to the transformation\n");
@@ -187,7 +189,8 @@ int main(int argc, char** argv) {
outType != "scxml" &&
outType != "pml" &&
outType != "c" &&
- outType != "vhdl" &&
+ outType != "vhdl" &&
+ outType != "java" &&
outType != "min" &&
std::find(options.begin(), options.end(), "priority") == options.end() &&
std::find(options.begin(), options.end(), "domain") == options.end() &&
@@ -279,6 +282,21 @@ int main(int argc, char** argv) {
}
}
+ if (outType == "java") {
+ transformer = ChartToJava::transform(interpreter);
+ transformer.setExtensions(extensions);
+ transformer.setOptions(options);
+
+ if (outputFile.size() == 0 || outputFile == "-") {
+ transformer.writeTo(std::cout);
+ } else {
+ std::ofstream outStream;
+ outStream.open(outputFile.c_str());
+ transformer.writeTo(outStream);
+ outStream.close();
+ }
+ }
+
if (outType == "vhdl") {
transformer = ChartToVHDL::transform(interpreter);
transformer.setExtensions(extensions);
diff --git a/src/uscxml/transform/ChartToJava.cpp b/src/uscxml/transform/ChartToJava.cpp
new file mode 100644
index 0000000..da9c4d6
--- /dev/null
+++ b/src/uscxml/transform/ChartToJava.cpp
@@ -0,0 +1,47 @@
+/**
+ * @file
+ * @author 2016 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de)
+ * @copyright Simplified BSD
+ *
+ * @cond
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the FreeBSD license as published by the FreeBSD
+ * project.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * You should have received a copy of the FreeBSD license along with this
+ * program. If not, see <http://www.opensource.org/licenses/bsd-license>.
+ * @endcond
+ */
+
+#include "uscxml/transform/ChartToJava.h"
+#include "uscxml/util/Predicates.h"
+#include "uscxml/util/String.h"
+
+#include <boost/algorithm/string.hpp>
+#include <easylogging++.h>
+#include <algorithm>
+
+namespace uscxml {
+
+using namespace XERCESC_NS;
+
+
+Transformer ChartToJava::transform(const Interpreter& other) {
+ return std::shared_ptr<TransformerImpl>(new ChartToJava(other));
+}
+
+ChartToJava::ChartToJava(const Interpreter& other) : ChartToC(other) {
+ _prefix = "U" + _md5.substr(0, 8) + "_";
+}
+
+ChartToJava::~ChartToJava() {
+}
+
+void ChartToJava::writeTo(std::ostream& stream) {
+}
+
+} \ No newline at end of file
diff --git a/src/uscxml/transform/ChartToJava.h b/src/uscxml/transform/ChartToJava.h
new file mode 100644
index 0000000..d720613
--- /dev/null
+++ b/src/uscxml/transform/ChartToJava.h
@@ -0,0 +1,49 @@
+/**
+ * @file
+ * @author 2016 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de)
+ * @copyright Simplified BSD
+ *
+ * @cond
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the FreeBSD license as published by the FreeBSD
+ * project.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * You should have received a copy of the FreeBSD license along with this
+ * program. If not, see <http://www.opensource.org/licenses/bsd-license>.
+ * @endcond
+ */
+
+#ifndef CHARTTOJAVA_H_FD78FFC1
+#define CHARTTOJAVA_H_FD78FFC1
+
+#include "Transformer.h"
+#include "ChartToC.h"
+#include "uscxml/util/DOM.h"
+
+#include "promela/PromelaInlines.h"
+#include "promela/PromelaCodeAnalyzer.h"
+
+#include <ostream>
+
+namespace uscxml {
+
+class USCXML_API ChartToJava : public ChartToC {
+public:
+ virtual ~ChartToJava();
+ static Transformer transform(const Interpreter& other);
+
+ void writeTo(std::ostream& stream);
+
+protected:
+ ChartToJava(const Interpreter& other);
+
+};
+
+}
+
+
+#endif /* end of include guard: CHARTTOJAVA_H_FD78FFC1 */
diff --git a/src/uscxml/transform/ChartToPromela.h b/src/uscxml/transform/ChartToPromela.h
index ac7f26a..d846e03 100644
--- a/src/uscxml/transform/ChartToPromela.h
+++ b/src/uscxml/transform/ChartToPromela.h
@@ -1,6 +1,6 @@
/**
* @file
- * @author 2012-2014 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de)
+ * @author 2012-2016 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de)
* @copyright Simplified BSD
*
* @cond
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 0f263d2..f07df8d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -161,6 +161,7 @@ if (NOT BUILD_MINIMAL)
# "gen/c/promela"
"gen/vhdl/ecma"
"gen/vhdl/null"
+ "gen/java/jexl"
# bindings
"binding/java/jexl"
diff --git a/test/w3c/TESTS.md b/test/w3c/TESTS.md
new file mode 100644
index 0000000..1a03c88
--- /dev/null
+++ b/test/w3c/TESTS.md
@@ -0,0 +1,2943 @@
+<table>
+
+ <thead>
+ <tr>
+ <th colspan="3">Test (Req. / Man.)</th>
+ <th>NS</th>
+ <th>C (Lua)</th>
+ <th>C (ECMA)</th>
+ <th>ECMA</th>
+ <th>Spin</th>
+ <th>Promela</th>
+ <th>Lua</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td colspan="10"><b><big>Core Constructs</big></b></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#history">&sect;3.10</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The History Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test387.txml" alt="Before the parent state has been visited for the first time, if a transition is executed that takes the history state as its target, the SCXML processor MUST behave as if the transition had taken the default stored state configuration as its target.">387</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test388.txml" alt="After the parent state has been visited for the first time, if a transition is executed that takes the history state as its target, the SCXML processor MUST behave as if the transition had taken the stored state configuration as its target.">388</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test579.txml" alt="Before the parent state has been visited for the first time, if a transition is executed that takes the history state as its target, the SCXML processor MUST execute any executable content in the transition after the parent state's onentry content and any content in a possible initial transition.">579</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test580.txml" alt="It follows from the semantics of history states that they never end up in the state configuration">580</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#events">&sect;3.12</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>SCXML Events</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test396.txml" alt="The SCXML processor MUST use this same name value (the one reflected in the event variable) to match against the `event` attribute of transitions.">396</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test399.txml" alt="(Definition: A transition matches an event if at least one of its event descriptors matches the event's name. ) (Definition: An event descriptor matches an event name if its string of tokens is an exact match or a prefix of the set of tokens in the event's name. In all cases, the token matching is case sensitive. )">399</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test401.txml" alt="The processor MUST place these (error) events in the internal event queue.">401</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test402.txml" alt="The processor MUST process them (error events) like any other event.">402</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#SelectingTransitions">&sect;3.13</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>Selecting and Executing Transitions</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test403a.txml" alt="To execute a microstep, the SCXML Processor MUST execute the transitions in the corresponding optimal enabled transition set, where the optimal transition set enabled by event E in state configuration C is the largest set of transitions such that a) each transition in the set is optimally enabled by E in an atomic state in C b) no transition conflicts with another transition in the set c) there is no optimally enabled transition outside the set that has a higher priority than some member of the set.">403a</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test403c.txml" alt="To execute a microstep, the SCXML Processor MUST execute the transitions in the corresponding optimal enabled transition set, where the optimal transition set enabled by event E in state configuration C is the largest set of transitions such that a) each transition in the set is optimally enabled by E in an atomic state in C b) no transition conflicts with another transition in the set c) there is no optimally enabled transition outside the set that has a higher priority than some member of the set.">403c</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test403b.txml" alt="To execute a microstep, the SCXML Processor MUST execute the transitions in the corresponding optimal enabled transition set, where the optimal transition set enabled by event E in state configuration C is the largest set of transitions such that a) each transition in the set is optimally enabled by E in an atomic state in C b) no transition conflicts with another transition in the set c) there is no optimally enabled transition outside the set that has a higher priority than some member of the set.">403b</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test404.txml" alt="To execute a set of transitions, the SCXML Processor MUST first exit all the states in the transitions' exit set in exit order.">404</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test405.txml" alt="(the SCXML Processor executing a set of transitions) MUST then (after the onexits) execute the executable content contained in the transitions in document order.">405</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test406.txml" alt="(the SCXML Processor executing a set of transitions) MUST then (after the exits and the transitions) enter the states in the transitions' entry set in entry order.">406</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test407.txml" alt="To exit a state, the SCXML Processor MUST execute the executable content in the state's onexit handler.">407</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test409.txml" alt="Finally (after the onexits and canceling the invocations), the Processor MUST remove the state from the active state's list.">409</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test411.txml" alt="To enter a state, the SCXML Processor MUST add the state to the active state's list. Then it MUST execute the executable content in the state's onentry handler.">411</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test412.txml" alt="If the state is a default entry state and has an initial child, the SCXML Processor MUST then (after doing the active state add and the onentry handlers) execute the executable content in the initial child's transition.">412</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test413.txml" alt="At startup, the SCXML Processor MUST place the state machine in the configuration specified by the `initial` attribute of the scxml element.">413</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test415.txml" alt="If it (the SCXML Processor) has entered a final state that is a child of scxml (during the last microstep), it MUST halt processing.">415</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test416.txml" alt="If it (the SCXML processor) has entered a final state that is a child of a compound state (during the last microstep), it MUST generate the event done.state.id, where id is the id of the compound state.">416</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test417.txml" alt="If the compound state (which has the final element that we entered this microstep) is itself the child of a parallel element, and all the parallel element's other children are in final states, the Processor MUST generate the event done.state.id, where id is the id of the parallel element.">417</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test419.txml" alt="After checking the state configuration, the Processor MUST select the optimal transition set enabled by NULL in the current configuration. If the (optimal transition) set (enabled by NULL in the current configuration) is not empty, it (the SCXML Processor) MUST execute it (the set) as a microstep.">419</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test421.txml" alt="If the set (of eventless transitions) is empty, the Processor MUST remove events from the internal event queue until the queue is empty or it finds an event that enables a non-empty optimal transition set in the current configuration. If it finds such a set (a non-empty optimal transition set), the processor MUST then execute it as a microstep.">421</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test422.txml" alt="After completing a macrostep, the SCXML Processor MUST execute in document order the invoke handlers in all states that have been entered (and not exited) since the completion of the last macrostep.">422</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test423.txml" alt="Then (after invoking the new invoke handlers since the last macrostep) the Processor MUST remove events from the external event queue, waiting till events appear if necessary, until it finds one that enables a non-empty optimal transition set in the current configuration. The Processor MUST then execute that set (the enabled non-empty optimal transition set in the current configuration triggered by an external event) as a microstep.">423</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test503.txml" alt="If the transition does not contain a `target`, its exit set is empty.">503</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test504.txml" alt="if (a transition's) `type` is &quot;external&quot;, its exit set consists of all active states that are proper descendents of the Least Common Compound Ancestor (LCCA) of the source and target states.">504</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test505.txml" alt="Otherwise, if the transition has `type` &quot;internal&quot;, its source state is a compound state and all its target states are proper descendents of its source state, the target set consists of all active states that are proper descendents of its source state.">505</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test506.txml" alt="If a transition has `type` of &quot;internal&quot;, but its source state is not a compound state or its target states are not all proper descendents of its source state, its exit set is defined as if it had `type` of &quot;external&quot;.">506</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test533.txml" alt="If a transition has `type` of &quot;internal&quot;, but its source state is not a compound state, its exit set is defined as if it had `type` of &quot;external&quot;.">533</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#scxml">&sect;3.2</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The SCXML Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test355.txml" alt="At system initialization time, if the `initial` attribute is not present, the Processor MUST enter the first state in document order.">355</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test576.txml" alt="At system initialization time, the SCXML Processor MUST enter the states specified by the `initial` attribute, if it is present.">576</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#state">&sect;3.3</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The State Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test364.txml" alt="Definition: The default initial state(s) of a compound state are those specified by the `initial` attribute or initial element, if either is present. Otherwise it is the state's first child state in document order. If a compound state is entered either as an initial state or as the target of a transition (i.e. and no descendent of it is specified), then the SCXML Processor MUST enter the default initial state(s) after it enters the parent state.">364</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#final">&sect;3.7</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Final Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test372.txml" alt="When the state machine enters the final child of a state element, the SCXML processor MUST generate the event done.state.id after completion of the onentry elements, where id is the id of the parent state.">372</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test570.txml" alt="Immediately after generating done.state.id upon entering a final child of state, if the parent state is a child of a parallel element, and all of the parallel's other children are also in final states, the Processor MUST generate the event done.state.id where id is the id of the parallel element.">570</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#onentry">&sect;3.8</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Onentry Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test375.txml" alt="The SCXML processor MUST execute the onentry handlers of a state in document order when the state is entered.">375</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test376.txml" alt="The SCXML processor MUST treat each (onentry) handler as a separate block of executable content.">376</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#onexit">&sect;3.9</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Onexit Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test377.txml" alt="The SCXML processor MUST execute the onexit handlers of a state in document order when the state is exited.">377</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test378.txml" alt="The SCXML processor MUST treat each (onexit) handler as a separate block of executable content.">378</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td colspan="10"><b><big>Executable Content</big></b></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#raise">&sect;4.2</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Raise Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test144.txml" alt="The SCXML processor MUST place the event that is generated by the raise element at the rear of the session's internal event queue.">144</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#if">&sect;4.3</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The If Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test147.txml" alt="When the if element is executed, the SCXML processor MUST execute the first partition in document order that is defined by a tag whose `cond` attribute evaluates to true, if there is one.">147</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test148.txml" alt="When the if element is executed, if no `cond`attribute evaluates to true, the SCXML Processor must execute the partition defined by the else tag, if there is one.">148</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test149.txml" alt="When it executes an if element, if no `cond` attribute evaluates to true and there is no else element, the SCXML processor must not evaluate any executable content within the element.">149</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#foreach">&sect;4.6</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Foreach Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test150.txml" alt="In the foreach element, the SCXML processor MUST declare a new variable if the one specified by `item` is not already defined.">150</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test151.txml" alt="In the foreach element, if `index` is present, the SCXML processor MUST declare a new variable if the one specified by `index` is not already defined.">151</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test152.txml" alt="In the foreach element, if `array` does not evaluate to a legal iterable collection, or if `item` does not specify a legal variable name, the SCXML processor MUST terminate execution of the foreach element and the block that contains it, and place the error error.execution on the internal event queue.">152</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test153.txml" alt="When evaluating foreach, the SCXML processor MUST start with the first item in the collection and proceed to the last item in the iteration order that is defined for the collection. For each item in the collection in turn, the processor MUST assign it to the item variable.">153</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test155.txml" alt="when evaluating foreach, for each item, after making the assignment, the SCXML processor MUST evaluate its child executable content. It MUST then proceed to the next item in iteration order.">155</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test156.txml" alt="If the evaluation of any child element of foreach causes an error, the processor MUST cease execution of the foreach element and the block that contains it.">156</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test525.txml" alt="The SCXML processor MUST act as if it has made a shallow copy of the collection produced by the evaluation of `array`. Specifically, modifications to the collection during the execution of foreach MUST NOT affect the iteration behavior.">525</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#EvaluationofExecutableContent">&sect;4.9</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>Evaluation of Executable Content</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test158.txml" alt="The SCXML processor MUST execute the elements of a block of executable contentin document order.">158</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test159.txml" alt="If the processing of an element of executable content causes an error to be raised, the processor MUST NOT process the remaining elements of the block.">159</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td colspan="10"><b><big>Data Model and Manipulation</big></b></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#SystemVariables">&sect;5.10</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>System Variables</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test318.txml" alt="The SCXML Processor MUST bind the \_event variable when an event is pulled off the internal or external event queue to be processed, and MUST keep the variable bound to that event until another event is processed.">318</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test319.txml" alt="The SCXML Processor MUST NOT bind \_event at initialization time until the first event is processed.">319</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test321.txml" alt="The Processor MUST bind the variable \_sessionid at load time to the system-generated id for the current SCXML session.">321</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test322.txml" alt="The Processor MUST keep the \_sessionid variable bound to the system-generated id until the session terminates.">322</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test323.txml" alt="The Processor MUST bind the variable \_name at load time to the value of the `name` attribute of the scxml element. a">323</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test324.txml" alt="The Processor MUST keep the \_name variable bound to the value of the `name` attribute of the scxml element until the session terminates.">324</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test325.txml" alt="The Processor MUST bind the variable \_ioprocessors to a set of values, one for each Event I/O Processor that it supports.">325</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test326.txml" alt="The Processor MUST keep the \_ioprocessors variable bound to its set of values until the session terminates.">326</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test329.txml" alt="The Processor MUST cause any attempt to change the value of a system variable to fail.">329</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test330.txml" alt="The SCXML Processor MUST insure that the following fields (name, type, sendid, origin, origintype, invokeid, data) are present in all events (\_event variable), whether internal or external.">330</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test331.txml" alt="The SCXML Processor MUST set the type property of \_event to: &quot;platform&quot; (for events raised by the platform itself, such as error events), &quot;internal&quot; (for events raised by raise and send with target `\_internal`) or &quot;external&quot; (for all other events).">331</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test332.txml" alt="If the sending entity has specified a value for this, the Processor MUST set this field to that value. Otherwise, in the case of error events triggered by a failed attempt to send an event, the Processor MUST set the sendid field to the send id of the triggering send element.">332</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test333.txml" alt="For events other than error events triggered by a failed attempt to send an event, if the sending entity did not specify a value for the sendid field, the Processor MUST leave the sendid field (of \_event) blank.">333</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test335.txml" alt="If an event was not received from an external entity, the Processor MUST leave the origin field blank.">335</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test336.txml" alt="For external events, the SCXML Processor SHOULD set the origintype field to a value which, in combination with the `origin` field, will allow the receiver of the event to send a response back to the originating entity.">336</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test337.txml" alt="For internal and platform events, the Processor MUST leave the origintype field blank.">337</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test338.txml" alt="If an event is generated from an invoked child process, the Processor MUST set the invokeid field to the invoke id of the invocation that triggered the child process.">338</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test339.txml" alt="If an event is not generated from an invoked child process, the Processor MUST leave the invokeid field blank.">339</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test342.txml" alt="The SCXML Processor MUST set the name field (of the \_event variable) to the name of the event.">342</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test346.txml" alt="The Processor MUST place the error error.execution on the internal event queue when any attempt to change the value of a system variable is made.">346</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#data">&sect;5.3</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Data Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test276.txml" alt="The SCXML Processor MUST allow the environment to provide values for top-level data elements at instantiation time. (Top-level data elements are those that are children of the datamodel element that is a child of scxml). Specifically, the Processor MUST use the values provided at instantiation time instead of those contained in these data elements.">276</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test277.txml" alt="If the value specified for a data element (by `src`, children, or the environment) is not a legal data value, the SCXML Processor MUST raise place error.execution in the internal event queue and MUST create an empty data element in the data model with the specified id.">277</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test279.txml" alt="When `binding` attribute on the scxml element is assigned the value &quot;early&quot; (the default), the SCXML Processor MUST create all data elements and assign their initial values at document initialization time.">279</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test280.txml" alt="When `binding` attribute on the scxml element is assigned the value &quot;late&quot;, the SCXML Processor MUST create the data elements at document initialization time, but MUST assign the specified initial value to a given data element only when the state that contains it is entered for the first time, before any onentry markup.">280</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test550.txml" alt="If the `expr` attribute is present, the Platform MUST evaluate the corresponding expression at the time specified by the `binding` attribute of scxml and MUST assign the resulting value as the value of the data element">550</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test551.txml" alt="f child content is specified, the Platform MUST assign it as the value of the data element at the time specified by the `binding` attribute of scxml.">551</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test552.txml" alt="If the `src` attribute is present, the Platform MUST fetch the specified object at the time specified by the `binding` attribute of scxml and MUST assign it as the value of the data element.">552</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#assign">&sect;5.4</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Assign Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test286.txml" alt="If the location expression of an assign does not denote a valid location in the datamodel the processor MUST place the error error.execution in the internal event queue.">286</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test287.txml" alt="If the location expression of an assign denotes a valid location in the datamodel and if the value specified by `expr` is a legal value for the location specified, the processor MUST place the specified value at the specified location.">287</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test288.txml" alt="If the location expression of an assign denotes a valid location in the datamodel and if the value specified children is a legal value for the location specified, the processor MUST place the specified value at the specified location.">288</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test487.txml" alt="If the value specified (by `expr` or children) is not a legal value for the location specified, the processor MUST place the error error.execution in the internal event queue.">487</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#donedata">&sect;5.5</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Donedata Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test294.txml" alt="In cases where the SCXML Processor generates a `done` event upon entry into the final state, it MUST evaluate the donedata elements param or content children and place the resulting data in the \_event.data field. The exact format of that data will be determined by the datamodel">294</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#content">&sect;5.6</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Content Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test527.txml" alt="When the SCXML Processor evaluates the content element, if the `expr` value expression is present, the Processor MUST evaluate it and use the result as the output of the content element.">527</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test528.txml" alt="f the evaluation of `expr` produces an error, the Processor MUST place error.execution in the internal event queue and use the empty string as the output of the content element.">528</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test529.txml" alt="If the `expr` attribute is not present, the Processor MUST use the children of content as the output.">529</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#param">&sect;5.7</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Param Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test298.txml" alt="If the `location` attribute on a param element does not refer to a valid location in the data model, the processor MUST place the error error.execution on the internal event queue.">298</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test343.txml" alt="If the `location` attribute on a param element does not refer to a valid location in the data model, or if the evaluation of the `expr` produces an error, the processor MUST ignore the name and value.">343</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test488.txml" alt="if the evaluation of the `expr` produces an error, the processor MUST place the error error.execution on the internal event queue.">488</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#script">&sect;5.8</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Script Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test301.txml" alt="If the script specified by the `src` attribute of a script element cannot be downloaded within a platform-specific timeout interval, the document is considered non-conformant, and the platform MUST reject it. N.B. This test is valid only for datamodels that support scripting.">301</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test302.txml" alt="The SCXML Processor MUST evaluate any script element that is a child of scxml at document load time. N.B. This test is valid only for datamodels that support scripting.">302</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test303.txml" alt="The SCXML Processor MUST evaluate all script elements not children of scxml as part of normal executable content evaluation. N.B. This test is valid only for datamodels that support scripting.">303</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test304.txml" alt="In a conformant SCXML document, the name of any script variable MAY be used as a location expression. N.B. This test is valid only for datamodels that support scripting.">304</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#Expressions">&sect;5.9</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>Expressions</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test307.txml" alt="When &quot;late&quot; data binding is used, accessing data substructure in expressions before the corresponding data element is loaded MUST yield the same execution-time behavior as accessing non-existent data substructure in a loaded data instance.">307</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test309.txml" alt="If a conditional expression cannot be evaluated as a boolean value (`true` or `false`) or if its evaluation causes an error, the SCXML processor MUST treat the expression as if it evaluated to `false`.">309</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test310.txml" alt="All datamodels MUST support the `In()` predicate, which takes a stateID as its argument and returns true if the state machine is in that state.">310</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test311.txml" alt="If a location expression cannot be evaluated to yield a valid location, the SCXML processor MUST place the error error.execution in the internal event queue.">311</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test312.txml" alt="If a value expression does not return a legal data value, the SCXML processor MUST place the error error.execution in the internal event queue.">312</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test313.txml" alt="The SCXML processor MAY reject documents containing syntactically ill-formed expressions at document load time, or it MAY wait and place error.execution in the internal event queue at runtime when the expressions are evaluated.">313</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test314.txml" alt="If the SCXML processor waits until it evaluates the expressions at runtime to raise errors, it MUST raise errors caused by expressions returning illegal values at the points at which Appendix A Algorithm for SCXML Interpretation indicates that the expressions are to be evaluated.">314</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test344.txml" alt="If a conditional expression cannot be evaluated as a boolean value (`true` or `false`) or if its evaluation causes an error, the SCXML processor MUST place the error `error.execution` in the internal event queue.">344</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td colspan="10"><b><big>External Communications</big></b></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#send">&sect;6.2</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Send Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test172.txml" alt="If `eventexpr` is present, the SCXML Processor MUST evaluate it when the parent send element is evaluated and treat the result as if it had been entered as the value of `event`.">172</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test173.txml" alt="If `targetexpr` is present, the SCXML Processor MUST evaluate it when the parent send element is evaluated and treat the result as if it had been entered as the value of `target`.">173</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test174.txml" alt="If `typexpr` is present, the SCXML Processor MUST evaluate it when the parent send element is evaluated and treat the result as if it had been entered as the value of `type`.">174</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test175.txml" alt="If `delayexpr` is present, the SCXML Processor MUST evaluate it when the parent send element is evaluated and treat the result as if it had been entered as the value of `delay`.">175</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test176.txml" alt="The SCXML Processor MUST evaluate param when the parent send element is evaluated and pass the resulting data unmodified to the external service when the message is delivered">176</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test178.txml" alt="The SCXML Processor MUST include all attributes and values provided by param and/or `namelist` even if duplicates occur.">178</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test179.txml" alt="The SCXML Processor MUST evaluate the content element when the parent send element is evaluated and pass the resulting data unmodified to the external service when the message is delivered.">179</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test183.txml" alt="If `idlocation` is present, the SCXML Processor MUST generate an id when the parent send element is evaluated and store it in this location">183</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test185.txml" alt="If a delay is specified via `delay` or `delayexpr`, the SCXML Processor MUST interpret the character string as a time interval. the SCXML Processor MUST dispatch the message only when the delay interval elapses.">185</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test186.txml" alt="The Processor MUST evaluate all arguments to send when the send element is evaluated, and not when the message is actually dispatched.">186</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test187.txml" alt="If the SCXML session terminates before the delay interval has elapsed, the SCXML Processor MUST discard the message without attempting to deliver it.">187</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test194.txml" alt="If the value of the `target` or `targetexpr` attribute is not supported or invalid, the Processor MUST place the error error.execution on the internal event queue">194</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test198.txml" alt="If neither the `type` nor the `typeexpr` is defined, the SCXML Processor MUST assume the default value of http://www.w3.org/TR/scxml/#SCXMLEventProcessor.">198</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test199.txml" alt="f the SCXML Processor does not support the type that is specified, it MUST place the event error.execution on the internal event queue.">199</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test200.txml" alt="SCXML Processors MUST support the type http://www.w3.org/TR/scxml/#SCXMLEventProcessor">200</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test201.txml" alt="Processors that support HTTP POST must use the value http://www.w3.org/TR/scxml/#BasicHTTPEventProcessor for the &quot;type&quot; attribute">201</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test205.txml" alt="The sending SCXML Interpreter MUST not alter the content of the send and include it in the message that it sends to the destination specified in the target attribute of send.">205</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test521.txml" alt="f the Processor cannot dispatch the event, it MUST place the error error.communication on the internal event queue of the session that attempted to send the event.">521</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test553.txml" alt="If the evaluation of send's arguments produces an error, If the evaluation of send's arguments produces an error, the Processor MUST discard the message without attempting to deliver it.">553</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#cancel">&sect;6.3</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Cancel Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test207.txml" alt="The SCXML Processor MUST NOT allow cancel to affect events that were not raised in the same session.">207</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test208.txml" alt="The Processor SHOULD make its best attempt to cancel all delayed events with the specified id.">208</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test210.txml" alt="If the `sendidexpr` attribute is present, the SCXML Processor MUST evaluate it when the parent cancel element is evaluated and treat the result as if it had been entered as the value of `sendid`.">210</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#invoke">&sect;6.4</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Invoke Element</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test215.txml" alt="If the typeexpr attribute is present, the SCXML Processor MUST evaluate it when the parent invoke element is evaluated and treat the result as if it had been entered as the value of `type`.">215</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test216.txml" alt="If the srcexpr attribute is present, the SCXML Processor MUST evaluate it when the parent invoke element is evaluated and treat the result as if it had been entered as the value of `src`.">216</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test220.txml" alt="Platforms MUST support http://www.w3.org/TR/scxml/, as a value for the `type` attribute">220</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test223.txml" alt="If the `idlocation` attribute is present, the SCXML Processor MUST generate an id automatically when the invoke element is evaluated and store it in the location specified by `idlocation`.">223</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test224.txml" alt="When the platform generates an identifier for `idlocation`, the identifier MUST have the form stateid.platformid, where stateid is the id of the state containing this element and platformid is automatically generated.">224</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test225.txml" alt="n the automatically generated invoke identifier, platformid MUST be unique within the current session">225</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test226.txml" alt="When the invoke element is executed, the SCXML Processor MUST start a new logical instance of the external service specified in `type` or `typexpr`, passing it the URL specified by `src` or the data specified by content, or param.">226</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test228.txml" alt="the Processor MUST keep track of the unique invokeid and insure that it is included in all events that the invoked service returns to the invoking session.">228</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test229.txml" alt="When the `autoforward` attribute is set to true, the SCXML Processor MUST send an exact copy of every external event it receives to the invoked process.">229</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test230.txml" alt="When the SCXML Processor autoforwards an event to the invoked process, all the fields specified in 5.11.1 The Internal Structure of Events MUST have the same values in the forwarded copy of the event">230</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test232.txml" alt="he invoked external service MAY return multiple events while it is processing">232</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test233.txml" alt="If there is a finalize handler in the instance of invoke that created the service that generated the event, the SCXML Processor MUST execute the code in that finalize handler right before it removes the event from the event queue for processing.">233</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test234.txml" alt="t MUST NOT execute the finalize handler in any other instance of invoke besides the one in the instance of invoke that created the service that generated the event.">234</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test235.txml" alt="Once the invoked external service has finished processing it MUST return a special event `done.invoke.id` to the external event queue of the invoking process, where id is the invokeid for the corresponding invoke element.">235</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test236.txml" alt="The external service MUST NOT generate any other events after the invoke.done.invokeid event.">236</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test237.txml" alt="If the invoking session takes a transition out of the state containing the invoke before it receives the `done.invoke.id` event, the SCXML Processor MUST automatically cancel the invoked component and stop its processing.">237</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test239.txml" alt="Invoked services of type http://www.w3.org/TR/scxml/, http://www.w3.org/TR/ccxml/, http://www.w3.org/TR/voicexml30/, or http://www.w3.org/TR/voicexml21 MUST interpret values specified by the content element or `src` attribute as markup to be executed">239</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test240.txml" alt="Invoked services of type http://www.w3.org/TR/scxml/, http://www.w3.org/TR/ccxml/, http://www.w3.org/TR/voicexml30/, or http://www.w3.org/TR/voicexml21 MUST interpret values specified by param element or `namelist` attribute as values that are to be injected into their data models">240</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test241.txml" alt="Invoked services MUST treat values specified by param and namelist identically.">241</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test242.txml" alt="Invoked services MUST also treat values specified by `src` and content identically.">242</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test243.txml" alt="If the invoked process is of type http://www.w3.org/TR/scxml/ and `name` of a param element in the invoke matches the `id` of a data element in the top-level data declarations of the invoked session, the SCXML Processor MUST use the value of the param element as the initial value of the corresponding data element.">243</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test244.txml" alt="If the invoked process is of type http://www.w3.org/TR/scxml/ and the key of namelist item in the invoke matches the `id` of a data element in the top-level data declarations of the invoked session, the SCXML Processor MUST use the corresponding value as the initial value of the corresponding data element.">244</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test245.txml" alt="If the invoked process is of type http://www.w3.org/TR/scxml/, and the name of a param element or the key of of a namelis item do not match the name of a data element in the invoked process, the Processor MUST NOT add the value of the param element or namelist key/value pair to the invoked session's data model.">245</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test247.txml" alt="If the invoked state machine is of type http://www.w3.org/TR/scxml/ and it reaches a top-level final state, the Processor MUST place the event done.invoke.id on the external event queue of the invoking machine, where id is the invokeid for this invocation">247</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test250.txml" alt="When an invoked process of type http://www.w3.org/TR/scxml/is cancelled by the invoking process, the Processor MUST execute the onexit handlers for all active states in the invoked session">250</a></b></td>
+ <td>X</td>
+ <td>X</td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test252.txml" alt="Once it cancels an invoked session, the Processor MUST NOT insert any events it receives from the invoked session into the external event queue of the invoking session.">252</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test253.txml" alt="When the invoked session is of type http://www.w3.org/TR/scxml/, The SCXML Processor MUST support the use of SCXML Event/IO processor (E.1 SCXML Event I/O Processor) to communicate between the invoking and the invoked sessions.">253</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test530.txml" alt="The SCXML Processor MUST evaluate a child content element when the parent invoke element is evaluated and pass the resulting data to the invoked service.">530</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test554.txml" alt="if the evaluation of the invoke element's arguments arguments produces an error, the SCXML Processor MUST terminate the processing of the element without further action.">554</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td colspan="10"><b><big>Data Models</big></b></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#minimal-profile">&sect;C.1</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The Null Data Model</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test436.txml" alt="When the &quot;datamodel&quot; attribute of the scxml element has the value &quot;null&quot;, the In() predicate must return `true` if and only if that state is in the current state configuration.">436</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#ecma-profile">&sect;C.2</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The ECMAScript Data Model</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test278.txml" alt="In the ECMAScript data model, the SCXML processor MUST allow any data element to be accessed from any state.">278</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test444.txml" alt="In the ECMAScript datamodel, for each data element in the document, the SCXML Processor must create an ECMAScript variable object whose name is the value of the id attribute of the data element.">444</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test445.txml" alt="In the ECMAScript datamodel for each data element in the document, if the variable object associated with the element is not assigned at the time indicated by the `binding` attribute on the scxml element, then the SCXML Processor must assign the variable the default value ECMAScript undefined.">445</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test446.txml" alt="In the ECMAScript data model, if either the `src` attribute or in-line content is provided in the data elemenet, then if the content (whether fetched or provided in-line) is JSON and the processor supports JSON, the SCXML Processor MUST create the corresponding ECMAScript structure and assign it as the value of the data element.">446</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test448.txml" alt="In the ECMAScript datamodel, the SCXML Processor must place all variables in a single global ECMAScript scope.">448</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test449.txml" alt="In the ECMAScript datamodel, the SCXML Processor must convert ECMAScript expressions used in conditional expressions into their effective boolean value using the ToBoolean operator as described in Section 9.2 of (ECMASCRIPT-262).">449</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test451.txml" alt="In the ECMAScript datamodel, the SCXML Processor must add an ECMAScript function `In()` to the SCXML namespace that takes a stateID as its argument and returns `true` if and only if that state is in the current state configuration, as described in 5.10.1 Conditional Expressions.">451</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test452.txml" alt="In the ECMAScript datamodel, the SCXML Processor must accept any ECMAScript left-hand-side expression as a location expression.">452</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test453.txml" alt="In the ECMAScript datamodel, the SCXML Processor must accept any ECMAScript expression as a value expression.">453</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test456.txml" alt="the SCXML Processor must accept any ECMAScript program as defined in Section 14 of (ECMASCRIPT-262) as the content of a script element.">456</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test457.txml" alt="In the ECMAScript data model, the legal iterable collections are arrays, namely objects that satisfy instanceof(Array) in ECMAScript. The legal values for the `item` attribute on foreach are legal ECMAScript variable names.">457</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test459.txml" alt="In the ECMAScript data model, the iteration order for the foreach element is the order of the underlying ECMAScript array, and goes from an index of 0 by increments of one to an index of array\_name.length - 1.">459</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test460.txml" alt="In the ECMAScript data model, since shallow copy is required for the foreach element, foreach assignment is equivalent to item = array\_name(index) in ECMAScript.">460</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test557.txml" alt="In the ECMAScript data model, if either the `src` attribute or in-line content is provided in the data element, then if the content (whether fetched or provided in-line) is an XML document, the SCXML Processor MUST create the corresponding DOM structure and assign it as the value of the data element.">557</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test558.txml" alt="In the ECMAScript datamodel, if either the `src` attribute or in-line content is provided in the data element, and the content (whether fetched or provided in-line) is not an XML document or JSON (or the processor does not support JSON), then the Processor MUST treat the content as a space-normalized string literal and assign it as the value of the variable">558</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test560.txml" alt="In the ECMAScript data model, if the content provided to populate \_event.data can be interpeted as key-value pairs, then for each unique key, the SCXML Processor MUST create a property of \_event.data whose name is the name of the key-value pair and whose value is the value of the key-value pair.">560</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test561.txml" alt="In the ECMAScript data model, if the content provided to populate \_event.data can be interpreted as a valid XML document (and cannot be interpreted as key-value pairs or JSON), the Processor MUST create the corresponding DOM structure and assign it as the value \_event.data.">561</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test562.txml" alt="In the ECMAScript data model, if the content provided to populate \_event.data is neither key-value pairs nor JSON nor a valid XML document, the Processor MUST treat the content treat the content as a space-normalized string literal and assign it as the value of \_event.data.">562</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test569.txml" alt="For the \_ioprocessors system variable in the ECMAScript datamodel the Processor MUST create an array with an object for each Event I/O processor that it supports, where the name of the object is the same as that of the I/O processor. For the SCXML and BasicHTTP Event I/O processors, the Processor MUST create a location property under the object, assigning the access URI as its String value.">569</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test578.txml" alt="In the ECMAScript data model, if the content provided to populate \_event.data cannot be interpreted as key value pairs and can be interpeted as JSON and the processor supports JSON, then the Processor MUST create the corresponding ECMAScript structure(s) as properties of \_event.data.">578</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#xpath-profile">&sect;C.3</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>The XPath Data Model</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test463.txml" alt="In the XPath datamodel, for each data element in the document, the SCXML Processor MUST create a child of datamodel called &lt;data&gt; with an `id` attribute whose value is the same as that of the `id` attribute of the document data element. The Processor MUST bind an XPath variable of the same name to that datamodel data element.">463</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test464.txml" alt="In the XPath datamodel, for each data element in the document, if a value is not assigned at the time indicated by the `binding` attribute on the scxml element, then the SCXML Processor must leave the datamodel data element empty, as follows: &lt;data xmlns=&quot;&quot;&gt;&lt;/data&gt;">464</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test465.txml" alt="In the XPath datamodel, the SCXML Processor must place all variables in a single global XPath scope, such that they are subsequently available to all expressions within the document.">465</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test466.txml" alt="In the XPath datamodel, the SCXML Processor must accept any XPath 2.0 expression as a conditional expression and must convert it into its effective boolean value as described in section 2.4.3 of the (XPath 2.0) specification.">466</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test467.txml" alt="In the XPath datamodel, the SCXML Processor must add an XPath function to the SCXML namespace that takes a stateID as its argument and returns `true` if and only if that state is in the current state configuration, as described in 5.10.1 Conditional Expressions.">467</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test468.txml" alt="In the XPath datamodel, the SCXML Processor must accept any XPath 2.0 expression as a location expression.">468</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test469.txml" alt="In the XPath datamodel,the SCXML Processor must allow any XPath expression to be used as a value expression.">469</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test470.txml" alt="In the XPath datamodel, if the result of a value expression is a node-set, the Processor must make a deep copy of the subtree rooted at each node.">470</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test473.txml" alt="In the XPath datamodel, if the `type` attribute of the assign element is specified with a value of `replacechildren`, the SCXML Processor must either replace all the children at `location` with the value specified by `expr` or place the error error.execution on the internal event queue.">473</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test474.txml" alt="In the XPath datamodel, if the `type` attribute of the assign element is specified with a value of `firstchild`, the SCXML Processor must either insert the value specified by `expr` before all of the children at `location` or place the error error.execution on the internal event queue.">474</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test475.txml" alt="In the XPath datamodel,if the `type` attribute of the assign element is specified with a value of `lastchild`, the SCXML Processor must either insert the value specified by `expr` after all of the children at `location` or place the error error.execution on the internal event queue.">475</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test476.txml" alt="In the XPath datamodel,if the `type` attribute of the assign element is specified with a value of `previoussibling`, the SCXML Processor must either insert the value specified by `expr` before the node specified by `location`, keeping the same parent, or place the error error.execution on the internal event queue.">476</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test477.txml" alt="In the XPath datamodel, if the `type` attribute of the assign element is specified with a value of `nextsibling`, the SCXML Processor must either insert the value specified by `expr` after the node specified by `location`, keeping the same parent, or place the error error.execution on the internal event queue.">477</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test478.txml" alt="In the XPath datamodel, if the `type` attribute of the assign element is specified with a value of `replace`, the SCXML Processor must either replace the node specified by `location` with the value specified by `expr` or place the error error.execution on the internal event queue.">478</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test479.txml" alt="In the XPath datamodel, if the `type` attribute of the assign element is specified with a value of `delete`, the SCXML Processor must either delete the node specified by `location` or place the error error.execution on the internal event queue.">479</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test480.txml" alt="In the XPath datamodel, if the `type` attribute of the assign element is specified with a value of `addattribute`, the SCXML Processor must either add an attribute with the name specified by `attr` and value specified by `expr` to the node specified by `location` or place the error error.execution on the internal event queue.">480</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test481.txml" alt="In the XPath datamodel, if the evaluation of any of the expressions in an assign element causes an error to be raised, evaluation of the element terminates immediately and the assign has no effect. Similarly, if the processor is unable to place the specified value at the node specified by `location` it must terminate immediately, placing the error error.execution on the internal event queue, and the assign has no effect.">481</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test482.txml" alt="In the XPath datamodel, for each system variable defined in 5.11 System Variables, the SCXML Processor MUST create a datamodel &lt;data&gt; element with an `id` attribue whose value is the name of the system variable. The Processor also MUST bind an XPath variable whose name is the name of the system variable to this element.">482</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test483.txml" alt="In the XPath datamodel, In the XPath data model, the legal iterable collections are Node-Sets, and the legal values for the `item` attribute on foreach are legal XPath variable names. The iteration order is the order of the underlying Node-set, and goes from an index of 1 by increments of one to an index of count(node-set).">483</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test537.txml" alt="In the XPath datamodel,the SCXML Processor MUST maintain the XPath data model as an XML structure with a root element called &lt;datamodel&gt;. For each datamodel &lt;data&gt; element, the Processor MUST insert the value of the document data element as the child(ren) of the datamodel &lt;data&gt; element.">537</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test539.txml" alt="In the XPath datamodel, for each data element, ff either the `src` attribute or in-line content is provided in the document data element, then if the content (whether fetched or provided in-line) is XML, the SCXML Processor MUST insert the XML as the child(ren) of the datamodel &lt;data&gt; element">539</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test540.txml" alt="In the XPath datamodel, for each data element, if either the `src` attribute or in-line content is provided in the document data element, then if the content (whether fetched or provided in-line) is not XML, the Processor MUST treat the content as a space-normalized string literal and insert it as the child of the datamodel &lt;data&gt; element.">540</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test542.txml" alt="In the XPath datamodel, when content is a child of donedata, the Processor MUST interpret its value as defined in D.3.7.1 \_event.data">542</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test543.txml" alt="In the XPath datamodel, for the \_event system variable (i.e., the &lt;data id=&quot;\_event&quot;&gt; child of &lt;datamodel&gt;), for each of the fields defined in 5.11.1 The Internal Structure of Events, the Processor MUST create an child element whose name is the name of the field.">543</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test544.txml" alt="In the XPath datamodel, if the content provided to populate \_event.data can be interpreted as key-value pairs, then for each unique key, the SCXML Processor MUST create a &lt;data&gt; element as a child of \_event's data child with an `id` attribute whose value is the name of the key. The Processor MUST insert the value of the key-value pair as the content of this element.">544</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test545.txml" alt="In the XPath datamodel,if the content provided to populate \_event.data can be interpreted as a valid XML document (and not as key-value pairs), the Processor MUST insert the XML structure as the content of \_event's &lt;data&gt; child.">545</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test546.txml" alt="In the XPath datamodel, if the content provided to populate \_event.data cannot be interpreted as either key-value pairs or as a vaild XML document, the Processor MUST treat the content as a space-normalized string literal and insert it as the content of \_event's &lt;data&gt; child.">546</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test547.txml" alt="In the XPath datamodel, (when evaluating assign If the specified location contains a node set, the Processor MUST perform the assignment to each node in the set.">547</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test555.txml" alt="In the XPath datamodel, In contexts where a string is expected, the Processor MAY convert the expression result to a string using string().">555</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test568.txml" alt="In the XPath datamodel, For the \_ioprocessors system variable the Processor MUST create an child element for each Event I/O processor that it supports, where the name of the child element is the same as that of the I/O processor. For the SCXML and BasicHTTP Event I/O processors, the Processor MUST create a &lt;location&gt;child under the child element, assigning the access URI as its text child.">568</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td colspan="10"><b><big>Event I/O Processor</big></b></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#SCXMLEventProcessor">&sect;D.1</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>SCXML Event I/O Processor</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test189.txml" alt="When using the scxml event i/o processor) If the target is the special term `#\_internal`, the Processor MUST add the event to the internal event queue of the sending session">189</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test190.txml" alt="(When using the scxml event i/o processor) If the target is the special term `#\_scxml\_sessionid`, where sessionid is the id of an SCXML session that is accessible to the Processor, the Processor MUST add the event to the external queue of that session.">190</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test191.txml" alt="(When using the scxml event i/o processor) If the target is the special term `#\_parent`, the Processor MUST add the event to the external event queue of the SCXML session that invoked the sending session, if there is one.">191</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test192.txml" alt="(When using the scxml event i/o processor) If the target is the special term `#\_invokeid`, where invokeid is the invokeid of an SCXML session that the sending session has created by invoke, the Processor MUST must add the event to the external queue of that session.">192</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test193.txml" alt="(When using the scxml event i/o processor) If neither the `target` nor the `targetexpr` attribute is specified, the SCXML Processor MUST add the event to the external event queue of the sending session.">193</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test347.txml" alt="SCXML Processors MUST support sending messages to and receiving messages from other SCXML sessions using the SCXML Event I/O Processor.">347</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test348.txml" alt="name'. The sending SCXML Processor MUST take the value of this attribute from the `event` attribute of the send element. The receiving SCXML Processor MUST use it as the value the `name` field in the event that it generates.">348</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test349.txml" alt="source'. The sending SCXML Processor MUST populate this attribute with a URI that the receiving processor can use to reply to the sending processor. The receiving SCXML Processor MUST use this URI as the value of the `origin` field in the event that it generates.">349</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test350.txml" alt="target'. The sending SCXML Processor MUST take the value of this attribute from the `target` attribute of the send element. The receiving SCXML Processor MUST use this value to determine which session to deliver the message to.">350</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test351.txml" alt="sendid'. the sending SCXML Processor MUST populate this attribute with the identifier specified in the `id` attribute or automatically generated by the platform when the send tag is executed in the sending session. (See 6.2 send.) The receiving SCXML Processor MUST use this value as the value of the `sendid` field in the event that it generates. If the author of the sending session did not specify either the `id` or `idlocation` attribute, the sending SCXML Processor MUST leave this attribute empty.">351</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test352.txml" alt="`sourcetype`. The sending SCXML Processor MUST assign this attribute the value &quot;scxml&quot;. (Note that other types of senders will assign different values.) The receiving Processor MUST use this value as the value of the `origintype` field of the event that it generates.">352</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test354.txml" alt="The `data` field of the event raised in the receiving session MUST contain a copy of the data specified in the `namelist` attribute or in param or content elements in the sending session. The nature of the copy operation depends on the datamodel in question. However, the Processor MUST ensure that changes to the transmitted data in the receiving session do not affect the data in the sending session and vice-versa. The format of the `data` field will depend on the datamodel of the receiving session.">354</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test495.txml" alt="If no errors occur, the receiving Processor MUST convert the message into an SCXML event, using the mapping defined above and insert it into the appropriate queue, as defined in Send Targets.">495</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test496.txml" alt="If the sending SCXML session specifies a session that does not exist or is inaccessible, the SCXML Processor MUST place the error error.communication on the internal event queue of the sending session.">496</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test500.txml" alt="SCXML Processors that support the BasicHTTP Event I/O Processor MUST maintain a `scxml` entry in the \_ioprocessors system variable. The Processor MUST maintain a `location` field inside this entry whose value holds an address that external entities can use to communicate with this SCXML session using the SCXML Event I/O Processor.">500</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test501.txml" alt="The `location` field inside the entry for the SCXML Event I/O Processor in the \_ioprocessors system variable MUST hold an address that external entities can use to communicate with this SCXML session using the SCXML Event I/O Processor.">501</a></b></td>
+ <td>X</td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td><b><a href="http://www.w3.org/TR/2015/REC-scxml-20150901/#BasicHTTPEventProcessor">&sect;D.2</a></b></td>
+ <td colspan="9"><sub>&nbsp;</sub><b>Basic HTTP Event I/O Processor</b><sup>&nbsp;</sup></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test509.txml" alt="An SCXML Processor that supports the Basic HTTP Event I/O Processor MUST accept messages at the access URI as HTTP POST requests">509</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test510.txml" alt="The SCXML Processor MUST validate the message it receives (via the Basic HTTP Event I/O Processor) and then MUST build the appropriate SCXML event and MUST add it to the external event queue">510</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test513.txml" alt="After it adds the received message to the appropriate event queue, the SCXML Processor MUST then indicate the result to the external component via a success response code 2XX.">513</a></b></td>
+ <td></td>
+ <td>X</td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ <td><code>N/A</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test518.txml" alt="If the namelist attribute is defined (in send), the SCXML Processor MUST map its variable names and values to HTTP POST parameters">518</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test519.txml" alt="If one or more param children are present (in send), the SCXML Processor MUST map their names (i.e. name attributes) and values to HTTP POST parameters">519</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test520.txml" alt="If a content child is present, the SCXML Processor MUST use its value as the body of the message.">520</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test522.txml" alt="SCXML Processors that support the BasicHTTP Event I/O Processor MUST maintain a `basichttp` entry in the \_ioprocessors system variable. The Processor MUST maintain a in `location` field inside this entry whose value holds an address that external entities can use to communicate with this SCXML session using the Basic HTTP Event I/O Processor.">522</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test531.txml" alt="If a single instance of the parameter `\_scxmleventname` is present, the SCXML Processor MUST use its value as the name of the SCXML event that it raises.">531</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test532.txml" alt="If \_scxmleventname is not present, the Processor MUST the name of the HTTP method that was used to deliver the event as name of the SCXML event that it raises">532</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test534.txml" alt="If the `event` parameter of send is defined, the SCXML Processor MUST use its value as the value of the HTTP POST parameter \_scxmleventname">534</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test567.txml" alt="The processor MUST use any message content other than `\_scxmleventname` to populate \_event.data.">567</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ <tr>
+ <td>&nbsp;&nbsp;&nbsp;<b><a href="https://github.com/tklab-tud/uscxml/tree/master/test/w3c/txml/test577.txml" alt="If neither the `target` nor the `targetexpr` attribute is specified, the SCXML Processor MUST add the event error.communication to the internal event queue of the sending session.">577</a></b></td>
+ <td></td>
+ <td></td>
+ <td><code>pass</code></td>
+ <td><code><mark>FAIL</mark></code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>N/A</code></td>
+ <td><code>pass</code></td>
+ <td><code>pass</code></td>
+ </tr>
+ </tbody>
+</table>