### Struct

# GLib MarkupParser

since: 2.0

#### Description

    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`
  No description available.
`end_element`
  No description available.
`text`
  No description available.
`passthrough`
  No description available.
`error`
  No description available.

Available since: 2.0