JabberWerxC  2015.1.1
dom.h
Go to the documentation of this file.
1 
32 #ifndef JABBERWERX_DOM_H
33 #define JABBERWERX_DOM_H
34 
35 #include "util/mem.h"
36 
37 
39 #define JW_DOM_ATTR_XML_LANG "{http://www.w3.org/XML/1998/namespace}lang"
40 
41 
43 typedef struct _jw_dom_ctx jw_dom_ctx;
44 
46 typedef struct _jw_dom_node jw_dom_node;
47 
48 
50 typedef enum
51 {
61 
62 
63 #ifdef __cplusplus
64 extern "C"
65 {
66 #endif
67 
80 
89 
102 
118 
130 
142 
170  jw_dom_node *node,
171  bool deep,
172  jw_dom_node **cpy,
173  jw_err *err);
174 
199  bool deep,
200  jw_dom_node **cpy,
201  jw_err *err);
202 
224  const char *ename,
225  jw_dom_node **elem,
226  jw_err *err);
227 
249  const char *value,
250  jw_dom_node **text,
251  jw_err *err);
252 
261 
270 
284 JABBERWERX_API const char *jw_dom_get_ename(jw_dom_node *node);
285 
296 
307 
321 JABBERWERX_API const char *jw_dom_get_value(jw_dom_node *node);
322 
331 
340 
352 
362 
387  const char *prefix,
388  const char *uri,
389  jw_err *err);
390 
404  const char *prefix);
405 
419  const char *uri);
420 
430 
443  const char *ename);
444 
463  const char *ename,
464  const char *value,
465  jw_err *err);
466 
476 
492  const char *ename);
493 
504 
524  jw_dom_node *child,
525  jw_err *err);
526 
543  jw_dom_node *child,
544  jw_err *err);
545 
563 
564 #ifdef __cplusplus
565 }
566 #endif
567 
568 #endif /* JABBERWERX_DOM_H */
Definition: dom.h:53
#define JABBERWERX_API
Definition: basics.h:32
This file contains JabberWerxC allocation related functions and jw_pool objects.
JABBERWERX_API jw_dom_node * jw_dom_get_first_namespace(jw_dom_node *elem)
JABBERWERX_API bool jw_dom_clone(jw_dom_node *node, bool deep, jw_dom_node **cpy, jw_err *err)
JABBERWERX_API bool jw_dom_add_child(jw_dom_node *parent, jw_dom_node *child, jw_err *err)
JABBERWERX_API void jw_dom_context_destroy(jw_dom_ctx *ctx)
JABBERWERX_API jw_pool * jw_dom_context_get_pool(jw_dom_ctx *ctx)
struct _jw_dom_node jw_dom_node
Definition: dom.h:46
JABBERWERX_API jw_dom_node * jw_dom_get_sibling(jw_dom_node *node)
JABBERWERX_API const char * jw_dom_get_namespace_uri(jw_dom_node *node)
JABBERWERX_API int32_t jw_dom_context_get_refcount_DEBUG(jw_dom_ctx *ctx)
struct _jw_pool_int jw_pool
Definition: mem.h:51
JABBERWERX_API bool jw_dom_put_namespace(jw_dom_node *elem, const char *prefix, const char *uri, jw_err *err)
Definition: dom.h:57
JABBERWERX_API bool jw_dom_set_attribute(jw_dom_node *elem, const char *ename, const char *value, jw_err *err)
JABBERWERX_API bool jw_dom_element_create(jw_dom_ctx *ctx, const char *ename, jw_dom_node **elem, jw_err *err)
JABBERWERX_API bool jw_dom_import(jw_dom_ctx *ctx, jw_dom_node *node, bool deep, jw_dom_node **cpy, jw_err *err)
JABBERWERX_API jw_dom_node * jw_dom_get_first_child(jw_dom_node *elem)
JABBERWERX_API const char * jw_dom_get_ename(jw_dom_node *node)
JABBERWERX_API const char * jw_dom_find_namespace_prefix(jw_dom_node *elem, const char *uri)
JABBERWERX_API jw_dom_nodetype jw_dom_get_nodetype(jw_dom_node *node)
Definition: dom.h:59
JABBERWERX_API jw_dom_ctx * jw_dom_get_context(jw_dom_node *node)
JABBERWERX_API bool jw_dom_context_create(jw_dom_ctx **ctx, jw_err *err)
JABBERWERX_API void jw_dom_detach(jw_dom_node *node)
jw_dom_nodetype
Definition: dom.h:50
JABBERWERX_API bool jw_dom_remove_child(jw_dom_node *parent, jw_dom_node *child, jw_err *err)
JABBERWERX_API jw_dom_node * jw_dom_get_first_element(jw_dom_node *elem, const char *ename)
JABBERWERX_API const char * jw_dom_get_localname(jw_dom_node *node)
Definition: basics.h:157
JABBERWERX_API bool jw_dom_text_create(jw_dom_ctx *ctx, const char *value, jw_dom_node **text, jw_err *err)
JABBERWERX_API const char * jw_dom_find_namespace_uri(jw_dom_node *elem, const char *prefix)
JABBERWERX_API void jw_dom_clear_children(jw_dom_node *elem)
Definition: dom.h:55
JABBERWERX_API const char * jw_dom_get_attribute(jw_dom_node *elem, const char *ename)
JABBERWERX_API jw_dom_node * jw_dom_get_first_attribute(jw_dom_node *elem)
JABBERWERX_API bool jw_dom_context_retain(jw_dom_ctx *ctx, jw_err *err)
JABBERWERX_API bool jw_dom_contexts_are_all_free(jw_err *err)
JABBERWERX_API const char * jw_dom_get_first_text(jw_dom_node *elem)
JABBERWERX_API jw_dom_node * jw_dom_get_parent(jw_dom_node *node)
JABBERWERX_API const char * jw_dom_get_value(jw_dom_node *node)
struct _jw_dom_ctx jw_dom_ctx
Definition: dom.h:43