- FILE* fin=fopen(file,"r");
- if (! fin)
- {
- std::cerr << "Couldn't open schema file" << std::endl;
- throw std::invalid_argument("Couldn't open schema file");
- }
-
- p = XML_ParserCreate(NULL);
- if (! p)
- {
- std::cerr << "Couldn't allocate memory for parser" << std::endl;
- throw Exception("Couldn't allocate memory for parser");
- }
- XML_SetElementHandler(p, parser::start,parser::end);
- XML_SetCharacterDataHandler(p,parser::charac );
+ parser::main_parser.init();
+ parser::main_parser._stackParser.push(&parser::main_parser);
+ xmlSAXHandler baseHandler =
+ {
+ 0, // internal_subset,
+ 0, // isStandalone
+ 0, // hasInternalSubset
+ 0, // hasExternalSubset
+ 0, // resolveEntity
+ 0, // getEntity
+ 0, // entityDecl
+ 0, // notationDecl
+ 0, // attributeDecl
+ 0, // elementDecl
+ 0, // unparsedEntityDecl
+ 0, // setDocumentLocator
+ parser::start_document, // startDocument
+ parser::end_document, // endDocument
+ parser::start_element, // startElement
+ parser::end_element, // endElement
+ 0, // reference
+ parser::characters, // characters
+ 0, // ignorableWhitespace
+ 0, // processingInstruction
+ parser::comment, // comment
+ parser::warning, // warning
+ parser::error, // error
+ parser::fatal_error, // fatalError
+ 0, // getParameterEntity
+ parser::cdata_block, // cdataBlock
+ 0 // externalSubset
+ };