summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Interpreter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/Interpreter.cpp')
-rw-r--r--src/uscxml/Interpreter.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp
index b7a9d33..bb54c6f 100644
--- a/src/uscxml/Interpreter.cpp
+++ b/src/uscxml/Interpreter.cpp
@@ -917,7 +917,7 @@ void InterpreterImpl::send(const Arabica::DOM::Node<std::string>& element) {
processContentElement(contents[0], sendReq.dom, sendReq.content, expr);
if (expr.length() > 0 && _dataModel) {
try {
- sendReq.content =_dataModel.evalAsString(expr);
+ sendReq.data = _dataModel.getStringAsData(expr);
} catch (Event e) {
e.name = "error.execution";
receiveInternal(e);
@@ -1055,7 +1055,7 @@ void InterpreterImpl::invoke(const Arabica::DOM::Node<std::string>& element) {
processContentElement(contents[0], invokeReq.dom, invokeReq.content, expr);
if (expr.length() > 0 && _dataModel) {
try {
- invokeReq.content =_dataModel.evalAsString(expr);
+ invokeReq.data =_dataModel.getStringAsData(expr);
} catch (Event e) {
e.name = "error.execution";
receiveInternal(e);
@@ -1749,8 +1749,10 @@ NodeSet<std::string> InterpreterImpl::filterChildElements(const std::string& tag
NodeSet<std::string> filteredChildElems;
NodeList<std::string> childs = node.getChildNodes();
for (unsigned int i = 0; i < childs.getLength(); i++) {
- if (childs.item(i).getNodeType() != Node_base::ELEMENT_NODE ||
- !iequals(TAGNAME(childs.item(i)), tagName))
+ if (childs.item(i).getNodeType() != Node_base::ELEMENT_NODE)
+ continue;
+// std::cout << tagName << " vs " << TAGNAME(childs.item(i)) << std::endl;
+ if (!iequals(TAGNAME(childs.item(i)), tagName))
continue;
filteredChildElems.push_back(childs.item(i));
}