Exemple #1
0
XepParser::XepParser()
{
    m_parser = XML_ParserCreate("UTF-8");
    XML_SetUserData(m_parser, this);
    XML_SetElementHandler(m_parser, p_element_start, p_element_end);
    XML_SetCharacterDataHandler(m_parser, p_char_data);
    XML_SetStartCdataSectionHandler(m_parser, p_start_cdata);
    XML_SetEndCdataSectionHandler(m_parser, p_end_cdata);
    m_data  = NULL;
	m_cdata = NULL;
    m_bRec = false;
    m_width  = 0;
    m_height = 0;
}
Exemple #2
0
bool_t reset_handlers_parser(parser_t *parser) {
  if( parser ) {
    XML_SetStartElementHandler(parser->p, parser->callbacks.start_tag ?
			       xml_startelementhandler : NULL);
    XML_SetEndElementHandler(parser->p, parser->callbacks.end_tag ?
			     xml_endelementhandler : NULL);
    XML_SetCommentHandler(parser->p, parser->callbacks.comment ?
			  xml_commenthandler : NULL);
    XML_SetCharacterDataHandler(parser->p, parser->callbacks.chardata ?
				xml_characterdatahandler : NULL);
    XML_SetProcessingInstructionHandler(parser->p, parser->callbacks.pidata ?
					xml_processinginstructionhandler : NULL);
    XML_SetStartCdataSectionHandler(parser->p, parser->callbacks.start_cdata ?
				    xml_startcdatahandler : NULL);
    /* if start_cdata, always set endcdatahandler */
    XML_SetEndCdataSectionHandler(parser->p, parser->callbacks.start_cdata ?
				  xml_endcdatahandler : NULL);
    XML_SetDefaultHandler(parser->p, parser->callbacks.dfault ?
    			  xml_defaulthandler : NULL);


    XML_SetStartDoctypeDeclHandler(parser->p, parser->callbacks.start_doctypedecl ?
				   xml_startdoctypedeclhandler : NULL);
    /* if start_doctypedecl, always set enddoctypedeclhandler */
    XML_SetEndDoctypeDeclHandler(parser->p, parser->callbacks.start_doctypedecl ?
				 xml_enddoctypedeclhandler : NULL);
    XML_SetEntityDeclHandler(parser->p, parser->callbacks.entitydecl ?
			     xml_entitydeclhandler : NULL);

    /* what to do about entities: there can be internal and external
     * entities, which expat treats differently. We want all our
     * entities to stay unprocessed, otherwise we'll get well formedness
     * errors. When a handler is called, the raw string is passed to
     * the default handler (provided it exists). */
    XML_UseForeignDTD(parser->p, XML_TRUE);
    XML_SetParamEntityParsing(parser->p, XML_PARAM_ENTITY_PARSING_NEVER);
    XML_SetExternalEntityRefHandler(parser->p,
				    xml_externalentityrefhandler);
    XML_SetExternalEntityRefHandlerArg(parser->p, parser);
    XML_SetSkippedEntityHandler(parser->p, xml_skippedentityhandler);


    return TRUE;
  }
  return FALSE;
}
void _Expat_XML_SetEndCdataSectionHandler(struct ExpatIFace * Self, XML_Parser parser, XML_EndCdataSectionHandler end)
{
	XML_SetEndCdataSectionHandler(parser, end);
}
Exemple #4
0
void XMLParser::EnableEndCdataSectionHandler(bool enable)
{
	assert(m_parser != NULL);
	XML_SetEndCdataSectionHandler(m_parser, enable ? EndCdataSectionHandler : NULL);
}
Exemple #5
0
void bmx_expat_XML_SetEndCdataSectionHandler(XML_Parser parser) {
	XML_SetEndCdataSectionHandler(parser, bmx_expat_EndCdataSectionHandler);
}