bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
dmrpp::DmrppParserSax2 Class Reference

#include <DmrppParserSax2.h>

Collaboration diagram for dmrpp::DmrppParserSax2:
Collaboration graph

Parser Actions

These methods are the 'actions' carried out by the start_element and end_element callbacks. Most of what takes place in those has been factored out to this set of functions.

class DmrppParserSax2Test
 
void intern (std::istream &f, libdap::DMR *dest_dmr)
 
void intern (const std::string &document, libdap::DMR *dest_dmr)
 
void intern (const char *buffer, int size, libdap::DMR *dest_dmr)
 
void set_strict (bool s)
 Set the 'strict' mode to true or false.
 
bool get_strict () const
 Get the setting of the 'strict' mode.
 

SAX Parser Callbacks

These methods are declared static in the class header. This gives them C linkage which allows them to be used as callbacks by the SAX parser engine.

static void dmr_start_document (void *parser)
 
static void dmr_end_document (void *parser)
 
static void dmr_start_element (void *parser, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **attributes)
 
static void dmr_end_element (void *parser, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI)
 
static void dmr_get_characters (void *parser, const xmlChar *ch, int len)
 
static void dmr_ignoreable_whitespace (void *parser, const xmlChar *ch, int len)
 
static void dmr_get_cdata (void *parser, const xmlChar *value, int len)
 
static xmlEntityPtr dmr_get_entity (void *parser, const xmlChar *name)
 
static void dmr_fatal_error (void *parser, const char *msg,...)
 
static void dmr_error (void *parser, const char *msg,...)
 

Detailed Description

Hacked DMR parser copied from libdap. This version of the parser processes dmrpp:chunk elements and stores their information (xml attributes) in Dmrpp BaseTypes.

Definition at line 66 of file DmrppParserSax2.h.

Constructor & Destructor Documentation

◆ DmrppParserSax2()

dmrpp::DmrppParserSax2::DmrppParserSax2 ( )
inline

Definition at line 256 of file DmrppParserSax2.h.

◆ ~DmrppParserSax2()

dmrpp::DmrppParserSax2::~DmrppParserSax2 ( )
inline

Definition at line 281 of file DmrppParserSax2.h.

Member Function Documentation

◆ intern() [1/3]

void dmrpp::DmrppParserSax2::intern ( const char * buffer,
int size,
libdap::DMR * dest_dmr )

Parse a DMR document stored in a char *buffer.

Parameters
documentRead the DMR from this string.
dest_dmrValue/result parameter; dumps the information to this DMR instance.
Exceptions
BESInternalErrorThrown if the XML document could not be read or parsed.

Definition at line 1811 of file DmrppParserSax2.cc.

◆ intern() [2/3]

void dmrpp::DmrppParserSax2::intern ( const std::string & document,
libdap::DMR * dest_dmr )

Parse a DMR document stored in a string.

Parameters
documentRead the DMR from this string.
dest_dmrValue/result parameter; dumps the information to this DMR instance.
Exceptions
BESInternalErrorThrown if the XML document could not be read or parsed.

Definition at line 1798 of file DmrppParserSax2.cc.

◆ intern() [3/3]

void dmrpp::DmrppParserSax2::intern ( std::istream & f,
libdap::DMR * dest_dmr )

Read the DMR from a stream.

Parameters
fThe input stream
dest_dmrValue-result parameter. Pass a pointer to a DMR in and the information in the DMR will be added to it.
boundaryIf not empty, use this as the boundary tag in a MPM document that marks the end of the part hat holds the DMR. Stop reading when the boundary is found.
debugIf true, ouput helpful debugging messages, False by default.
Exceptions
BESInternalErrorThrown if the XML document could not be read or parsed.

Definition at line 1736 of file DmrppParserSax2.cc.

Friends And Related Symbol Documentation

◆ DmrppParserSax2Test

friend class DmrppParserSax2Test
friend

Definition at line 253 of file DmrppParserSax2.h.


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