Redland
view release on metacpan or search on metacpan
redland/raptor/src/raptor_internal.h view on Meta::CPAN
void raptor_free_id_set(raptor_id_set* set);
int raptor_id_set_add(raptor_id_set* set, raptor_uri* base_uri, const unsigned char *item, size_t item_len);
#ifdef RAPTOR_DEBUG
void raptor_id_set_stats_print(raptor_id_set* set, FILE *stream);
#endif
/* raptor_sax2.c */
/*
* SAX2 elements/attributes on stack
*/
struct raptor_xml_element_s {
/* NULL at bottom of stack */
struct raptor_xml_element_s *parent;
raptor_qname *name;
raptor_qname **attributes;
unsigned int attribute_count;
/* value of xml:lang attribute on this element or NULL */
const unsigned char *xml_language;
/* URI of xml:base attribute value on this element or NULL */
raptor_uri *base_uri;
/* CDATA content of element and checks for mixed content */
raptor_stringbuffer* content_cdata_sb;
unsigned int content_cdata_length;
/* how many cdata blocks seen */
unsigned int content_cdata_seen;
/* how many contained elements seen */
unsigned int content_element_seen;
raptor_sequence *declared_nspaces;
void* user_data;
};
/* start of an element */
typedef void (*raptor_sax2_start_element_handler)(void *user_data, raptor_xml_element *xml_element);
/* end of an element */
typedef void (*raptor_sax2_end_element_handler)(void *user_data, raptor_xml_element* xml_element);
/* characters */
typedef void (*raptor_sax2_characters_handler)(void *user_data, raptor_xml_element* xml_element, const unsigned char *s, int len);
/* like <![CDATA[...]> */
typedef void (*raptor_sax2_cdata_handler)(void *user_data, raptor_xml_element* xml_element, const unsigned char *s, int len);
/* comment */
typedef void (*raptor_sax2_comment_handler)(void *user_data, raptor_xml_element* xml_element, const unsigned char *s);
/* unparsed (NDATA) entity */
typedef void (*raptor_sax2_unparsed_entity_decl_handler)(void *user_data, const unsigned char* entityName, const unsigned char* base, const unsigned char* systemId, const unsigned char* publicId, const unsigned char* notationName);
/* external entity reference */
typedef int (*raptor_sax2_external_entity_ref_handler)(void *user_data, const unsigned char* context, const unsigned char* base, const unsigned char* systemId, const unsigned char* publicId);
struct raptor_sax2_s {
#ifdef RAPTOR_XML_LIBXML
int magic;
#endif
void* user_data;
#ifdef RAPTOR_XML_EXPAT
XML_Parser xp;
#ifdef EXPAT_UTF8_BOM_CRASH
int tokens_count; /* used to see if trying to get location info is safe */
#endif
#endif
#ifdef RAPTOR_XML_LIBXML
/* structure holding sax event handlers */
xmlSAXHandler sax;
/* parser context */
xmlParserCtxtPtr xc;
/* pointer to SAX document locator */
xmlSAXLocatorPtr loc;
#if LIBXML_VERSION < 20425
/* flag for some libxml eversions*/
int first_read;
#endif
#endif
/* element depth */
int depth;
/* stack of elements - elements add after current_element */
raptor_xml_element *root_element;
raptor_xml_element *current_element;
/* start of an element */
raptor_sax2_start_element_handler start_element_handler;
/* end of an element */
raptor_sax2_end_element_handler end_element_handler;
/* characters */
raptor_sax2_characters_handler characters_handler;
/* like <![CDATA[...]> */
raptor_sax2_cdata_handler cdata_handler;
/* comment */
raptor_sax2_comment_handler comment_handler;
/* unparsed (NDATA) entity */
raptor_sax2_unparsed_entity_decl_handler unparsed_entity_decl_handler;
/* external entity reference */
raptor_sax2_external_entity_ref_handler external_entity_ref_handler;
raptor_locator *locator;
void *error_data;
raptor_message_handler error_handler;
void *fatal_error_data;
raptor_message_handler fatal_error_handler;
void *warning_data;
raptor_message_handler warning_handler;
/* New XML namespace callback */
raptor_namespace_handler namespace_handler;
/* FEATURE:
* non 0 if require normalizing xml:lang attribute values to lowercase.
*/
int feature_normalize_language;
/* FEATURE:
( run in 2.728 seconds using v1.01-cache-2.11-cpan-140bd7fdf52 )