1 #ifndef _ots_ConfigurationHandler_h_
2 #define _ots_ConfigurationHandler_h_
5 #include <xercesc/dom/DOMDocument.hpp>
6 #include <xercesc/util/XMLChar.hpp>
8 #include "otsdaq/TableCore/TableVersion.h"
20 virtual void write(
const TableBase& ) { ; }
34 static void initPlatform(
void);
35 static void terminatePlatform(
void);
36 static bool validateNode(XMLCh* tagName,
37 xercesc::DOMNode* node,
38 const std::string& expectedValue);
39 static void outputXML(xercesc::DOMDocument* pmyDOMDocument, std::string filePath);
40 static std::string getXMLFileName(
const TableBase& configuration,
43 static xercesc::DOMNode* getNode(XMLCh* tagName,
44 xercesc::DOMNode* parent,
45 unsigned int itemNumber);
46 static xercesc::DOMNode* getNode(XMLCh* tagName,
47 xercesc::DOMElement* parent,
48 unsigned int itemNumber);
49 static xercesc::DOMElement* getElement(XMLCh* tagName,
50 xercesc::DOMNode* parent,
51 unsigned int itemNumber);
52 static xercesc::DOMElement* getElement(XMLCh* tagName,
53 xercesc::DOMElement* parent,
54 unsigned int itemNumber);
55 static XMLCh* rootTag_;
56 static XMLCh* headerTag_;
57 static XMLCh* typeTag_;
58 static XMLCh* extensionTableNameTag_;
59 static XMLCh* nameTag_;
60 static XMLCh* runTag_;
61 static XMLCh* runTypeTag_;
62 static XMLCh* runNumberTag_;
63 static XMLCh* runBeginTimestampTag_;
64 static XMLCh* locationTag_;
65 static XMLCh* datasetTag_;
66 static XMLCh* versionTag_;
67 static XMLCh* commentDescriptionTag_;
68 static XMLCh* createdByUserTag_;
69 static XMLCh* partTag_;
70 static XMLCh* nameLabelTag_;
71 static XMLCh* kindOfPartTag_;
72 static XMLCh* dataTag_;
static std::string writeXML(const TableBase &configuration)
returns the file name
static std::string getXMLDir(const TableBase *configuration)