## XbBuilderNode XbBuilderNode |

## Functions

gboolean | (*XbBuilderNodeTraverseFunc) ()
gint | (*XbBuilderNodeSortFunc) ()
XbBuilderNode * | xb_builder_node_new ()
XbBuilderNode * | xb_builder_node_insert ()
void | xb_builder_node_insert_text ()
gboolean | xb_builder_node_has_flag ()
void | xb_builder_node_add_flag ()
const gchar * | xb_builder_node_get_element ()
void | xb_builder_node_set_element ()
const gchar * | xb_builder_node_get_text ()
guint64 | xb_builder_node_get_text_as_uint ()
void | xb_builder_node_set_text ()
void | xb_builder_node_tokenize_text ()
const gchar * | xb_builder_node_get_tail ()
void | xb_builder_node_set_tail ()
const gchar * | xb_builder_node_get_attr ()
guint64 | xb_builder_node_get_attr_as_uint ()
void | xb_builder_node_set_attr ()
void | xb_builder_node_remove_attr ()
void | xb_builder_node_add_child ()
void | xb_builder_node_remove_child ()
GPtrArray * | xb_builder_node_get_children ()
XbBuilderNode * | xb_builder_node_get_first_child ()
XbBuilderNode * | xb_builder_node_get_last_child ()
XbBuilderNode * | xb_builder_node_get_child ()
void | xb_builder_node_unlink ()
XbBuilderNode * | xb_builder_node_get_parent ()
guint | xb_builder_node_depth ()
void | xb_builder_node_traverse ()
void | xb_builder_node_sort_children ()
gchar * | xb_builder_node_export ()
GPtrArray * | xb_builder_node_get_tokens ()
void | xb_builder_node_add_token ()

## Types and Values

#define | XB_TYPE_BUILDER_NODE
struct | XbBuilderNodeClass
enum | XbBuilderNodeFlags
| XbBuilderNode

## Description

## Functions

### XbBuilderNodeTraverseFunc ()

    gboolean
    (*XbBuilderNodeTraverseFunc) (XbBuilderNode *bn,
                                  gpointer user_data);

### XbBuilderNodeSortFunc ()

    gint
    (*XbBuilderNodeSortFunc) (XbBuilderNode *bn1,
                              XbBuilderNode *bn2,
                              gpointer user_data);

### xb_builder_node_new ()

    XbBuilderNode *
    xb_builder_node_new (const gchar *element);

### xb_builder_node_insert ()

    XbBuilderNode *
    xb_builder_node_insert (XbBuilderNode *parent,
                            const gchar *element,
                            ...);

### xb_builder_node_insert_text ()

    void
    xb_builder_node_insert_text (XbBuilderNode *parent,
                                 const gchar *element,
                                 const gchar *text,
                                 ...);

### xb_builder_node_has_flag ()

    gboolean
    xb_builder_node_has_flag (XbBuilderNode *self,
                              XbBuilderNodeFlags flag);

### xb_builder_node_add_flag ()

    void
    xb_builder_node_add_flag (XbBuilderNode *self,
                              XbBuilderNodeFlags flag);

### xb_builder_node_get_element ()

    const gchar *
    xb_builder_node_get_element (XbBuilderNode *self);

### xb_builder_node_set_element ()

    void
    xb_builder_node_set_element (XbBuilderNode *self,
                                 const gchar *element);

### xb_builder_node_get_text ()

    const gchar *
    xb_builder_node_get_text (XbBuilderNode *self);

### xb_builder_node_get_text_as_uint ()

    guint64
    xb_builder_node_get_text_as_uint (XbBuilderNode *self);

### xb_builder_node_set_text ()

    void
    xb_builder_node_set_text (XbBuilderNode *self,
                              const gchar *text,
                              gssize text_len);

### xb_builder_node_tokenize_text ()

    void
    xb_builder_node_tokenize_text (XbBuilderNode *self);

### xb_builder_node_get_tail ()

    const gchar *
    xb_builder_node_get_tail (XbBuilderNode *self);

