## GOLibxmlExtras

GOLibxmlExtras

## Synopsis

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

## Description

## Details

### 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`.

### go_xml_node_get_cstr ()

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

`node` : |
`name` : |
Returns : |

### go_xml_node_set_cstr ()

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

`node` : |
`name` : |
`val` : |

### go_xml_node_get_bool ()

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

`node` : |
`name` : |
`result` : |
Returns : |

### go_xml_node_set_bool ()

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

`node` : |
`name` : |
`val` : |

### go_xml_node_get_int ()

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

`node` : |
`name` : |
`result` : |
Returns : |

### go_xml_node_set_int ()

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

`node` : |
`name` : |
`val` : |

### go_xml_node_get_double ()

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

`node` : |
`name` : |
`result` : |
Returns : |

### go_xml_node_set_double ()

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

`node` : |
`name` : |
`val` : |
`precision` : |

### go_xml_node_get_gocolor ()

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

`node` : |
`name` : |
`result` : |
Returns : |

### go_xml_node_set_gocolor ()

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

`node` : |
`name` : |
`val` : |

### go_xml_node_get_enum ()

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

`node` : |
`name` : |
`etype` : |
`val` : |
Returns : |

### go_xml_node_set_enum ()

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

`node` : |
`name` : |
`etype` : |
`val` : |

### go_xml_get_child_by_name ()

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

`tree` : |
`name` : |
Returns : |

### go_xml_get_child_by_name_no_lang ()

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

`tree` : |
`name` : |
Returns : |

### go_xml_get_child_by_name_by_lang ()

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

`tree` : |
`name` : |
Returns : |

### go_xml_out_add_color ()

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

`out` : |
`id` : |
`c` : |