diff options
-rw-r--r-- | src/uscxml/Interpreter.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp index 596bf20..ed26561 100644 --- a/src/uscxml/Interpreter.cpp +++ b/src/uscxml/Interpreter.cpp @@ -2718,6 +2718,18 @@ void InterpreterImpl::finalizeAndAutoForwardCurrentEvent() { } } } + + Arabica::XPath::NodeSet<std::string> params = DOMUtils::filterChildElements(_nsInfo.xmlNSPrefix + "param", invokeIter->second.getElement()); + for (size_t l = 0; l < params.size(); l++) { + Element<std::string> paramElem = Element<std::string>(params[l]); + if (HAS_ATTR(paramElem, "location") && + _currEvent.data.compound.find(ATTR(paramElem, "location")) != _currEvent.data.compound.end()) { + std::string location = ATTR(paramElem, "location"); + _dataModel.assign(location, _currEvent.data.compound[location]); + } + } + + } } } |