### xb_builder_node_set_tail ()

    void
    xb_builder_node_set_tail (XbBuilderNode *self,
                              const gchar *tail,
                              gssize tail_len);

### xb_builder_node_get_attr ()

    const gchar *
    xb_builder_node_get_attr (XbBuilderNode *self,
                              const gchar *name);

### xb_builder_node_get_attr_as_uint ()

    guint64
    xb_builder_node_get_attr_as_uint (XbBuilderNode *self,
                                      const gchar *name);

### xb_builder_node_set_attr ()

    void
    xb_builder_node_set_attr (XbBuilderNode *self,
                              const gchar *name,
                              const gchar *value);

### xb_builder_node_remove_attr ()

    void
    xb_builder_node_remove_attr (XbBuilderNode *self,
                                 const gchar *name);

### xb_builder_node_add_child ()

    void
    xb_builder_node_add_child (XbBuilderNode *self,
                               XbBuilderNode *child);

### xb_builder_node_remove_child ()

    void
    xb_builder_node_remove_child (XbBuilderNode *self,
                                  XbBuilderNode *child);

### xb_builder_node_get_children ()

    GPtrArray *
    xb_builder_node_get_children (XbBuilderNode *self);

### xb_builder_node_get_first_child ()

    XbBuilderNode *
    xb_builder_node_get_first_child (XbBuilderNode *self);

### xb_builder_node_get_last_child ()

    XbBuilderNode *
    xb_builder_node_get_last_child (XbBuilderNode *self);

### xb_builder_node_get_child ()

    XbBuilderNode *
    xb_builder_node_get_child (XbBuilderNode *self,
                               const gchar *element,
                               const gchar *text);

### xb_builder_node_unlink ()

    void
    xb_builder_node_unlink (XbBuilderNode *self);

### xb_builder_node_get_parent ()

    XbBuilderNode *
    xb_builder_node_get_parent (XbBuilderNode *self);

### xb_builder_node_depth ()

    guint
    xb_builder_node_depth (XbBuilderNode *self);

### xb_builder_node_traverse ()

    void
    xb_builder_node_traverse (XbBuilderNode *self,
                              GTraverseType order,
                              GTraverseFlags flags,
                              gint max_depth,
                              XbBuilderNodeTraverseFunc func,
                              gpointer user_data);

### xb_builder_node_sort_children ()

    void
    xb_builder_node_sort_children (XbBuilderNode *self,
                                   XbBuilderNodeSortFunc func,
                                   gpointer user_data);

### xb_builder_node_export ()

    gchar *
    xb_builder_node_export (XbBuilderNode *self,
                            XbNodeExportFlags flags,
                            GError **error);

### xb_builder_node_get_tokens ()

    GPtrArray *
    xb_builder_node_get_tokens (XbBuilderNode *self);

### xb_builder_node_add_token ()

    void
    xb_builder_node_add_token (XbBuilderNode *self,
                               const gchar *token);

## Types and Values

### XB_TYPE_BUILDER_NODE

    #define XB_TYPE_BUILDER_NODE (xb_builder_node_get_type ())

### struct XbBuilderNodeClass

    struct XbBuilderNodeClass {
    	GObjectClass			 parent_class;
    };

### enum XbBuilderNodeFlags

The flags used when building a node.

#### Members

XB_BUILDER_NODE_FLAG_NONE | No extra flags to use |
XB_BUILDER_NODE_FLAG_IGNORE | Do not include this node in the silo |
XB_BUILDER_NODE_FLAG_LITERAL_TEXT | Assume the node CDATA is already valid |
XB_BUILDER_NODE_FLAG_HAS_TEXT | If the node has leading text |
XB_BUILDER_NODE_FLAG_HAS_TAIL | If the node has trailing text |
XB_BUILDER_NODE_FLAG_TOKENIZE_TEXT | Tokenize and fold text to ASCII (Since: 0.3.1) |
XB_BUILDER_NODE_FLAG_STRIP_TEXT | Strip leading and trailing spaces from text (Since: 0.3.4) |

### XbBuilderNode

    typedef struct _XbBuilderNode XbBuilderNode;