std::set<std::string> issueLocationsForXML(const std::string xml) { Interpreter interpreter = Interpreter::fromXML(xml, ""); // common xmlns and version requirement on scxml attribute interpreter.getDocument().getDocumentElement().setAttribute("xmlns", "http://www.w3.org/2005/07/scxml"); interpreter.getDocument().getDocumentElement().setAttribute("version", "1.0"); std::list<InterpreterIssue> issues = interpreter.validate(); std::set<std::string> issueLocations; for (std::list<InterpreterIssue>::iterator issueIter = issues.begin(); issueIter != issues.end(); issueIter++) { std::cout << *issueIter << std::endl; issueLocations.insert(issueIter->xPath); } return issueLocations; }