27 #ifndef SCXML4CPP_DOMSCXMLREADER_H
28 #define SCXML4CPP_DOMSCXMLREADER_H
31 #error This is a C++ include file and cannot be used from plain C
34 #ifndef SCXML4CPP_SCXMLREADER_H
35 #include "scxml4cpp/SCXMLReader.h"
41 #include <xercesc/dom/DOM.hpp>
42 #include <xercesc/dom/DOMDocument.hpp>
43 #include <xercesc/dom/DOMDocumentType.hpp>
44 #include <xercesc/dom/DOMElement.hpp>
45 #include <xercesc/dom/DOMImplementation.hpp>
46 #include <xercesc/dom/DOMImplementationLS.hpp>
47 #include <xercesc/dom/DOMNodeIterator.hpp>
48 #include <xercesc/dom/DOMNodeList.hpp>
49 #include <xercesc/dom/DOMText.hpp>
50 #include <xercesc/sax/HandlerBase.hpp>
51 #include <xercesc/parsers/XercesDOMParser.hpp>
52 #include <xercesc/util/XMLUni.hpp>
55 using namespace xercesc;
72 bool read(
const std::string& filename,
73 std::list<Action*>* actions,
74 std::list<Activity*>* activities,
78 std::list<DOMElement*> mStates;
79 std::list<Action*>* mActions;
80 std::list<Activity*>* mActivities;
81 std::list<Action*> mTraces;
84 XercesDOMParser* mDomParser;
85 ErrorHandler* mErrHandler;
94 XMLCh* XML_TRANSITION;
99 XMLCh* XML_ATTR_INITIAL;
100 XMLCh* XML_ATTR_NAME;
108 XMLCh* XML_ATTR_EVENT;
109 XMLCh* XML_ATTR_COND;
110 XMLCh* XML_ATTR_TARGET;
111 XMLCh* XML_ATTR_TYPE;
120 XMLCh* XML_ATTR_ACTION_NAME;
121 XMLCh* XML_ATTR_ACTION_PARAM;
123 XMLCh* SCXML_HISTORY_DEEP;
124 XMLCh* SCXML_HISTORY_SHALLOW;
125 XMLCh* USER_DATA_KEY_STATE;
126 XMLCh* DEFAULT_SCXML_NAME;
129 void addTraces(
State* s);
132 void parseActivities();
133 void parseActions(
const XMLCh*);
135 Action* findAction(
const XMLCh*);
136 DOMNodeList* findCustomActionXMLElement(DOMElement* elementList);
137 Activity* findActivity(
const XMLCh*);
138 State* findTargetState(
const XMLCh*);
141 void resolveHistory();
142 bool isStateCompound(DOMElement*);
155 #endif // SCXML4CPP_DOMSCXMLREADER_H
Definition: DOMSCXMLReader.h:64
Definition: SCXMLReader.h:39
Definition: Activity.h:39
Definition: StateMachine.h:44