LibXML extras

## LibXML extras LibXML extras |

## Synopsis

    xmlNode *           go_xml_get_child_by_name            (xmlNode const *tree,
                                                             char const *name);
    xmlNode *           go_xml_get_child_by_name_by_lang    (xmlNode const *tree,
                                                             char const *name);
    xmlNode *           go_xml_get_child_by_name_no_lang    (xmlNode const *tree,
                                                             char const *name);
    gboolean            go_xml_node_get_bool                (xmlNodePtr node,
                                                             char const *name,
                                                             gboolean *result);
    xmlChar *           go_xml_node_get_cstr                (xmlNodePtr node,
                                                             char const *name);
    gboolean            go_xml_node_get_double              (xmlNodePtr node,
                                                             char const *name,
                                                             double *result);
    gboolean            go_xml_node_get_enum                (xmlNodePtr node,
                                                             char const *name,
                                                             GType etype,
                                                             gint *val);
    gboolean            go_xml_node_get_gocolor             (xmlNodePtr node,
                                                             char const *name,
                                                             GOColor *result);
    gboolean            go_xml_node_get_int                 (xmlNodePtr node,
                                                             char const *name,
                                                             int *result);
    void                go_xml_node_set_bool                (xmlNodePtr node,
                                                             char const *name,
                                                             gboolean val);
    void                go_xml_node_set_cstr                (xmlNodePtr node,
                                                             char const *name,
                                                             char const *val);
    void                go_xml_node_set_double              (xmlNodePtr node,
                                                             char const *name,
                                                             double val,
                                                             int precision);
    void                go_xml_node_set_enum                (xmlNodePtr node,
                                                             char const *name,
                                                             GType etype,
                                                             gint val);
    void                go_xml_node_set_gocolor             (xmlNodePtr node,
                                                             char const *name,
                                                             GOColor val);
    void                go_xml_node_set_int                 (xmlNodePtr node,
                                                             char const *name,
                                                             int val);
    void                go_xml_out_add_color                (GsfXMLOut *out,
                                                             char const *id,
                                                             GOColor c);
    xmlDocPtr           go_xml_parse_file                   (const char *filename);

## Description

## Details

### go_xml_get_child_by_name ()

    xmlNode *           go_xml_get_child_by_name            (xmlNode const *tree,
                                                             char const *name);

`tree` : | xmlNode
`name` : | child name
Returns : | the child with `name` as name if any. [transfer none]

### go_xml_get_child_by_name_by_lang ()

    xmlNode *           go_xml_get_child_by_name_by_lang    (xmlNode const *tree,
                                                             char const *name);

`tree` : | xmlNode
`name` : | child name
Returns : | the child with `name` as name and with "xml:lang" attribute corresponding to the preferred language. [transfer none]

### go_xml_get_child_by_name_no_lang ()

    xmlNode *           go_xml_get_child_by_name_no_lang    (xmlNode const *tree,
                                                             char const *name);

`tree` : | xmlNode
`name` : | child name
Returns : | the child with `name` as name and withou "xml:lang" attribute if any. [transfer none]

### go_xml_node_get_bool ()

    gboolean            go_xml_node_get_bool                (xmlNodePtr node,
                                                             char const *name,
                                                             gboolean *result);

### go_xml_node_get_cstr ()

    xmlChar *           go_xml_node_get_cstr                (xmlNodePtr node,
                                                             char const *name);

`node` : | xmlNodePtr
`name` : | attribute name Get an xmlChar * value for a node carried as an attibute result must be xmlFree
Returns : | the attribute value. [transfer full]

### go_xml_node_get_double ()

    gboolean            go_xml_node_get_double              (xmlNodePtr node,
                                                             char const *name,
                                                             double *result);

### go_xml_node_get_enum ()

    gboolean            go_xml_node_get_enum                (xmlNodePtr node,
                                                             char const *name,
                                                             GType etype,
                                                             gint *val);

### go_xml_node_get_gocolor ()

    gboolean            go_xml_node_get_gocolor             (xmlNodePtr node,
                                                             char const *name,
                                                             GOColor *result);

### go_xml_node_get_int ()

    gboolean            go_xml_node_get_int                 (xmlNodePtr node,
                                                             char const *name,
                                                             int *result);

### go_xml_node_set_bool ()

    void                go_xml_node_set_bool                (xmlNodePtr node,
                                                             char const *name,
                                                             gboolean val);

### go_xml_node_set_cstr ()

    void                go_xml_node_set_cstr                (xmlNodePtr node,
                                                             char const *name,
                                                             char const *val);

### go_xml_node_set_double ()

    void                go_xml_node_set_double              (xmlNodePtr node,
                                                             char const *name,
                                                             double val,
                                                             int precision);

### go_xml_node_set_enum ()

    void                go_xml_node_set_enum                (xmlNodePtr node,
                                                             char const *name,
                                                             GType etype,
                                                             gint val);

### go_xml_node_set_gocolor ()

    void                go_xml_node_set_gocolor             (xmlNodePtr node,
                                                             char const *name,
                                                             GOColor val);

### go_xml_node_set_int ()

    void                go_xml_node_set_int                 (xmlNodePtr node,
                                                             char const *name,
                                                             int val);

### go_xml_out_add_color ()

    void                go_xml_out_add_color                (GsfXMLOut *out,
                                                             char const *id,
                                                             GOColor c);

### go_xml_parse_file ()

    xmlDocPtr           go_xml_parse_file                   (const char *filename);

Like xmlParseFile, but faster. Does not accept compressed files. See http://bugzilla.gnome.org/show_bug.cgi?id=168414

Note: this reads the entire file into memory and should therefore not be used for user-supplied files.

`filename` : | the locale path to a file to parse.
Returns : | A libxml2 xmlDocPtr or `NULL`. [transfer full]