CMS 3D CMS Logo

ESGainXMLTranslator.cc
Go to the documentation of this file.
6 #include <xercesc/dom/DOMNode.hpp>
7 #include <xercesc/dom/DOM.hpp>
8 #include <xercesc/parsers/XercesDOMParser.hpp>
9 #include <xercesc/util/XMLString.hpp>
10 #include <xercesc/sax/SAXException.hpp>
11 #include <xercesc/framework/LocalFileFormatTarget.hpp>
12 #include <iostream>
13 #include <sstream>
14 #include <fstream>
15 
16 using namespace XERCES_CPP_NAMESPACE;
17 using namespace xuti;
18 using namespace std;
19 
20 int
22  const EcalCondHeader& header,
23  const ESGain& record) {
24 
26 
27  std::fstream fs(filename.c_str(),ios::out);
28  fs<< dumpXML(header,record);
29 
31 
32  return 0;
33 }
34 
37  const ESGain& record) {
38 
39  unique_ptr<DOMImplementation> impl( DOMImplementationRegistry::getDOMImplementation( cms::xerces::uStr("LS").ptr()));
40 
41  DOMLSSerializer* writer = impl->createLSSerializer();
42  if( writer->getDomConfig()->canSetParameter( XMLUni::fgDOMWRTFormatPrettyPrint, true ))
43  writer->getDomConfig()->setParameter( XMLUni::fgDOMWRTFormatPrettyPrint, true );
44 
45  DOMDocumentType* doctype = impl->createDocumentType( cms::xerces::uStr("XML").ptr(), nullptr, nullptr );
46  DOMDocument * doc =
47  impl->createDocument( nullptr, cms::xerces::uStr(ADCToGeVConstant_tag.c_str()).ptr(), doctype );
48 
49  DOMElement* root = doc->getDocumentElement();
50 
51  xuti::writeHeader(root,header);
52 
54 
55  std::string dump = cms::xerces::toString(writer->writeToString( root ));
56  doc->release();
57  doctype->release();
58  writer->release();
59 
60  return dump;
61 }
62 
static std::string dumpXML(const EcalCondHeader &header, const ESGain &record)
def dumpXML(db, tag, since, filename='dump.xml')
JetCorrectorParameters::Record record
Definition: classes.h:7
Definition: ESGain.h:7
void xercesTerminate()
Definition: Xerces.cc:23
void xercesInitialize()
Definition: Xerces.cc:18
void WriteNodeWithValue(xercesc::DOMNode *parentNode, const std::string &tag, const T &value)
write a node with
const std::string ESGain_tag("ESGain")
std::string toString(XMLCh const *toTranscode)
const std::string ADCToGeVConstant_tag("EcalADCToGeVConstant")
void writeHeader(xercesc::DOMNode *parentNode, const EcalCondHeader &header)
write
ZStr< XMLCh > uStr(char const *str)
static int writeXML(const std::string &filename, const EcalCondHeader &header, const ESGain &record)
float getESGain() const
Definition: ESGain.h:13