74 AutoPtr<Document> pDoc =
new Document;
75 AutoPtr<Element> functionElement = pDoc->createElement(
"Function");
76 pDoc->appendChild(functionElement);
77 AutoPtr<Element> typeElement = pDoc->createElement(
"Type");
78 AutoPtr<Text> typeText = pDoc->createTextNode(this->
getName());
79 typeElement->appendChild(typeText);
80 functionElement->appendChild(typeElement);
82 AutoPtr<Element> parameterListElement = pDoc->createElement(
"ParameterList");
83 functionElement->appendChild(parameterListElement);
86 AutoPtr<Element> normParameterElement = pDoc->createElement(
"Parameter");
87 parameterListElement->appendChild(normParameterElement);
88 AutoPtr<Element> normTypeElement = pDoc->createElement(
"Type");
89 AutoPtr<Text> normText = pDoc->createTextNode(
"NormalParameter");
90 normTypeElement->appendChild(normText);
91 normParameterElement->appendChild(normTypeElement);
92 AutoPtr<Element> normValueElement = pDoc->createElement(
"Value");
94 AutoPtr<Text> normValueText = pDoc->createTextNode(this->
coordValue(norm));
95 normValueElement->appendChild(normValueText);
96 normParameterElement->appendChild(normValueElement);
99 AutoPtr<Element> origParameterElement = pDoc->createElement(
"Parameter");
100 parameterListElement->appendChild(origParameterElement);
101 AutoPtr<Element> origTypeElement = pDoc->createElement(
"Type");
102 AutoPtr<Text> origText = pDoc->createTextNode(
"OriginParameter");
103 origTypeElement->appendChild(origText);
104 origParameterElement->appendChild(origTypeElement);
105 AutoPtr<Element> origValueElement = pDoc->createElement(
"Value");
106 origParameterElement->appendChild(origValueElement);
107 AutoPtr<Text> origValueText = pDoc->createTextNode(this->
coordValue(this->
origin.data()));
108 origValueElement->appendChild(origValueText);
109 origParameterElement->appendChild(origValueElement);
111 std::stringstream xmlstream;
113 writer.writeNode(xmlstream, pDoc);
115 std::string formattedXMLString = boost::str(boost::format(xmlstream.str().c_str()));
116 return formattedXMLString;