10 #include <libxml/encoding.h>
11 #include <libxml/xmlwriter.h>
17 const char *
HAI_NS =
"http://xml.opendap.org/ns/bes/admin/1.0#";
30 xmlBufferSetAllocationScheme(d_doc_buf, XML_BUFFER_ALLOC_DOUBLEIT);
34 if (!(d_writer = xmlNewTextWriterMemory(d_doc_buf, 0)))
37 if (xmlTextWriterSetIndent(d_writer, 4) < 0)
40 if (xmlTextWriterSetIndentString(d_writer, (
const xmlChar*)
" ") < 0)
49 if (xmlTextWriterStartDocument(d_writer, NULL,
ENCODING, NULL) < 0)
54 if (xmlTextWriterStartElementNS(d_writer, (
const xmlChar*)
"hai", (
const xmlChar*)
"BesAdminCmd", (
const xmlChar*)
HAI_NS) < 0)
68 void BESXMLWriter::m_cleanup()
72 xmlFreeTextWriter(d_writer);
77 xmlBufferFree(d_doc_buf);
87 if (d_writer && d_started) {
89 if (xmlTextWriterEndElement(d_writer) < 0)
92 if (xmlTextWriterEndDocument(d_writer) < 0)
99 xmlFreeTextWriter(d_writer);
104 if (!d_doc_buf->content)
107 return (
const char *) d_doc_buf->content;