Struct

GLibMarkupParser

Description [src]

struct GMarkupParser {
  void (* start_element) (
    GMarkupParseContext* context,
    const gchar* element_name,
    const gchar** attribute_names,
    const gchar** attribute_values,
    gpointer user_data,
    GError** error
  );
  void (* end_element) (
    GMarkupParseContext* context,
    const gchar* element_name,
    gpointer user_data,
    GError** error
  );
  void (* text) (
    GMarkupParseContext* context,
    const gchar* text,
    gsize text_len,
    gpointer user_data,
    GError** error
  );
  void (* passthrough) (
    GMarkupParseContext* context,
    const gchar* passthrough_text,
    gsize text_len,
    gpointer user_data,
    GError** error
  );
  void (* error) (
    GMarkupParseContext* context,
    GError* error,
    gpointer user_data
  );
}

Any of the fields in GMarkupParser can be NULL, in which case they will be ignored. Except for the error function, any of these callbacks can set an error; in particular the G_MARKUP_ERROR_UNKNOWN_ELEMENT, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and G_MARKUP_ERROR_INVALID_CONTENT errors are intended to be set from these callbacks. If you set an error from a callback, g_markup_parse_context_parse() will report that error back to its caller.

Structure members
start_element

Callback to invoke when the opening tag of an element is seen. The callback’s attribute_names and attribute_values parameters are NULL-terminated.

end_element

Callback to invoke when the closing tag of an element is seen. Note that this is also called for empty tags like <empty/>.

text

Callback to invoke when some text is seen (text is always inside an element). Note that the text of an element may be spread over multiple calls of this function. If the G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also called for the content of CDATA marked sections.

passthrough

Callback to invoke for comments, processing instructions and doctype declarations; if you’re re-writing the parsed document, write the passthrough text back out in the same position. If the G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also called for CDATA marked sections.

error

Callback to invoke when an error occurs.