コード例 #1
0
ファイル: rdfa.c プロジェクト: Distrotech/raptor
int rdfa_parse_start(rdfacontext* context)
{
   /* create the buffers and expat parser */
   int rval = RDFA_PARSE_SUCCESS;

   context->wb_allocated = sizeof(char) * READ_BUFFER_SIZE;
   /* +1 for NUL at end, to allow strstr() etc. to work
    * malloc - only the first char needs to be NUL */
   context->working_buffer = (char*)malloc(context->wb_allocated + 1);
   *context->working_buffer = '\0';
   context->done = 0;
   context->context_stack = rdfa_create_list(32);

   /* initialize the context stack */
   rdfa_push_item(context->context_stack, context, RDFALIST_FLAG_CONTEXT);

#ifdef LIBRDFA_IN_RAPTOR
   context->sax2 = raptor_new_sax2(context->world, context->locator,
                                   context);
#else
   /* init libxml2 */
   xmlInitParser();
#endif

   /* set up the context stack */
#ifdef LIBRDFA_IN_RAPTOR
   raptor_sax2_set_start_element_handler(context->sax2,
                                         raptor_rdfa_start_element);
   raptor_sax2_set_end_element_handler(context->sax2,
                                       raptor_rdfa_end_element);
   raptor_sax2_set_characters_handler(context->sax2,
                                      raptor_rdfa_character_data);
   raptor_sax2_set_namespace_handler(context->sax2,
                                     raptor_rdfa_namespace_handler);
#endif

   rdfa_init_context(context);

#ifdef LIBRDFA_IN_RAPTOR
   context->base_uri = raptor_new_uri(context->sax2->world,
                                      (const unsigned char*)context->base);
   raptor_sax2_parse_start(context->sax2, context->base_uri);
#endif

   return rval;
}
コード例 #2
0
ファイル: rasqal_format_sparql_xml.c プロジェクト: egh/rasqal
static int
rasqal_rowsource_sparql_xml_init(rasqal_rowsource* rowsource, void *user_data) 
{
  rasqal_rowsource_sparql_xml_context* con;

  con=(rasqal_rowsource_sparql_xml_context*)user_data;

  con->rowsource=rowsource;
  con->state=STATE_unknown;

#ifdef TRACE_XML
  con->trace=1;
#endif
  con->depth=0;

  raptor_sax2_parse_start(con->sax2, con->base_uri);

  return 0;
}