## LibXML extras

LibXML extras

## Functions

xmlNode * | go_xml_get_child_by_name ()
xmlNode * | go_xml_get_child_by_name_by_lang ()
xmlNode * | go_xml_get_child_by_name_no_lang ()
void | go_xml_in_doc_dispose_on_exit ()
gboolean | go_xml_node_get_bool ()
xmlChar * | go_xml_node_get_cstr ()
gboolean | go_xml_node_get_double ()
gboolean | go_xml_node_get_enum ()
gboolean | go_xml_node_get_gocolor ()
gboolean | go_xml_node_get_int ()
void | go_xml_node_set_bool ()
void | go_xml_node_set_cstr ()
void | go_xml_node_set_double ()
void | go_xml_node_set_enum ()
void | go_xml_node_set_gocolor ()
void | go_xml_node_set_int ()
void | go_xml_out_add_color ()
void | go_xml_out_add_double ()
void | go_xml_out_add_long_double ()
xmlDocPtr | go_xml_parse_file ()

## Description

## Functions

### go_xml_get_child_by_name ()

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

[skip]

#### Parameters

tree | xmlNode |
name | child name |

#### Returns

the child with `name` as name if any.

[transfer none][nullable]

### go_xml_get_child_by_name_by_lang ()

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

[skip]

#### Parameters

tree | xmlNode |
name | child name |

#### Returns

the child with `name` as name and with "xml:lang" attribute corresponding to the preferred language.

[transfer none][nullable]

### go_xml_get_child_by_name_no_lang ()

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

[skip]

#### Parameters

tree | xmlNode |
name | child name |

#### Returns

the child with `name` as name and without "xml:lang" attribute if any.

[transfer none][nullable]

### go_xml_in_doc_dispose_on_exit ()

    void
    go_xml_in_doc_dispose_on_exit (GsfXMLInDoc **pdoc);

### 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);

[skip]

#### Parameters

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][nullable]

### 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_out_add_double ()

    void
    go_xml_out_add_double (GsfXMLOut *output,
                           char const *id,
                           double d);

Output a representation of `d` that will be read back without loss of precision.

#### Parameters

output | destination |
id | attribute name. | [allow-none]
d | value |

### go_xml_out_add_long_double ()

    void
    go_xml_out_add_long_double (GsfXMLOut *output,
                                char const *id,
                                long double ld);

Output a representation of `ld` that will be read back without loss of precision.

#### Parameters

output | destination |
id | attribute name. | [allow-none]
ld | value |

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

[skip]

#### Parameters

filename | the locale path to a file to parse. |

#### Returns

A libxml2 xmlDocPtr or `NULL`.

[transfer full][nullable]