36#include <libdap/InternalErr.h>
46 return new XDStr(*
this);
49void XDStr::print_xml_data(XMLWriter *writer,
bool show_type)
51 BESDEBUG(
"xd",
"Entering XDStr::print_xml_data" << endl);
53 Str *s =
dynamic_cast<Str*
>(d_redirect);
55 if (!s) s =
dynamic_cast<Str *
>(
this);
58 throw InternalErr(__FILE__, __LINE__,
"d_redirect is null.");
61 if (show_type) start_xml_declaration(writer);
64 BESDEBUG(
"xd",
"XDStr::print_xml_data, value = '" << s->value() <<
"'." << endl);
65 if (xmlTextWriterWriteElement(writer->get_writer(), (
const xmlChar*)
"value", (
const xmlChar*) s->value().c_str())
66 < 0)
throw InternalErr(__FILE__, __LINE__,
"Could not write value element for " + s->name());
68 if (show_type) end_xml_declaration(writer);