diff options
Diffstat (limited to 'src/uscxml/Interpreter.cpp')
-rw-r--r-- | src/uscxml/Interpreter.cpp | 10 |
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)); } |