OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
SaxParserWrapper.cc File Reference
#include "SaxParserWrapper.h"
#include <exception>
#include <iostream>
#include <libxml/parser.h>
#include <libxml/xmlstring.h>
#include <stdio.h>
#include <string>
#include "BESDebug.h"
#include "BESError.h"
#include "BESInternalError.h"
#include "BESInternalFatalError.h"
#include "BESSyntaxUserError.h"
#include "BESForbiddenError.h"
#include "BESNotFoundError.h"
#include "NCMLDebug.h"
#include "SaxParser.h"
#include "XMLHelpers.h"
Include dependency graph for SaxParserWrapper.cc:

Go to the source code of this file.

Macros

#define BEGIN_SAFE_PARSER_BLOCK(argName)
 
#define END_SAFE_PARSER_BLOCK
 
#define NCML_PARSER_USE_SAX2_NAMESPACES   1
 

Macro Definition Documentation

#define BEGIN_SAFE_PARSER_BLOCK (   argName)
Value:
{ \
SaxParserWrapper* _spw_ = static_cast<SaxParserWrapper*>(argName); \
if (_spw_->isExceptionState()) \
{ \
return; \
} \
else \
{ \
try \
{ \
SaxParser& parser = _spw_->getParser(); \
parser.setParseLineNumber(_spw_->getCurrentParseLine());
if(!(yy_init))
Definition: lex.gse.cc:752
Wrapper for libxml SAX parser C callbacks into C++.

Definition at line 114 of file SaxParserWrapper.cc.

#define END_SAFE_PARSER_BLOCK
Value:
} \
catch (BESError& theErr) \
{ \
BESDEBUG("ncml", "Caught BESError&, deferring..." << endl); \
_spw_->deferException(theErr); \
} \
catch (std::exception& ex) \
{ \
BESDEBUG("ncml", "Caught std::exception&, wrapping and deferring..." << endl); \
BESInternalError _badness_("Wrapped std::exception.what()=" + string(ex.what()), __FILE__, __LINE__);\
_spw_->deferException(_badness_); \
} \
catch (...) \
{ \
BESDEBUG("ncml", "Caught unknown (...) exception: deferring default error." << endl); \
BESInternalError _badness_("SaxParserWrapper:: Unknown Exception Type: ", __FILE__, __LINE__); \
_spw_->deferException(_badness_); \
} \
} \
}
Abstract exception class for the BES with basic string message.
Definition: BESError.h:51
#define BESDEBUG(x, y)
macro used to send debug information to the debug stream
Definition: BESDebug.h:64

Definition at line 128 of file SaxParserWrapper.cc.

#define NCML_PARSER_USE_SAX2_NAMESPACES   1

Definition at line 54 of file SaxParserWrapper.cc.