### Enumeration

# GLib MarkupCollectType

since: 2.0

#### Declaration

    flags GLib.MarkupCollectType

#### Description

A mixed enumerated type and flags field. You must specify one type (string, strdup, boolean, tristate). Additionally, you may optionally bitwise OR the type with the flag `G_MARKUP_COLLECT_OPTIONAL`.

It is likely that this enum will be extended in the future to support other types.

Available since: 2.0

#### Members

`G_MARKUP_COLLECT_INVALID`

  Used to terminate the list of attributes to collect.

  - Value: `0`
  - Nickname: `None`
  - Available since: 2.0
`G_MARKUP_COLLECT_STRING`

  Collect the string pointer directly from the attribute_values[] array. Expects a parameter of type (const char **). If `G_MARKUP_COLLECT_OPTIONAL` is specified and the attribute isn’t present then the pointer will be set to `NULL`.

  - Value: `1`
  - Nickname: `None`
  - Available since: 2.0
`G_MARKUP_COLLECT_STRDUP`

  As with `G_MARKUP_COLLECT_STRING`, but expects a parameter of type (char **) and g_strdup()s the returned pointer. The pointer must be freed with `g_free()`

  - Value: `2`
  - Nickname: `None`
  - Available since: 2.0
`G_MARKUP_COLLECT_BOOLEAN`

  Expects a parameter of type (gboolean *) and parses the attribute value as a boolean. Sets `FALSE` if the attribute isn’t present. Valid boolean values consist of (case-insensitive) “false”, “f”, “no”, “n”, “0” and “true”, “t”, “yes”, “y”, “1”

  - Value: `3`
  - Nickname: `None`
  - Available since: 2.0
`G_MARKUP_COLLECT_TRISTATE`

  As with `G_MARKUP_COLLECT_BOOLEAN`, but in the case of a missing attribute a value is set that compares equal to neither `FALSE` nor `TRUE` G_MARKUP_COLLECT_OPTIONAL is implied.

  - Value: `4`
  - Nickname: `None`
  - Available since: 2.0
`G_MARKUP_COLLECT_OPTIONAL`

  Can be bitwise ORed with the other fields. If present, allows the attribute not to appear. A default value is set depending on what value type is used.

  - Value: `65536`
  - Nickname: `None`
  - Available since: 2.0