summaryrefslogtreecommitdiffstats
path: root/src/uscxml
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml')
-rw-r--r--src/uscxml/interpreter/BasicContentExecutor.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/uscxml/interpreter/BasicContentExecutor.cpp b/src/uscxml/interpreter/BasicContentExecutor.cpp
index 96777b1..a21255a 100644
--- a/src/uscxml/interpreter/BasicContentExecutor.cpp
+++ b/src/uscxml/interpreter/BasicContentExecutor.cpp
@@ -691,9 +691,19 @@ Data BasicContentExecutor::elementAsData(XERCESC_NS::DOMElement* element, bool a
contentSS << X((*textIter)->getNodeValue());
}
+ // this must be handled in getAsData
// test294, test562
if (LOCALNAME(element) == "content") {
- return Data(spaceNormalize(contentSS.str()), Data::VERBATIM);
+ // need first try getAsData because how to pass 179 ?
+ try {
+ // test153, we need to throw for test150 in promela
+ Data d = _callbacks->getAsData(contentSS.str());
+ if (!d.empty())
+ return d;
+ }
+ catch (ErrorEvent &) {
+ return Data(spaceNormalize(contentSS.str()), Data::VERBATIM);
+ }
}
if (asExpression) // not actually used, but likely expected