/**\r
\brief Creates and returns an element with a boolean value\r
*/\r
- virtual Poco::XML::Element *XMLCreateBooleanElement(Poco::XML::Document *doc, const std::string &name, const bool value)\r
+ virtual Poco::AutoPtr<Poco::XML::Element> XMLCreateBooleanElement(Poco::AutoPtr<Poco::XML::Document> doc, const std::string &name, const bool value)\r
{\r
if(doc)\r
{\r
- Poco::XML::Text *txt=doc->createTextNode(value ? "true" : "false");\r
- Poco::XML::Element *el=doc->createElement(name);\r
+ Poco::AutoPtr<Poco::XML::Text> txt=doc->createTextNode(value ? "true" : "false");\r
+ Poco::AutoPtr<Poco::XML::Element> el=doc->createElement(name);\r
el->appendChild(txt);\r
return el;\r
}\r
/**\r
\brief Creates and returns an element with a CDATA value\r
*/\r
- virtual Poco::XML::Element *XMLCreateCDATAElement(Poco::XML::Document *doc, const std::string &name, const std::string &data)\r
+ virtual Poco::AutoPtr<Poco::XML::Element> XMLCreateCDATAElement(Poco::AutoPtr<Poco::XML::Document> doc, const std::string &name, const std::string &data)\r
{\r
if(doc)\r
{\r
// Poco XML won't break up CDATA sections correctly when assigned a string with the \r
// end tag is present. However, it will parse it correctly, so we will manually break the\r
// CDATA into separate parts\r
- Poco::XML::CDATASection *sec=doc->createCDATASection(StringFunctions::Replace(data,"]]>","]]]><![CDATA[]>"));\r
- Poco::XML::Element *el=doc->createElement(name);\r
+ Poco::AutoPtr<Poco::XML::CDATASection> sec=doc->createCDATASection(StringFunctions::Replace(data,"]]>","]]]><![CDATA[]>"));\r
+ Poco::AutoPtr<Poco::XML::Element> el=doc->createElement(name);\r
el->appendChild(sec);\r
return el;\r
}\r
/**\r
\brief Creates and returns a text element\r
*/\r
- virtual Poco::XML::Element *XMLCreateTextElement(Poco::XML::Document *doc, const std::string &name, const std::string &data)\r
+ virtual Poco::AutoPtr<Poco::XML::Element> XMLCreateTextElement(Poco::AutoPtr<Poco::XML::Document> doc, const std::string &name, const std::string &data)\r
{\r
if(doc)\r
{\r
- Poco::XML::Text *txt=doc->createTextNode(data);\r
- Poco::XML::Element *el=doc->createElement(name);\r
+ Poco::AutoPtr<Poco::XML::Text> txt=doc->createTextNode(data);\r
+ Poco::AutoPtr<Poco::XML::Element> el=doc->createElement(name);\r
el->appendChild(txt);\r
return el;\r
}\r
}\r
}\r
\r
- virtual Poco::XML::Element *XMLCreateTextElement(Poco::XML::Document *doc, const std::string &name, const long data)\r
+ virtual Poco::AutoPtr<Poco::XML::Element> XMLCreateTextElement(Poco::AutoPtr<Poco::XML::Document> doc, const std::string &name, const long data)\r
{\r
if(doc)\r
{\r
{\r
child=child->nextSibling();\r
}\r
+ //return child.cast<Poco::XML::Element>();\r
return static_cast<Poco::XML::Element *>(child);\r
}\r
else\r
{\r
next=next->nextSibling();\r
}\r
+ //return next.cast<Poco::XML::Element>();\r
return static_cast<Poco::XML::Element *>(next);\r
}\r
else\r
return returntext;\r
}\r
\r
- const std::string GenerateXML(Poco::XML::Document *doc)\r
+ const std::string GenerateXML(Poco::AutoPtr<Poco::XML::Document> doc, const bool prettyprint=true)\r
{\r
std::ostringstream str;\r
if(doc)\r
{\r
Poco::XML::DOMWriter dr;\r
- dr.setOptions(Poco::XML::XMLWriter::WRITE_XML_DECLARATION | Poco::XML::XMLWriter::PRETTY_PRINT);\r
+ if(prettyprint==true)\r
+ {\r
+ dr.setOptions(Poco::XML::XMLWriter::WRITE_XML_DECLARATION | Poco::XML::XMLWriter::PRETTY_PRINT);\r
+ }\r
+ else\r
+ {\r
+ dr.setOptions(Poco::XML::XMLWriter::WRITE_XML_DECLARATION);\r
+ }\r
dr.setNewLine(Poco::XML::XMLWriter::NEWLINE_CRLF);\r
dr.writeNode(str,doc);\r
}\r