void CXMLEngineSAXPlugin::StopParsing(TInt aError) { if(iParserContext) { xmlStopParser(iParserContext); iParserContext->errNo = aError; if ( aError == KErrNoMemory ) { xmlSetOOM(); } } }
static void _external_entity_ref_handler(void *user, const xmlChar *names, int type, const xmlChar *sys_id, const xmlChar *pub_id, xmlChar *content) { XML_Parser parser = (XML_Parser) user; if (parser->h_external_entity_ref == NULL) { return; } if (!parser->h_external_entity_ref(parser, names, (XML_Char *) "", sys_id, pub_id)) { xmlStopParser(parser->parser); parser->parser->errNo = XML_ERROR_EXTERNAL_ENTITY_HANDLING; }; }
SEXP RS_XML_xmlStopParser(SEXP r_context) { xmlParserCtxtPtr context; if(TYPEOF(r_context) != EXTPTRSXP || R_ExternalPtrTag(r_context) != Rf_install(XML_PARSER_CONTEXT_TYPE_NAME)) { PROBLEM "xmlStopParser requires an " XML_PARSER_CONTEXT_TYPE_NAME " object" ERROR; } context = (xmlParserCtxtPtr) R_ExternalPtrAddr(r_context); if(!context) { PROBLEM "NULL value passed to RS_XML_xmlStopParser. Is it a value from a previous session?" ERROR; } xmlStopParser(context); return(ScalarLogical(1)); }
void LibxmlSaxParser::abortParsing() { xmlStopParser(mParserContext); }
void HandlerBase::Stop() { xmlStopParser( context_ ); }