23 #ifndef XML_SCANNER_H_INCLUDED
24 #define XML_SCANNER_H_INCLUDED
57 gboolean (*
start_element_cb) (XMLScanner *
self,
const gchar *element_name,
const gchar **attribute_names,
58 const gchar **attribute_values, GError **error);
59 void (*
end_element_cb) (XMLScanner *
self,
const gchar *element_name, GError **error);
60 void (*
text_cb) (XMLScanner *
self,
const gchar *element_name,
61 const gchar *
text, gsize text_len, GError **error);
67 gpointer user_data, gchar *key_prefix);
69 void xml_scanner_parse(XMLScanner *
self,
const gchar *input, gsize input_len, GError **error);
72 xml_scanner_push_current_key_value(XMLScanner *
self,
const gchar *
name,
const gchar *
value, gssize value_length)
74 self->push_key_value.push_function(
name,
value, value_length,
self->push_key_value.user_data);
79 const gchar **attribute_values, GError **error);
82 const gchar *text, gsize text_len, GError **error);
const gchar * name
Definition: debugger.c:265
FILE ** source
Definition: file_reader.c:47
#define self
Definition: rcptid.c:38
Definition: xml-scanner.h:44
gpointer user_data
Definition: xml-scanner.h:46
PushCurrentKeyValueCB push_function
Definition: xml-scanner.h:45
Definition: xml-scanner.h:36
GPtrArray * exclude_patterns
Definition: xml-scanner.h:40
gboolean strip_whitespaces
Definition: xml-scanner.h:37
GList * exclude_tags
Definition: xml-scanner.h:38
gboolean matchstring_shouldreverse
Definition: xml-scanner.h:39
Definition: xml-scanner.h:50
XMLScannerOptions * options
Definition: xml-scanner.h:52
GString * key
Definition: xml-scanner.h:54
gboolean pop_next_time
Definition: xml-scanner.h:53
GMarkupParseContext * xml_ctx
Definition: xml-scanner.h:51
void(* text_cb)(XMLScanner *self, const gchar *element_name, const gchar *text, gsize text_len, GError **error)
Definition: xml-scanner.h:60
GQueue * text_stack
Definition: xml-scanner.h:56
GString * text
Definition: xml-scanner.h:55
PushCurrentKeyValue push_key_value
Definition: xml-scanner.h:62
void(* push_text)(XMLScanner *self)
Definition: xml-scanner.h:63
gboolean(* start_element_cb)(XMLScanner *self, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, GError **error)
Definition: xml-scanner.h:57
void(* end_element_cb)(XMLScanner *self, const gchar *element_name, GError **error)
Definition: xml-scanner.h:59
GString * value
Definition: test_decode.c:28
void xml_scanner_init(XMLScanner *self, XMLScannerOptions *options, PushCurrentKeyValueCB push_function, gpointer user_data, gchar *key_prefix)
Definition: xml-scanner.c:361
void xml_scanner_text_method(XMLScanner *self, const gchar *element_name, const gchar *text, gsize text_len, GError **error)
Definition: xml-scanner.c:310
void xml_scanner_options_set_and_compile_exclude_tags(XMLScannerOptions *self, GList *exclude_tags)
Definition: xml-scanner.c:87
void xml_scanner_end_element_method(XMLScanner *self, const gchar *element_name, GError **error)
Definition: xml-scanner.c:256
gboolean joker_or_wildcard(GList *patterns)
Definition: xml-scanner.c:53
void xml_scanner_push_text_method(XMLScanner *self)
Definition: xml-scanner.c:270
void xml_scanner_options_defaults(XMLScannerOptions *self)
Definition: xml-scanner.c:117
void xml_scanner_options_destroy(XMLScannerOptions *self)
Definition: xml-scanner.c:101
void xml_scanner_parse(XMLScanner *self, const gchar *input, gsize input_len, GError **error)
Definition: xml-scanner.c:336
void(* PushCurrentKeyValueCB)(const gchar *name, const gchar *value, gssize value_length, gpointer user_data)
Definition: xml-scanner.h:33
gboolean xml_scanner_start_element_method(XMLScanner *self, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, GError **error)
Definition: xml-scanner.c:211
void xml_scanner_options_copy(XMLScannerOptions *dest, XMLScannerOptions *source)
Definition: xml-scanner.c:110
void xml_scanner_deinit(XMLScanner *self)
Definition: xml-scanner.c:380
void xml_scanner_options_set_strip_whitespaces(XMLScannerOptions *self, gboolean setting)
Definition: xml-scanner.c:95