36 #include <libxml/parser.h>
37 #include <libxml/tree.h>
38 #include <libxml/xmlreader.h>
39 #include <libxml/parserInternals.h>
65 DEBTRACE(
"YACSLoader::load: " << file);
68 xmlSAXHandler baseHandler =
99 FILE* fin=fopen(file,
"r");
102 std::cerr <<
"Couldn't open schema file" << std::endl;
103 throw std::invalid_argument(
"Couldn't open schema file");
110 std::cerr <<
"Couldn't allocate memory for parser" << std::endl;
111 throw Exception(
"Couldn't allocate memory for parser");
128 throw Exception(
"Basic error during parsing.");
Class for logging error messages.
virtual void fatal(const std::string &message, const char *filename, int line)
Base class for all schema objects.
virtual Logger * getLogger(const std::string &name)
virtual void setCatalogLoaderFactory(const std::string &name, CatalogLoader *factory)
Add a catalog loader factory to the map _catalogLoaderFactoryMap under the name name.
const char * what(void) const noexcept
virtual YACS::ENGINE::Proc * load(const char *filename)
void registerProcCataLoader()
std::map< std::string, parser * > _defaultParsersMap
YACSLIBENGINE_EXPORT Runtime * getRuntime()
YACS::ENGINE::Runtime * theRuntime
YACS::ENGINE::Proc * currentProc
_xmlParserCtxt * saxContext
static void XMLCALL start_element(void *data, const xmlChar *name, const xmlChar **p)
static void XMLCALL warning(void *data, const char *fmt,...)
virtual void SetUserDataAndPush(parser *pp)
static std::stack< parser * > _stackParser
static void XMLCALL fatal_error(void *data, const char *fmt,...)
static void XMLCALL end_document(void *data)
static void XMLCALL comment(void *data, const xmlChar *value)
static parser main_parser
static void XMLCALL error(void *data, const char *fmt,...)
static void XMLCALL cdata_block(void *data, const xmlChar *value, int len)
static void XMLCALL end_element(void *data, const xmlChar *name)
static void XMLCALL start_document(void *data)
static void XMLCALL characters(void *data, const xmlChar *ch, int len)
void setDefaultMap(std::map< std::string, parser * > *)
static roottypeParser rootParser