32 #ifndef SCXML4CPP_DOMSCXMLREADERIMPL_H
33 #define SCXML4CPP_DOMSCXMLREADERIMPL_H
37 #include <xercesc/dom/DOM.hpp>
38 #include <xercesc/dom/DOMDocument.hpp>
39 #include <xercesc/dom/DOMDocumentType.hpp>
40 #include <xercesc/dom/DOMElement.hpp>
41 #include <xercesc/dom/DOMImplementation.hpp>
42 #include <xercesc/dom/DOMImplementationLS.hpp>
43 #include <xercesc/dom/DOMNodeIterator.hpp>
44 #include <xercesc/dom/DOMNodeList.hpp>
45 #include <xercesc/dom/DOMText.hpp>
46 #include <xercesc/sax/HandlerBase.hpp>
47 #include <xercesc/parsers/XercesDOMParser.hpp>
48 #include <xercesc/util/XMLUni.hpp>
100 bool read(
const std::string& filename,
101 std::list<Action*>* actions,
102 std::list<Activity*>* activities,
116 bool read(
const std::string& input,
117 const std::string&
id,
118 std::list<Action*>* actions,
119 std::list<Activity*>* activities,
124 const std::string& srcId,
125 const std::string& dstId);
130 const std::vector<std::string>&
getWarnings()
const;
136 std::vector<std::string> mWarnings;
138 std::list<xercesc::DOMElement*> mStates;
139 std::list<Action*>* mActions;
140 std::list<Activity*>* mActivities;
141 std::list<Action*> mTraces;
143 xercesc::DOMDocument* mDoc;
144 xercesc::XercesDOMParser* mDomParser;
145 xercesc::ErrorHandler* mErrHandler;
154 XMLCh* XML_TRANSITION;
159 XMLCh* XML_ATTR_INITIAL;
160 XMLCh* XML_ATTR_NAME;
168 XMLCh* XML_ATTR_EVENT;
169 XMLCh* XML_ATTR_COND;
170 XMLCh* XML_ATTR_TARGET;
171 XMLCh* XML_ATTR_TYPE;
180 XMLCh* XML_ATTR_ACTION_NAME;
181 XMLCh* XML_ATTR_ACTION_PARAM;
184 XMLCh* SCXML_HISTORY_DEEP;
185 XMLCh* SCXML_HISTORY_SHALLOW;
186 XMLCh* USER_DATA_KEY_STATE;
187 XMLCh* DEFAULT_SCXML_NAME;
189 std::string buildWarningMsg(
const std::string& str,
const XMLCh*
id);
190 void addWarning(
const std::string& msg);
192 void addTraces(
State* s);
195 void parseActivities();
196 void parseActions(
const XMLCh*);
198 Action* findAction(
const XMLCh*);
199 Action* findGuard(
const XMLCh*);
200 xercesc::DOMNodeList* findCustomActionXMLElement(xercesc::DOMElement* elementList);
201 Activity* findActivity(
const XMLCh*);
202 State* findTargetState(
const XMLCh*);
205 void resolveHistory();
206 bool isStateCompound(xercesc::DOMElement*);
Definition: Activity.h:52
Definition: DOMSCXMLReaderImpl.h:62
void setReplaceRules(const ReplaceRules &replaceRules)
Definition: DOMSCXMLReaderImpl.cpp:287
void resetWarnings()
Definition: DOMSCXMLReaderImpl.cpp:319
Impl(const Impl &)=delete
bool read(const std::string &filename, std::list< Action * > *actions, std::list< Activity * > *activities, StateMachine &sm)
Definition: DOMSCXMLReaderImpl.cpp:958
void clearReplaceRules()
Definition: DOMSCXMLReaderImpl.cpp:292
Impl()
Definition: DOMSCXMLReaderImpl.cpp:86
~Impl()
Definition: DOMSCXMLReaderImpl.cpp:198
Impl & operator=(const Impl &)=delete
const std::vector< std::string > & getWarnings() const
Definition: DOMSCXMLReaderImpl.cpp:314
Impl & operator=(Impl &&)=default
Definition: ReplaceRules.h:53
ElementType
Definition: ReplaceRules.h:55
Definition: StateMachine.h:64
Definition: Action.cpp:36