### Class

# Lasem DomDocument

#### Description

    abstract class Lasem.DomDocument : Lasem.DomNode
    {
      char* url
    }

No description available.

#### Ancestors

- LsmDomNode
- GObject

#### Constructors

###### lsm_dom_document_new_from_memory

Create a new document from a memory data buffer.

###### lsm_dom_document_new_from_path

Create a new document from the data stored in `path`.

###### lsm_dom_document_new_from_url

Create a new document from the data stored at `url`.

#### Instance methods

###### lsm_dom_document_append_from_memory

Append a chunk of xml tree to an existing document. The resulting nodes will be appended to `node`, or to `document` if `node` == NULL.

###### lsm_dom_document_create_element

Create a new element node with a type corresponding to `tag_name`.

###### lsm_dom_document_create_text_node

Create a text node with `data` as its initial content.

###### lsm_dom_document_create_view

Create a `LsmDomView` for document rendering.

###### lsm_dom_document_get_document_element

Get the child node that is the root element of the document.

###### lsm_dom_document_get_href_data

No description available.

###### lsm_dom_document_get_url

Get document URL.

###### lsm_dom_document_save_to_memory

Save `document` as an xml representation into `buffer`.

###### lsm_dom_document_save_to_path

Save `document` as an xml representation to a file, replacing the already existing file if needed.

###### lsm_dom_document_save_to_stream

Save `document` as an xml representation into `stream`.

###### lsm_dom_document_save_to_url

Save `document` as an xml representation to `url`, replacing the already existing file if needed.

###### lsm_dom_document_set_path

No description available.

###### lsm_dom_document_set_url

No description available.

##### Methods inherited from LsmDomNode (18)

###### 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 LasemDomDocumentClass {
      LsmDomNodeClass parent_class;
      LsmDomElement* (* get_document_element) (
        LsmDomDocument* self
      );
      LsmDomElement* (* create_element) (
        LsmDomDocument* self,
        const char* tag_name
      );
      LsmDomText* (* create_text_node) (
        LsmDomDocument* self,
        const char* data
      );
      LsmDomView* (* create_view) (
        LsmDomDocument* self
      );

    }

No description available.

###### Class members

`parent_class: LsmDomNodeClass`

  No description available.

`get_document_element: LsmDomElement* (* get_document_element) ( LsmDomDocument* self )`

  No description available.

`create_element: LsmDomElement* (* create_element) ( LsmDomDocument* self, const char* tag_name )`

  No description available.

`create_text_node: LsmDomText* (* create_text_node) ( LsmDomDocument* self, const char* data )`

  No description available.

`create_view: LsmDomView* (* create_view) ( LsmDomDocument* self )`

  No description available.

#### Virtual methods

###### Lasem.DomDocumentClass.create_element

Create a new element node with a type corresponding to `tag_name`.

###### Lasem.DomDocumentClass.create_text_node

Create a text node with `data` as its initial content.

###### Lasem.DomDocumentClass.create_view

Create a `LsmDomView` for document rendering.

###### Lasem.DomDocumentClass.get_document_element

Get the child node that is the root element of the document.