OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
BESXMLUtils Class Reference

#include <BESXMLUtils.h>

List of all members.

Public Member Functions

virtual ~BESXMLUtils ()

Static Public Member Functions

static xmlNode * GetChild (xmlNode *node, const string &child_name, string &child_value, map< string, string > &child_props)
 get the element child node of the given node with the given name
static xmlNode * GetFirstChild (xmlNode *node, string &child_name, string &child_value, map< string, string > &child_props)
 get the first element child node for the given node
static xmlNode * GetNextChild (xmlNode *child_node, string &next_name, string &next_value, map< string, string > &next_props)
 get the next element child node after the given child node
static void GetNodeInfo (xmlNode *node, string &name, string &value, map< string, string > &props)
 get the name, value if any, and any properties for the specified node
static void GetProps (xmlNode *node, map< string, string > &props)
 given an xml node, build the map of properties for that node
static void XMLErrorFunc (void *context, const char *msg,...)
 error function used by libxml2 to report errors

Detailed Description

Definition at line 46 of file BESXMLUtils.h.


Constructor & Destructor Documentation

virtual BESXMLUtils::~BESXMLUtils ( ) [virtual]

Member Function Documentation

xmlNode * BESXMLUtils::GetChild ( xmlNode *  node,
const string &  child_name,
string &  child_value,
map< string, string > &  child_props 
) [static]

get the element child node of the given node with the given name

Parameters:
nodethe xml node to get the named child node for
child_namename of the child element node to get
child_valueparameter to store the value, if any, of the named child
child_propsparameter to store any properties of the named child

Definition at line 214 of file BESXMLUtils.cc.

References GetNodeInfo(), and BESUtil::removeLeadingAndTrailingBlanks().

Here is the call graph for this function:

xmlNode * BESXMLUtils::GetFirstChild ( xmlNode *  node,
string &  child_name,
string &  child_value,
map< string, string > &  child_props 
) [static]

get the first element child node for the given node

Parameters:
nodethe xml node to get the first element child from
child_nameparameter to store the name of the first child
child_valueparameter to store the value, if any, of the first child
child_propsparameter to store any properties of the first child

Definition at line 145 of file BESXMLUtils.cc.

References GetNodeInfo().

Referenced by BESXMLGetDataDDXCommand::parse_request(), and BESXMLDefineCommand::parse_request().

Here is the call graph for this function:

xmlNode * BESXMLUtils::GetNextChild ( xmlNode *  child_node,
string &  next_name,
string &  next_value,
map< string, string > &  next_props 
) [static]

get the next element child node after the given child node

Parameters:
child_nodeget the next child after this child
next_nameparameter to store the name of the next child
next_valueparameter to store the value, if any, of the next child
next_propsparameter to store any properties of the next child

Definition at line 180 of file BESXMLUtils.cc.

References GetNodeInfo().

Referenced by BESXMLGetDataDDXCommand::parse_request(), and BESXMLDefineCommand::parse_request().

Here is the call graph for this function:

void BESXMLUtils::GetNodeInfo ( xmlNode *  node,
string &  name,
string &  value,
map< string, string > &  props 
) [static]
void BESXMLUtils::GetProps ( xmlNode *  node,
map< string, string > &  props 
) [static]

given an xml node, build the map of properties for that node

Properties can have multiple values, hence the need for a map of string keys and a list of values.

Parameters:
nodexml node to retrieve properties from
propsmap to store the property name and values in

Definition at line 66 of file BESXMLUtils.cc.

References BESUtil::removeLeadingAndTrailingBlanks(), and BESUtil::xml2id().

Referenced by GetNodeInfo().

Here is the call graph for this function:

void BESXMLUtils::XMLErrorFunc ( void *  context,
const char *  msg,
  ... 
) [static]

error function used by libxml2 to report errors

libxml2 has a default error function which simply displays the errors to stderr or stdout, whichever. This function can be used to replace the default function and store the error strings in a vector of strings

Parameters:
contextvector<string> pointer to list of error strings
msgthe error message format string
...the arguments to the error message format string

Definition at line 47 of file BESXMLUtils.cc.

Referenced by BESXMLInterface::build_data_request_plan().


The documentation for this class was generated from the following files: