## XbNode XbNode |

## Functions

gboolean | (*XbNodeTransmogrifyFunc) ()
gboolean | xb_node_transmogrify ()
gchar * | xb_node_export ()
GBytes * | xb_node_get_data ()
void | xb_node_set_data ()
XbNode * | xb_node_get_root ()
XbNode * | xb_node_get_parent ()
XbNode * | xb_node_get_next ()
XbNode * | xb_node_get_child ()
GPtrArray * | xb_node_get_children ()
const gchar * | xb_node_get_element ()
const gchar * | xb_node_get_text ()
guint64 | xb_node_get_text_as_uint ()
const gchar * | xb_node_get_tail ()
const gchar * | xb_node_get_attr ()
guint64 | xb_node_get_attr_as_uint ()
guint | xb_node_get_depth ()
void | xb_node_attr_iter_init ()
gboolean | xb_node_attr_iter_next ()
void | xb_node_child_iter_init ()
gboolean | xb_node_child_iter_next ()
gboolean | xb_node_child_iter_loop ()

## Types and Values

#define | XB_TYPE_NODE
struct | XbNodeClass
enum | XbNodeExportFlags
| XbNode

## Description

## Functions

### XbNodeTransmogrifyFunc ()

    gboolean
    (*XbNodeTransmogrifyFunc) (XbNode *self,
                               gpointer user_data);

### xb_node_transmogrify ()

    gboolean
    xb_node_transmogrify (XbNode *self,
                          XbNodeTransmogrifyFunc func_text,
                          XbNodeTransmogrifyFunc func_tail,
                          gpointer user_data);

### xb_node_export ()

    gchar *
    xb_node_export (XbNode *self,
                    XbNodeExportFlags flags,
                    GError **error);

### xb_node_get_data ()

    GBytes *
    xb_node_get_data (XbNode *self,
                      const gchar *key);

### xb_node_set_data ()

    void
    xb_node_set_data (XbNode *self,
                      const gchar *key,
                      GBytes *data);

### xb_node_get_root ()

    XbNode *
    xb_node_get_root (XbNode *self);

### xb_node_get_parent ()

    XbNode *
    xb_node_get_parent (XbNode *self);

### xb_node_get_next ()

    XbNode *
    xb_node_get_next (XbNode *self);

### xb_node_get_child ()

    XbNode *
    xb_node_get_child (XbNode *self);

### xb_node_get_children ()

    GPtrArray *
    xb_node_get_children (XbNode *self);

### xb_node_get_element ()

    const gchar *
    xb_node_get_element (XbNode *self);

### xb_node_get_text ()

    const gchar *
    xb_node_get_text (XbNode *self);

### xb_node_get_text_as_uint ()

    guint64
    xb_node_get_text_as_uint (XbNode *self);

### xb_node_get_tail ()

    const gchar *
    xb_node_get_tail (XbNode *self);

### xb_node_get_attr ()

    const gchar *
    xb_node_get_attr (XbNode *self,
                      const gchar *name);

### xb_node_get_attr_as_uint ()

    guint64
    xb_node_get_attr_as_uint (XbNode *self,
                              const gchar *name);

### xb_node_get_depth ()

    guint
    xb_node_get_depth (XbNode *self);

### xb_node_attr_iter_init ()

    void
    xb_node_attr_iter_init (XbNodeAttrIter *iter,
                            XbNode *self);

### xb_node_attr_iter_next ()

    gboolean
    xb_node_attr_iter_next (XbNodeAttrIter *iter,
                            const gchar **name,
                            const gchar **value);

### xb_node_child_iter_init ()

    void
    xb_node_child_iter_init (XbNodeChildIter *iter,
                             XbNode *self);

### xb_node_child_iter_next ()

    gboolean
    xb_node_child_iter_next (XbNodeChildIter *iter,
                             XbNode **child);

### xb_node_child_iter_loop ()

    gboolean
    xb_node_child_iter_loop (XbNodeChildIter *iter,
                             XbNode **child);

## Types and Values

### XB_TYPE_NODE

    #define XB_TYPE_NODE (xb_node_get_type ())

### struct XbNodeClass

    struct XbNodeClass {
    	GObjectClass			 parent_class;
    };

### enum XbNodeExportFlags

The flags for converting to XML.

#### Members

XB_NODE_EXPORT_FLAG_NONE | No extra flags to use |
XB_NODE_EXPORT_FLAG_ADD_HEADER | Add an XML header to the data |
XB_NODE_EXPORT_FLAG_FORMAT_MULTILINE | Split up children with a newline |
XB_NODE_EXPORT_FLAG_FORMAT_INDENT | Indent the XML by child depth |
XB_NODE_EXPORT_FLAG_INCLUDE_SIBLINGS | Include the siblings when converting |
XB_NODE_EXPORT_FLAG_ONLY_CHILDREN | Only export the children of the node |
XB_NODE_EXPORT_FLAG_COLLAPSE_EMPTY | If node has no children, collapse open and close tags |

### XbNode

    typedef struct _XbNode XbNode;