ArvDomDocument

ArvDomDocument — Base class for DOM document nodes

Synopsis

                    ArvDomDocument;
ArvDomDocument *    (*ArvDomDocumentCreateFunction)     (void);
ArvDomDocument *    arv_dom_implementation_create_document
                                                        (const char *namespace_uri,
                                                         const char *qualified_name);
void                arv_dom_implementation_add_document_type
                                                        (const char *qualified_name,
                                                         GType document_type);
void                arv_dom_implementation_cleanup      (void);
void                arv_dom_document_append_from_memory (ArvDomDocument *document,
                                                         ArvDomNode *node,
                                                         const void *buffer,
                                                         int size,
                                                         GError **error);
ArvDomDocument *    arv_dom_document_new_from_memory    (const void *buffer,
                                                         int size,
                                                         GError **error);
ArvDomDocument *    arv_dom_document_new_from_path      (const char *path,
                                                         GError **error);
ArvDomDocument *    arv_dom_document_new_from_url       (const char *url,
                                                         GError **error);
void                arv_dom_document_save_to_stream     (ArvDomDocument *document,
                                                         GOutputStream *stream,
                                                         GError **error);
void                arv_dom_document_save_to_memory     (ArvDomDocument *documennt,
                                                         void **buffer,
                                                         int *size,
                                                         GError **error);
void                arv_dom_document_save_to_path       (ArvDomDocument *documennt,
                                                         const char *path,
                                                         GError **error);
void                arv_dom_document_save_to_url        (ArvDomDocument *documennt,
                                                         const char *path,
                                                         GError **error);
ArvDomElement *     arv_dom_document_get_document_element
                                                        (ArvDomDocument *self);
ArvDomElement *     arv_dom_document_create_element     (ArvDomDocument *self,
                                                         const char *tag_name);
ArvDomText *        arv_dom_document_create_text_node   (ArvDomDocument *self,
                                                         const char *data);
ArvDomElement *     arv_dom_document_get_element_by_id  (ArvDomDocument *self,
                                                         const char *id);
void                arv_dom_document_register_element   (ArvDomDocument *self,
                                                         ArvDomElement *element,
                                                         const char *id);
const char *        arv_dom_document_get_url            (ArvDomDocument *self);
void                arv_dom_document_set_url            (ArvDomDocument *self,
                                                         const char *url);
void                arv_dom_document_set_path           (ArvDomDocument *self,
                                                         const char *path);
void *              arv_dom_document_get_href_data      (ArvDomDocument *self,
                                                         const char *href,
                                                         gsize *size);

Object Hierarchy

  GObject
   +----ArvDomNode
         +----ArvDomDocument
               +----ArvGc

Description

Details

ArvDomDocument

typedef struct _ArvDomDocument ArvDomDocument;

ArvDomDocumentCreateFunction ()

ArvDomDocument *    (*ArvDomDocumentCreateFunction)     (void);

arv_dom_implementation_create_document ()

ArvDomDocument *    arv_dom_implementation_create_document
                                                        (const char *namespace_uri,
                                                         const char *qualified_name);

Create a new DOM document. Currently, only qualified_name is used.

namespace_uri :

namespace URI

qualified_name :

qualified name

Returns :

a new ArvDomDocument, NULL on error:. [transfer full]

arv_dom_implementation_add_document_type ()

void                arv_dom_implementation_add_document_type
                                                        (const char *qualified_name,
                                                         GType document_type);

arv_dom_implementation_cleanup ()

void                arv_dom_implementation_cleanup      (void);

arv_dom_document_append_from_memory ()

void                arv_dom_document_append_from_memory (ArvDomDocument *document,
                                                         ArvDomNode *node,
                                                         const void *buffer,
                                                         int size,
                                                         GError **error);

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

Size set to a negative value indicated an unknow xml data size.

document :

a ArvDomDocument

node :

a ArvDomNode

buffer :

a memory buffer holding xml data

size :

size of the xml data, in bytes

error :

an error placeholder

arv_dom_document_new_from_memory ()

ArvDomDocument *    arv_dom_document_new_from_memory    (const void *buffer,
                                                         int size,
                                                         GError **error);

arv_dom_document_new_from_path ()

ArvDomDocument *    arv_dom_document_new_from_path      (const char *path,
                                                         GError **error);

arv_dom_document_new_from_url ()

ArvDomDocument *    arv_dom_document_new_from_url       (const char *url,
                                                         GError **error);

arv_dom_document_save_to_stream ()

void                arv_dom_document_save_to_stream     (ArvDomDocument *document,
                                                         GOutputStream *stream,
                                                         GError **error);

arv_dom_document_save_to_memory ()

void                arv_dom_document_save_to_memory     (ArvDomDocument *documennt,
                                                         void **buffer,
                                                         int *size,
                                                         GError **error);

arv_dom_document_save_to_path ()

void                arv_dom_document_save_to_path       (ArvDomDocument *documennt,
                                                         const char *path,
                                                         GError **error);

arv_dom_document_save_to_url ()

void                arv_dom_document_save_to_url        (ArvDomDocument *documennt,
                                                         const char *path,
                                                         GError **error);

arv_dom_document_get_document_element ()

ArvDomElement *     arv_dom_document_get_document_element
                                                        (ArvDomDocument *self);

self :

a ArvDomDocument

Returns :

the top element of self. [transfer none]

arv_dom_document_create_element ()

ArvDomElement *     arv_dom_document_create_element     (ArvDomDocument *self,
                                                         const char *tag_name);

Create a new element.

self :

a ArvDomDocument

tag_name :

node name of the element to create

Returns :

a new orphan ArvDomElement, NULL on error. [transfer full]

arv_dom_document_create_text_node ()

ArvDomText *        arv_dom_document_create_text_node   (ArvDomDocument *self,
                                                         const char *data);

Create a new text element.

self :

a ArvDomDocument

data :

initial content

Returns :

a new orphan ArvDomText, NULL on error. [transfer full]

arv_dom_document_get_element_by_id ()

ArvDomElement *     arv_dom_document_get_element_by_id  (ArvDomDocument *self,
                                                         const char *id);

self :

a ArvDomDocument

id :

xml:id of the wanted element

Returns :

the element wich has id as xml:id attribute. [transfer none]

arv_dom_document_register_element ()

void                arv_dom_document_register_element   (ArvDomDocument *self,
                                                         ArvDomElement *element,
                                                         const char *id);

arv_dom_document_get_url ()

const char *        arv_dom_document_get_url            (ArvDomDocument *self);

arv_dom_document_set_url ()

void                arv_dom_document_set_url            (ArvDomDocument *self,
                                                         const char *url);

arv_dom_document_set_path ()

void                arv_dom_document_set_path           (ArvDomDocument *self,
                                                         const char *path);

arv_dom_document_get_href_data ()

void *              arv_dom_document_get_href_data      (ArvDomDocument *self,
                                                         const char *href,
                                                         gsize *size);

Load the content referenced by href.

self :

a ArvDomDocument

href :

document reference

size :

data size placeholder

Returns :

a newly allocated data buffer. [transfer full]