40 #include <InternalErr.h>
63 : Sequence( bt->name() ),
XDOutput( bt )
67 Vars_iter p = bt->var_begin();
68 while (p != bt->var_end()) {
75 BaseType::set_send_p(bt->send_p());
98 for (Vars_iter iter = d_vars.begin(); iter != d_vars.end(); iter++) {
99 if ((*iter)->send_p())
100 i += (*iter)->element_count(
true);
110 for (Vars_iter p = var_begin(); p != var_end(); ++p) {
111 if ((*p)->send_p()) {
127 Sequence *seq =
dynamic_cast<Sequence*
>(
d_redirect);
131 const int rows = seq->number_of_rows() ;
132 const int elements = seq->element_count() ;
135 for (
int i = 0; i < rows; ++i) {
136 BESDEBUG(
"yd",
"Working on the " << i <<
"th row" << endl);
138 if (xmlTextWriterStartElement(writer->get_writer(), (
const xmlChar*)
"row") < 0)
139 throw InternalErr(__FILE__, __LINE__,
"Could not write Array element for " + name());
140 if (xmlTextWriterWriteFormatAttribute(writer->get_writer(), (
const xmlChar*)
"number",
"%d", i) < 0)
141 throw InternalErr(__FILE__, __LINE__,
"Could not write number attribute for " + name());
144 for (
int j = 0; j < elements; ++j) {
145 BESDEBUG(
"yd",
"Working on the " << j <<
"th field" << endl);
146 BaseType *bt_ptr = seq->var_value(i, j);
149 BESDEBUG(
"yd",
"Back from print xml data." << endl);
155 if (xmlTextWriterEndElement(writer->get_writer()) < 0)
156 throw InternalErr(__FILE__, __LINE__,
"Could not end element for " + name());
virtual void start_xml_declaration(libdap::XMLWriter *writer, const char *element=0)
BaseType * basetype_to_xd(BaseType *bt)
libdap::BaseType * d_redirect
virtual BaseType * ptr_duplicate()
virtual void start_xml_declaration(libdap::XMLWriter *writer, const char *element=0)
static class NCMLUtil overview
virtual void end_xml_declaration(libdap::XMLWriter *writer)
XDSequence(const string &n)
virtual int length() const
#define BESDEBUG(x, y)
macro used to send debug information to the debug stream
virtual int element_count(bool leaves=false)
virtual void print_xml_data(libdap::XMLWriter *writer, bool show_type)
virtual void print_xml_data(libdap::XMLWriter *writer, bool show_type)