6 #include <xercesc/dom/DOMNode.hpp>
7 #include <xercesc/dom/DOM.hpp>
8 #include <xercesc/dom/DOMCharacterData.hpp>
9 #include <xercesc/parsers/XercesDOMParser.hpp>
11 #include <xercesc/framework/LocalFileFormatTarget.hpp>
12 #include <xercesc/util/XMLUni.hpp>
13 #include <xercesc/util/XMLURL.hpp>
20 using namespace xercesc;
28 void HcalConstantsXMLWriter::writeXML(
string& newfile0,
const vector<int>& detvec,
const vector<int>& etavec,
const vector<int>& phivec,
const vector<int>& depthvec,
const vector<float>& scalevec)
30 int nn = newfile0.size();
32 for (
int i = 0;
i < nn;
i++)
34 newfile[
i]=newfile0[
i];
36 char const* fend=
"\0";
39 cout<<
" New file "<<newfile<<endl;
48 mDom = DOMImplementationRegistry::getDOMImplementation (tempStr);
51 mDoc = mDom->createDocument(
57 DOMWriter* domWriter = mDom->createDOMWriter();
58 domWriter->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint,
true);
59 DOMElement*
root = mDoc->getDocumentElement();
62 DOMElement* rootelem = mDoc->createElement (tempStr);
63 root->appendChild(rootelem);
66 vector<DOMElement*> theDOMVec;
68 for(
unsigned int i=0;
i<detvec.size();
i++)
70 theDOMVec.push_back(mDoc->createElement (tempStr));
71 newCellLine(theDOMVec[
i],detvec[i],etavec[i],phivec[i],depthvec[i],scalevec[i]);
72 rootelem->appendChild(theDOMVec[i]);
75 cout<<
" Write Doc "<<theDOMVec.size()<<endl;
76 domWriter->writeNode (&formTarget, *mDoc);
77 cout<<
" End of Writting "<<endl;
85 DOMAttr* attrdet = mDoc->createAttribute(tempStr);
88 DOMAttr* attreta = mDoc->createAttribute(tempStr);
91 DOMAttr* attrphi = mDoc->createAttribute(tempStr) ;
94 DOMAttr* attrdepth = mDoc->createAttribute(tempStr) ;
97 DOMAttr* attrscale = mDoc->createAttribute(tempStr) ;
102 detelem->setAttributeNode(attrdet);
108 detelem->setAttributeNode(attreta);
114 detelem->setAttributeNode(attrphi);
120 detelem->setAttributeNode(attrdepth);
126 detelem->setAttributeNode(attrscale);
void newCellLine(xercesc::DOMElement *, int, int, int, int, float)
void writeXML(std::string &, const std::vector< int > &, const std::vector< int > &, const std::vector< int > &, const std::vector< int > &, const std::vector< float > &)
XMLCh * transcode(const T &fInput)
virtual ~HcalConstantsXMLWriter()