Redland
view release on metacpan or search on metacpan
redland/raptor/src/raptor_internal.h view on Meta::CPAN
/* finish the serializer factory */
void (*finish_factory)(raptor_serializer_factory* factory);
/* add a namespace using an existing namespace */
int (*declare_namespace_from_namespace)(raptor_serializer* serializer, raptor_namespace *nspace);
};
/* raptor_serialize.c */
void raptor_serializer_register_factory(const char *name, const char *label, const char *mime_type, const char *alias, const unsigned char *uri_string, void (*factory) (raptor_serializer_factory*));
/* raptor_general.c */
raptor_parser_factory* raptor_parser_register_factory(const char *name, const char *label, void (*factory) (raptor_parser_factory*));
void raptor_parser_factory_add_alias(raptor_parser_factory* factory, const char *alias);
void raptor_parser_factory_add_mime_type(raptor_parser_factory* factory, const char* mime_type, int q);
void raptor_parser_factory_add_uri(raptor_parser_factory* factory, const unsigned char *uri_string);
unsigned char* raptor_generate_id(raptor_parser *rdf_parser, const int id_for_bag, unsigned char* user_bnodeid);
#ifdef RAPTOR_DEBUG
void raptor_stats_print(raptor_parser *rdf_parser, FILE *stream);
#endif
const char* raptor_basename(const char *name);
raptor_statement* raptor_statement_copy(const raptor_statement *statement);
void raptor_free_statement(raptor_statement *statement);
/* raptor_parse.c */
raptor_parser_factory* raptor_get_parser_factory(const char *name);
void raptor_delete_parser_factories(void);
void raptor_free_type_q(raptor_type_q* type_q);
const char* raptor_parser_get_accept_header_all(void);
int raptor_parse_uri_no_net_filter(void *user_data, raptor_uri* uri);
/* raptor_general.c */
void raptor_invoke_message_varargs(const char *type, raptor_message_handler handler, void* user_data, raptor_locator* locator, const char *message, va_list arguments) RAPTOR_PRINTF_FORMAT(5, 0);
void raptor_invoke_simple_message_varargs(const char *type, raptor_simple_message_handler handler, void* user_data, const char *message, va_list arguments) RAPTOR_PRINTF_FORMAT(4, 0);
extern void raptor_parser_fatal_error(raptor_parser* parser, const char *message, ...) RAPTOR_PRINTF_FORMAT(2, 3);
extern void raptor_parser_error(raptor_parser* parser, const char *message, ...) RAPTOR_PRINTF_FORMAT(2, 3);
extern void raptor_parser_simple_error(void* parser, const char *message, ...) RAPTOR_PRINTF_FORMAT(2, 3);
extern void raptor_parser_error_message_handler(void *user_data, raptor_locator* locator, const char *message);
extern void raptor_parser_warning(raptor_parser* parser, const char *message, ...) RAPTOR_PRINTF_FORMAT(2, 3);
extern void raptor_parser_fatal_error_varargs(raptor_parser* parser, const char *message, va_list arguments) RAPTOR_PRINTF_FORMAT(2, 0);
extern void raptor_parser_fatal_error_message_handler(void *user_data, raptor_locator* locator, const char *message);
extern void raptor_parser_error_varargs(raptor_parser* parser, const char *message, va_list arguments) RAPTOR_PRINTF_FORMAT(2, 0);
extern void raptor_parser_warning_varargs(raptor_parser* parser, const char *message, va_list arguments) RAPTOR_PRINTF_FORMAT(2, 0);
void raptor_parser_warning_message_handler(void *user_data, raptor_locator* locator, const char *message);
/* raptor_parse.c */
typedef struct raptor_rdfxml_parser_s raptor_rdfxml_parser;
/* Prototypes for common expat/libxml parsing event-handling functions */
extern void raptor_xml_start_element_handler(void *user_data, const unsigned char *name, const unsigned char **atts);
extern void raptor_xml_end_element_handler(void *user_data, const unsigned char *name);
/* s is not 0 terminated. */
extern void raptor_xml_characters_handler(void *user_data, const unsigned char *s, int len);
extern void raptor_xml_cdata_handler(void *user_data, const unsigned char *s, int len);
void raptor_xml_comment_handler(void *user_data, const unsigned char *s);
#ifdef RAPTOR_DEBUG
void raptor_rdfxml_parser_stats_print(raptor_rdfxml_parser* rdf_xml_parser, FILE *stream);
#endif
void raptor_parser_copy_user_state(raptor_parser *to_parser, raptor_parser *from_parser);
/* raptor_feature.c */
int raptor_features_enumerate_common(const raptor_feature feature, const char **name, raptor_uri **uri, const char **label, int flags);
/* raptor_general.c */
extern int raptor_valid_xml_ID(raptor_parser *rdf_parser, const unsigned char *string);
int raptor_check_ordinal(const unsigned char *name);
/* raptor_identifier.c */
#ifdef RAPTOR_DEBUG
void raptor_identifier_print(FILE *stream, raptor_identifier* identifier);
#endif
/* raptor_locator.c */
#ifdef HAVE_STRCASECMP
#define raptor_strcasecmp strcasecmp
#define raptor_strncasecmp strncasecmp
#else
#ifdef HAVE_STRICMP
#define raptor_strcasecmp stricmp
#define raptor_strncasecmp strnicmp
#endif
#endif
/* raptor_nfc.c */
int raptor_nfc_check (const unsigned char* string, size_t len, int *error);
/* raptor_namespace.c */
#ifdef RAPTOR_DEBUG
void raptor_namespace_print(FILE *stream, raptor_namespace* ns);
#endif
void raptor_parser_start_namespace(raptor_parser* rdf_parser, raptor_namespace* nspace);
/*
* Raptor XML-namespace qualified name (qname), for elements or attributes
*
* namespace is only defined when the XML name has a namespace and
* only then is uri also given.
*/
struct raptor_qname_s {
/* Name - always present */
const unsigned char *local_name;
int local_name_length;
/* Namespace or NULL if not in a namespace */
const raptor_namespace *nspace;
/* URI of namespace+local_name or NULL if not defined */
redland/raptor/src/raptor_internal.h view on Meta::CPAN
raptor_www_content_type_handler content_type;
void *error_data;
raptor_message_handler error_handler;
void* uri_filter_user_data;
raptor_uri_filter_func uri_filter;
/* can be filled with error location information */
raptor_locator locator;
char *http_accept;
FILE* handle;
};
/* internal */
void raptor_www_libxml_init(raptor_www *www);
void raptor_www_libxml_free(raptor_www *www);
int raptor_www_libxml_fetch(raptor_www *www);
void raptor_www_error_varargs(raptor_www *www, const char *message, va_list arguments) RAPTOR_PRINTF_FORMAT(2, 0);
void raptor_www_error(raptor_www *www, const char *message, ...) RAPTOR_PRINTF_FORMAT(2, 3);
void raptor_www_curl_init(raptor_www *www);
void raptor_www_curl_free(raptor_www *www);
int raptor_www_curl_fetch(raptor_www *www);
void raptor_www_libfetch_init(raptor_www *www);
void raptor_www_libfetch_free(raptor_www *www);
int raptor_www_libfetch_fetch(raptor_www *www);
/* raptor_set.c */
raptor_id_set* raptor_new_id_set(void);
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:
* non 0 if network access is denied
*/
int feature_no_net;
/* stack of namespaces, most recently added at top */
raptor_namespace_stack namespaces;
/* base URI for resolving relative URIs or xml:base URIs */
raptor_uri* base_uri;
};
void raptor_sax2_init(void);
void raptor_sax2_finish(void);
raptor_sax2* raptor_new_sax2(void *user_data, 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);
void raptor_free_sax2(raptor_sax2 *sax2);
void raptor_sax2_set_start_element_handler(raptor_sax2* sax2, raptor_sax2_start_element_handler handler);
void raptor_sax2_set_end_element_handler(raptor_sax2* sax2, raptor_sax2_end_element_handler handler);
void raptor_sax2_set_characters_handler(raptor_sax2* sax2, raptor_sax2_characters_handler handler);
void raptor_sax2_set_cdata_handler(raptor_sax2* sax2, raptor_sax2_cdata_handler handler);
void raptor_sax2_set_comment_handler(raptor_sax2* sax2, raptor_sax2_comment_handler handler);
void raptor_sax2_set_unparsed_entity_decl_handler(raptor_sax2* sax2, raptor_sax2_unparsed_entity_decl_handler handler);
void raptor_sax2_set_external_entity_ref_handler(raptor_sax2* sax2, raptor_sax2_external_entity_ref_handler handler);
void raptor_sax2_set_namespace_handler(raptor_sax2* sax2, raptor_namespace_handler handler);
void raptor_sax2_set_locator(raptor_sax2* sax2, raptor_locator* locator);
void raptor_sax2_parse_start(raptor_sax2 *sax2, raptor_uri *base_uri);
int raptor_sax2_parse_chunk(raptor_sax2* sax2, const unsigned char *buffer, size_t len, int is_end);
void raptor_sax2_parse_handle_errors(raptor_sax2* sax2);
raptor_xml_element* raptor_xml_element_pop(raptor_sax2* sax2);
void raptor_xml_element_push(raptor_sax2* sax2, raptor_xml_element* element);
int raptor_sax2_get_depth(raptor_sax2* sax2);
void raptor_sax2_inc_depth(raptor_sax2* sax2);
void raptor_sax2_dec_depth(raptor_sax2* sax2);
const unsigned char* raptor_sax2_inscope_xml_language(raptor_sax2* sax2);
raptor_uri* raptor_sax2_inscope_base_uri(raptor_sax2* sax2);
void raptor_sax2_update_document_locator(raptor_sax2* sax2, raptor_locator* locator);
int raptor_sax2_set_feature(raptor_sax2* sax2, raptor_feature feature, int value);
#ifdef RAPTOR_DEBUG
void raptor_print_xml_element(raptor_xml_element *element, FILE* stream);
#endif
void raptor_sax2_start_element(void* user_data, const unsigned char *name, const unsigned char **atts);
void raptor_sax2_end_element(void* user_data, const unsigned char *name);
void raptor_sax2_characters(void* user_data, const unsigned char *s, int len);
void raptor_sax2_cdata(void* user_data, const unsigned char *s, int len);
void raptor_sax2_comment(void* user_data, const unsigned char *s);
void raptor_sax2_unparsed_entity_decl(void* user_data, const unsigned char* entityName, const unsigned char* base, const unsigned char* systemId, const unsigned char* publicId, const unsigned char* notationName);
int raptor_sax2_external_entity_ref(void* user_data, const unsigned char* context, const unsigned char* base, const unsigned char* systemId, const unsigned char* publicId);
/* turtle_parser.y and turtle_lexer.l */
typedef struct raptor_turtle_parser_s raptor_turtle_parser;
/* n3_parser.y and n3_lexer.l */
typedef struct raptor_n3_parser_s raptor_n3_parser;
typedef struct {
raptor_identifier *subject;
raptor_identifier *predicate;
raptor_identifier *object;
} raptor_triple;
/* raptor_rfc2396.c */
struct raptor_uri_detail_s
{
size_t uri_len;
/* buffer is the same size as the original uri_len */
unsigned char *buffer;
/* URI Components. These all point into buffer */
unsigned char *scheme;
unsigned char *authority;
unsigned char *path;
unsigned char *query;
unsigned char *fragment;
/* Lengths of the URI Components */
size_t scheme_len;
size_t authority_len;
size_t path_len;
size_t query_len;
size_t fragment_len;
};
/* for time_t */
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
/* parsedate.c */
#ifdef HAVE_INN_PARSEDATE
#include <libinn.h>
#define RAPTOR_PARSEDATE_FUNCTION parsedate
#else
#ifdef HAVE_RAPTOR_PARSE_DATE
time_t raptor_parse_date(char *p, time_t *now);
( run in 0.541 second using v1.01-cache-2.11-cpan-f56aa216473 )