1 #ifndef NEURALNETXMLREADER_H
2 #define NEURALNETXMLREADER_H
3 #ifndef NEURALNETNOXMLREADER
4 #include "NeuralNetConfig.h"
6 #if defined(_WIN32)&&!defined(USEXERCES)&&!defined(USETINYXML)
8 #elif defined(USEXERCES)&&!defined(USETINYXML)
9 #include <xercesc/parsers/XercesDOMParser.hpp>
10 #include <xercesc/sax/ErrorHandler.hpp>
11 #include <xercesc/dom/DOMDocument.hpp>
12 #include <xercesc/dom/DOMNodeList.hpp>
14 #ifndef TIXML_USE_STL // TINYXML using STL classes
19 #include "marlin/tinyxml.h"
35 void networkTopology(
int &numberOfInputs,
int &numberOfLayers);
36 void getNormalisationData(std::vector<std::string> &normaliserTypes,std::vector<std::vector<double> > &constructionData,
37 std::vector<double> &targetoffsets,std::vector<double> &targetranges);
39 int nextNeuron(std::string &neuronType,std::vector<double> &constructionData);
44 void getLayerCollection();
45 void getNeuronCollection();
48 std::string _xmlFileName;
52 #if defined(_WIN32)&&!defined(USEXERCES)&&!defined(USETINYXML)
53 MSXML2::IXMLDOMDocumentPtr _pXMLDoc;
54 MSXML2::IXMLDOMNodeListPtr _pLayers;
55 MSXML2::IXMLDOMNodeListPtr _pNeurons;
56 #elif defined(USEXERCES)&&!defined(USETINYXML)
57 XERCES_CPP_NAMESPACE_QUALIFIER XercesDOMParser *_pDOMParser;
58 XERCES_CPP_NAMESPACE_QUALIFIER ErrorHandler *_errorHandler;
59 XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *_pDoc;
60 XERCES_CPP_NAMESPACE_QUALIFIER DOMNodeList *_pLayers;
61 XERCES_CPP_NAMESPACE_QUALIFIER DOMNodeList *_pNeurons;
63 TiXmlDocument *_pXMLDoc;
64 TiXmlElement *_pDocRoot;
65 std::vector<TiXmlNode *> *_pLayers;
66 std::vector<TiXmlNode *> *_pNeurons;