1 #ifndef __RootFileExplorer_H__
2 #define __RootFileExplorer_H__
19 #include "otsdaq/Macros/CoutMacros.h"
20 #include "otsdaq/MessageFacility/MessageFacility.h"
24 #include <xercesc/dom/DOM.hpp>
25 #include <xercesc/framework/LocalFileFormatTarget.hpp>
26 #include <xercesc/framework/StdOutFormatTarget.hpp>
27 #include <xercesc/util/OutOfMemoryException.hpp>
28 #include <xercesc/util/PlatformUtils.hpp>
29 #include <xercesc/util/XMLString.hpp>
31 #include <xercesc/dom/DOM.hpp>
32 #include <xercesc/dom/DOMDocument.hpp>
33 #include <xercesc/dom/DOMDocumentType.hpp>
34 #include <xercesc/dom/DOMElement.hpp>
35 #include <xercesc/dom/DOMImplementation.hpp>
36 #include <xercesc/dom/DOMImplementationLS.hpp>
37 #include <xercesc/dom/DOMImplementationRegistry.hpp>
38 #include <xercesc/dom/DOMNodeIterator.hpp>
39 #include <xercesc/dom/DOMNodeList.hpp>
40 #include <xercesc/dom/DOMText.hpp>
41 #include <xercesc/framework/LocalFileFormatTarget.hpp>
42 #include <xercesc/parsers/XercesDOMParser.hpp>
43 #include <xercesc/util/OutOfMemoryException.hpp>
44 #include <xercesc/util/XMLUni.hpp>
45 #include <xercesc/util/XercesDefs.hpp>
46 #include <xercesc/validators/common/Grammar.hpp>
50 #include "otsdaq/XmlUtilities/HttpXmlDocument.h"
52 #if defined(XERCES_NEW_IOSTREAMS)
58 #include <TDirectory.h>
70 std::string fRootPath ,
71 std::string fFoldersPath ,
72 std::string fHistName ,
73 std::string fFileName ,
76 xercesc::DOMDocument * initialize (
void ) ;
77 void makeDirectoryBinaryTree(TDirectory * currentDirectory,
79 xercesc::DOMElement * anchorNode ) ;
80 xercesc::DOMElement * populateBinaryTreeNode (xercesc::DOMElement * anchorNode ,
88 std::string fSystemPath_ ;
89 std::string fRootPath_ ;
90 std::string fFoldersPath_ ;
91 std::string fFileName_ ;
92 std::string fRFoldersPath_ ;
93 std::string fHistName_ ;
94 std::string fThisFolderPath_ ;
95 xercesc::DOMImplementation * theImplementation_;
96 xercesc::DOMDocument * theDocument_ ;
97 xercesc::DOMElement * rootElement_ ;
98 std::map<int, xercesc::DOMElement *> theNodes_ ;
99 std::map<int, std::string> theHierarchy_ ;
100 std::map<bool,std::string> isALeaf_ ;
101 const std::string rootTagName_ ;
104 std::stringstream ss_ ;