65 AutoPtr<Document> pDoc =
new Document;
66 AutoPtr<Element> pDimensionElement = pDoc->createElement(
"Dimension");
67 pDoc->appendChild(pDimensionElement);
70 AutoPtr<Attr> idAttribute = pDoc->createAttribute(
"ID");
72 pDimensionElement->setAttributeNode(idAttribute);
75 AutoPtr<Element> nameElement = pDoc->createElement(
"Name");
76 AutoPtr<Text> nameText = pDoc->createTextNode(this->
getName());
77 nameElement->appendChild(nameText);
78 pDimensionElement->appendChild(nameElement);
81 AutoPtr<Element> unitsElement = pDoc->createElement(
"Units");
82 AutoPtr<Text> unitsText = pDoc->createTextNode(this->
getUnits());
83 unitsElement->appendChild(unitsText);
84 pDimensionElement->appendChild(unitsElement);
87 AutoPtr<Element> frameElement = pDoc->createElement(
"Frame");
88 AutoPtr<Text> frameText = pDoc->createTextNode(this->
getMDFrame().
name());
89 frameElement->appendChild(frameText);
90 pDimensionElement->appendChild(frameElement);
93 AutoPtr<Element> upperBoundsElement = pDoc->createElement(
"UpperBounds");
94 AutoPtr<Text> upperBoundsText = pDoc->createTextNode(boost::str(boost::format(
"%.4f") % this->
getMaximum()));
95 upperBoundsElement->appendChild(upperBoundsText);
96 pDimensionElement->appendChild(upperBoundsElement);
99 AutoPtr<Element> lowerBoundsElement = pDoc->createElement(
"LowerBounds");
100 AutoPtr<Text> lowerBoundsText = pDoc->createTextNode(boost::str(boost::format(
"%.4f") % this->
getMinimum()));
101 lowerBoundsElement->appendChild(lowerBoundsText);
102 pDimensionElement->appendChild(lowerBoundsElement);
105 AutoPtr<Element> numberOfBinsElement = pDoc->createElement(
"NumberOfBins");
106 AutoPtr<Text> numberOfBinsText = pDoc->createTextNode(boost::str(boost::format(
"%.4d") % this->
getNBins()));
107 numberOfBinsElement->appendChild(numberOfBinsText);
108 pDimensionElement->appendChild(numberOfBinsElement);
112 AutoPtr<Element> integratedElement = pDoc->createElement(
"Integrated");
114 AutoPtr<Element> upperLimitElement = pDoc->createElement(
"UpperLimit");
115 AutoPtr<Text> upperLimitText =
116 pDoc->createTextNode(boost::str(boost::format(
"%.4f") % this->
getMaximum()));
119 upperLimitElement->appendChild(upperLimitText);
120 integratedElement->appendChild(upperLimitElement);
123 AutoPtr<Element> lowerLimitElement = pDoc->createElement(
"LowerLimit");
124 AutoPtr<Text> lowerLimitText =
125 pDoc->createTextNode(boost::str(boost::format(
"%.4f") % this->
getMinimum()));
128 lowerLimitElement->appendChild(lowerLimitText);
129 integratedElement->appendChild(lowerLimitElement);
131 pDimensionElement->appendChild(integratedElement);
135 std::stringstream xmlstream;
137 writer.writeNode(xmlstream, pDoc);
139 return xmlstream.str();