diff options
Diffstat (limited to 'src/uscxml')
-rw-r--r-- | src/uscxml/interpreter/BasicContentExecutor.cpp | 12 |
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 |