### Class

# Lasem DomNode

#### Description

    abstract class Lasem.DomNode : GObject.Object
    {
      LsmDomDocument* owner_document,
      LsmDomNode* next_sibling,
      LsmDomNode* previous_sibling,
      LsmDomNode* parent_node,
      LsmDomNode* first_child,
      LsmDomNode* last_child
    }

No description available.

#### Ancestors

- GObject

#### Descendants

- LsmDomCharacterData
- LsmDomDocument
- LsmDomDocumentFragment
- LsmDomElement

#### Instance methods

###### lsm_dom_node_append_child

Adds the node `new_child` to the end of the list of children of this node. If the `new_child` is already in the tree, it is first removed.

###### lsm_dom_node_changed

No description available.

###### lsm_dom_node_get_child_nodes

No description available.

###### lsm_dom_node_get_first_child

No description available.

###### lsm_dom_node_get_last_child

No description available.

###### lsm_dom_node_get_next_sibling

No description available.

###### lsm_dom_node_get_node_name

Gets the node name.

###### lsm_dom_node_get_node_type

No description available.

###### lsm_dom_node_get_node_value

Gets the node value.

###### lsm_dom_node_get_owner_document

No description available.

###### lsm_dom_node_get_parent_node

No description available.

###### lsm_dom_node_get_previous_sibling

No description available.

###### lsm_dom_node_has_child_nodes

No description available.

###### lsm_dom_node_insert_before

Inserts the node `new_child` before the existing child node `ref_child`. If `ref_child` is null, insert `new_child` at the end of the list of children. If the `new_child` is already in the tree, it is first removed.

###### lsm_dom_node_remove_child

Removes the child node indicated by `old_child` from the list of children, and returns it.

###### lsm_dom_node_replace_child

Replaces the child node `old_child` with `new_child` in the list of children, and returns the `old_child` node. If the `new_child` is already in the tree, it is first removed.

###### lsm_dom_node_set_node_value

No description available.

###### lsm_dom_node_write_to_stream

No description available.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct LasemDomNodeClass {
      GObjectClass parent_class;
      const char* (* get_node_name) (
        LsmDomNode* self
      );
      const char* (* get_node_value) (
        LsmDomNode* self
      );
      void (* set_node_value) (
        LsmDomNode* self,
        const char* new_value
      );
      LsmDomNodeType (* get_node_type) (
        LsmDomNode* self
      );
      gboolean (* can_append_child) (
        LsmDomNode* self,
        LsmDomNode* new_child
      );
      void (* post_new_child) (
        LsmDomNode* parent,
        LsmDomNode* child
      );
      void (* pre_remove_child) (
        LsmDomNode* parent,
        LsmDomNode* child
      );
      void (* changed) (
        LsmDomNode* self
      );
      gboolean (* child_changed) (
        LsmDomNode* self,
        LsmDomNode* child
      );
      void (* write_to_stream) (
        LsmDomNode* self,
        GOutputStream* stream,
        GError** error
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`get_node_name: const char* (* get_node_name) ( LsmDomNode* self )`

  No description available.

`get_node_value: const char* (* get_node_value) ( LsmDomNode* self )`

  No description available.

`set_node_value: void (* set_node_value) ( LsmDomNode* self, const char* new_value )`

  No description available.

`get_node_type: LsmDomNodeType (* get_node_type) ( LsmDomNode* self )`

  No description available.

`can_append_child: gboolean (* can_append_child) ( LsmDomNode* self, LsmDomNode* new_child )`

  No description available.

`post_new_child: void (* post_new_child) ( LsmDomNode* parent, LsmDomNode* child )`

  No description available.

`pre_remove_child: void (* pre_remove_child) ( LsmDomNode* parent, LsmDomNode* child )`

  No description available.

`changed: void (* changed) ( LsmDomNode* self )`

  No description available.

`child_changed: gboolean (* child_changed) ( LsmDomNode* self, LsmDomNode* child )`

  No description available.

`write_to_stream: void (* write_to_stream) ( LsmDomNode* self, GOutputStream* stream, GError** error )`

  No description available.

#### Virtual methods

###### Lasem.DomNodeClass.can_append_child

No description available.

###### Lasem.DomNodeClass.changed

No description available.

###### Lasem.DomNodeClass.child_changed

No description available.

###### Lasem.DomNodeClass.get_node_name

Gets the node name.

###### Lasem.DomNodeClass.get_node_type

No description available.

###### Lasem.DomNodeClass.get_node_value

Gets the node value.

###### Lasem.DomNodeClass.post_new_child

No description available.

###### Lasem.DomNodeClass.pre_remove_child

No description available.

###### Lasem.DomNodeClass.set_node_value

No description available.

###### Lasem.DomNodeClass.write_to_stream

No description available.