libdom
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
node.h File Reference
#include <inttypes.h>
#include <stdbool.h>
#include <dom/core/exceptions.h>
#include <dom/core/string.h>
#include <dom/events/event_target.h>

Go to the source code of this file.

Classes

struct  dom_node
 
struct  dom_node_vtable
 

Macros

#define dom_node_ref(n)   dom_node_ref((dom_node *) (n))
 
#define dom_node_try_destroy(n)   dom_node_try_destroy((dom_node *) (n))
 
#define dom_node_unref(n)   dom_node_unref((dom_node *) (n))
 
#define dom_node_contains(n, o, c)    _dom_node_contains((dom_node_internal *)(n), (dom_node_internal *)(o), (c))
 
#define dom_node_get_node_name(n, r)   dom_node_get_node_name((dom_node *) (n), (r))
 
#define dom_node_get_node_value(n, r)
 
#define dom_node_set_node_value(n, v)
 
#define dom_node_get_node_type(n, r)
 
#define dom_node_get_parent_node(n, r)
 
#define dom_node_get_child_nodes(n, r)
 
#define dom_node_get_first_child(n, r)
 
#define dom_node_get_last_child(n, r)
 
#define dom_node_get_previous_sibling(n, r)
 
#define dom_node_get_next_sibling(n, r)
 
#define dom_node_get_attributes(n, r)
 
#define dom_node_get_owner_document(n, r)
 
#define dom_node_insert_before(n, nn, ref, ret)
 
#define dom_node_replace_child(n, nn, old, ret)
 
#define dom_node_remove_child(n, old, ret)
 
#define dom_node_append_child(n, nn, ret)
 
#define dom_node_has_child_nodes(n, r)
 
#define dom_node_clone_node(n, d, r)
 
#define dom_node_normalize(n)   dom_node_normalize((dom_node *) (n))
 
#define dom_node_is_supported(n, f, v, r)
 
#define dom_node_get_namespace(n, r)   dom_node_get_namespace((dom_node *) (n), (r))
 
#define dom_node_get_prefix(n, r)   dom_node_get_prefix((dom_node *) (n), (r))
 
#define dom_node_set_prefix(n, p)   dom_node_set_prefix((dom_node *) (n), (p))
 
#define dom_node_get_local_name(n, r)   dom_node_get_local_name((dom_node *) (n), (r))
 
#define dom_node_has_attributes(n, r)
 
#define dom_node_get_base(n, r)   dom_node_get_base((dom_node *) (n), (r))
 
#define dom_node_compare_document_position(n, o, r)
 
#define dom_node_get_text_content(n, r)
 
#define dom_node_set_text_content(n, c)
 
#define dom_node_is_same(n, o, r)
 
#define dom_node_lookup_prefix(n, ns, r)
 
#define dom_node_is_default_namespace(n, ns, r)
 
#define dom_node_lookup_namespace(n, p, r)
 
#define dom_node_is_equal(n, o, r)
 
#define dom_node_get_feature(n, f, v, r)
 
#define dom_node_set_user_data(n, k, d, h, r)
 
#define dom_node_get_user_data(n, k, r)
 

Typedefs

typedef void(* dom_user_data_handler) (dom_node_operation operation, dom_string *key, void *data, struct dom_node *src, struct dom_node *dst)
 
typedef struct dom_node_internal dom_node_internal
 
typedef struct dom_node dom_node
 
typedef struct dom_node_vtable dom_node_vtable
 

Enumerations

enum  dom_document_position {
  DOM_DOCUMENT_POSITION_DISCONNECTED = 0x01 , DOM_DOCUMENT_POSITION_PRECEDING = 0x02 , DOM_DOCUMENT_POSITION_FOLLOWING = 0x04 , DOM_DOCUMENT_POSITION_CONTAINS = 0x08 ,
  DOM_DOCUMENT_POSITION_CONTAINED_BY = 0x10 , DOM_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20
}
 
enum  dom_node_operation {
  DOM_NODE_CLONED = 1 , DOM_NODE_IMPORTED = 2 , DOM_NODE_DELETED = 3 , DOM_NODE_RENAMED = 4 ,
  DOM_NODE_ADOPTED = 5
}
 
enum  dom_node_type {
  DOM_ELEMENT_NODE = 1 , DOM_ATTRIBUTE_NODE = 2 , DOM_TEXT_NODE = 3 , DOM_CDATA_SECTION_NODE = 4 ,
  DOM_ENTITY_REFERENCE_NODE = 5 , DOM_ENTITY_NODE = 6 , DOM_PROCESSING_INSTRUCTION_NODE = 7 , DOM_COMMENT_NODE = 8 ,
  DOM_DOCUMENT_NODE = 9 , DOM_DOCUMENT_TYPE_NODE = 10 , DOM_DOCUMENT_FRAGMENT_NODE = 11 , DOM_NOTATION_NODE = 12 ,
  DOM_NODE_TYPE_COUNT
}
 

Functions

dom_exception _dom_node_contains (struct dom_node_internal *node, struct dom_node_internal *other, bool *contains)
 

Macro Definition Documentation

◆ dom_node_append_child

#define dom_node_append_child ( n,
nn,
ret )
Value:
(dom_node *) (n), (dom_node *) (nn), (dom_node **) (ret))
#define dom_node_append_child(n, nn, ret)
Definition node.h:377
Definition node.h:79

◆ dom_node_clone_node

#define dom_node_clone_node ( n,
d,
r )
Value:
(bool) (d), (dom_node **) (r))
#define dom_node_clone_node(n, d, r)
Definition node.h:396

◆ dom_node_compare_document_position

#define dom_node_compare_document_position ( n,
o,
r )
Value:
(dom_node *) (o), (uint16_t *) (r))
#define dom_node_compare_document_position(n, o, r)
Definition node.h:475

◆ dom_node_contains

#define dom_node_contains ( n,
o,
c )    _dom_node_contains((dom_node_internal *)(n), (dom_node_internal *)(o), (c))

◆ dom_node_get_attributes

#define dom_node_get_attributes ( n,
r )
Value:
(dom_node *) (n), (struct dom_namednodemap **) (r))
#define dom_node_get_attributes(n, r)
Definition node.h:316
Definition namednodemap.c:26

◆ dom_node_get_base

#define dom_node_get_base ( n,
r )   dom_node_get_base((dom_node *) (n), (r))

◆ dom_node_get_child_nodes

#define dom_node_get_child_nodes ( n,
r )
Value:
(dom_node *) (n), (struct dom_nodelist **) (r))
#define dom_node_get_child_nodes(n, r)
Definition node.h:266
Definition nodelist.c:26

◆ dom_node_get_feature

#define dom_node_get_feature ( n,
f,
v,
r )
Value:
(dom_node *) (n), (f), (v), (void **) (r))
#define dom_node_get_feature(n, f, v, r)
Definition node.h:555

◆ dom_node_get_first_child

#define dom_node_get_first_child ( n,
r )
Value:
(dom_node *) (n), (dom_node **) (r))
#define dom_node_get_first_child(n, r)
Definition node.h:276

◆ dom_node_get_last_child

#define dom_node_get_last_child ( n,
r )
Value:
(dom_node *) (n), (dom_node **) (r))
#define dom_node_get_last_child(n, r)
Definition node.h:286

◆ dom_node_get_local_name

#define dom_node_get_local_name ( n,
r )   dom_node_get_local_name((dom_node *) (n), (r))

◆ dom_node_get_namespace

#define dom_node_get_namespace ( n,
r )   dom_node_get_namespace((dom_node *) (n), (r))

◆ dom_node_get_next_sibling

#define dom_node_get_next_sibling ( n,
r )
Value:
(dom_node *) (n), (dom_node **) (r))
#define dom_node_get_next_sibling(n, r)
Definition node.h:307

◆ dom_node_get_node_name

#define dom_node_get_node_name ( n,
r )   dom_node_get_node_name((dom_node *) (n), (r))

◆ dom_node_get_node_type

#define dom_node_get_node_type ( n,
r )
Value:
(dom_node *) (n), (dom_node_type *) (r))
#define dom_node_get_node_type(n, r)
Definition node.h:247
dom_node_type
Definition node.h:56

◆ dom_node_get_node_value

#define dom_node_get_node_value ( n,
r )
Value:
(dom_node *) (n), (r))
#define dom_node_get_node_value(n, r)
Definition node.h:229

◆ dom_node_get_owner_document

#define dom_node_get_owner_document ( n,
r )
Value:
(dom_node *) (n), (struct dom_document **) (r))
#define dom_node_get_owner_document(n, r)
Definition node.h:325
Definition document.h:43

◆ dom_node_get_parent_node

#define dom_node_get_parent_node ( n,
r )
Value:
(dom_node *) (n), (dom_node **) (r))
#define dom_node_get_parent_node(n, r)
Definition node.h:257

◆ dom_node_get_prefix

#define dom_node_get_prefix ( n,
r )   dom_node_get_prefix((dom_node *) (n), (r))

◆ dom_node_get_previous_sibling

#define dom_node_get_previous_sibling ( n,
r )
Value:
(dom_node *) (n), (dom_node **) (r))
#define dom_node_get_previous_sibling(n, r)
Definition node.h:297

◆ dom_node_get_text_content

#define dom_node_get_text_content ( n,
r )
Value:
(dom_node *) (n), (r))
#define dom_node_get_text_content(n, r)
Definition node.h:485

◆ dom_node_get_user_data

#define dom_node_get_user_data ( n,
k,
r )
Value:
(dom_node *) (n), (k), (void **) (r))
#define dom_node_get_user_data(n, k, r)
Definition node.h:576

◆ dom_node_has_attributes

#define dom_node_has_attributes ( n,
r )
Value:
(dom_node *) (n), (bool *) (r))
#define dom_node_has_attributes(n, r)
Definition node.h:455

◆ dom_node_has_child_nodes

#define dom_node_has_child_nodes ( n,
r )
Value:
(dom_node *) (n), (bool *) (r))
#define dom_node_has_child_nodes(n, r)
Definition node.h:386

◆ dom_node_insert_before

#define dom_node_insert_before ( n,
nn,
ref,
ret )
Value:
(dom_node *) (n), (dom_node *) (nn), (dom_node *) (ref),\
(dom_node **) (ret))
#define dom_node_insert_before(n, nn, ref, ret)
Definition node.h:338

◆ dom_node_is_default_namespace

#define dom_node_is_default_namespace ( n,
ns,
r )
Value:
(dom_node *) (n), (ns), (bool *) (r))
#define dom_node_is_default_namespace(n, ns, r)
Definition node.h:525

◆ dom_node_is_equal

#define dom_node_is_equal ( n,
o,
r )
Value:
(dom_node *) (o), (bool *) (r))
#define dom_node_is_equal(n, o, r)
Definition node.h:545

◆ dom_node_is_same

#define dom_node_is_same ( n,
o,
r )
Value:
(dom_node *) (o), (bool *) (r))
#define dom_node_is_same(n, o, r)
Definition node.h:505

◆ dom_node_is_supported

#define dom_node_is_supported ( n,
f,
v,
r )
Value:
(dom_node *) (n), (f), (v), (bool *) (r))
#define dom_node_is_supported(n, f, v, r)
Definition node.h:414

◆ dom_node_lookup_namespace

#define dom_node_lookup_namespace ( n,
p,
r )
Value:
(dom_node *) (n), (p), (r))
#define dom_node_lookup_namespace(n, p, r)
Definition node.h:534

◆ dom_node_lookup_prefix

#define dom_node_lookup_prefix ( n,
ns,
r )
Value:
(dom_node *) (n), (ns), (r))
#define dom_node_lookup_prefix(n, ns, r)
Definition node.h:514

◆ dom_node_normalize

#define dom_node_normalize ( n)    dom_node_normalize((dom_node *) (n))

◆ dom_node_ref

#define dom_node_ref ( n)    dom_node_ref((dom_node *) (n))

◆ dom_node_remove_child

#define dom_node_remove_child ( n,
old,
ret )
Value:
(dom_node *) (n), (dom_node *) (old), (dom_node **) (ret))
#define dom_node_remove_child(n, old, ret)
Definition node.h:365

◆ dom_node_replace_child

#define dom_node_replace_child ( n,
nn,
old,
ret )
Value:
(dom_node *) (n), (dom_node *) (nn), (dom_node *) (old),\
(dom_node **) (ret))
#define dom_node_replace_child(n, nn, old, ret)
Definition node.h:352

◆ dom_node_set_node_value

#define dom_node_set_node_value ( n,
v )
Value:
(dom_node *) (n), (v))
#define dom_node_set_node_value(n, v)
Definition node.h:238

◆ dom_node_set_prefix

#define dom_node_set_prefix ( n,
p )   dom_node_set_prefix((dom_node *) (n), (p))

◆ dom_node_set_text_content

#define dom_node_set_text_content ( n,
c )
Value:
(dom_node *) (n), (c))
#define dom_node_set_text_content(n, c)
Definition node.h:494

◆ dom_node_set_user_data

#define dom_node_set_user_data ( n,
k,
d,
h,
r )
Value:
(dom_node *) (n), (k), (void *) (d), \
(dom_user_data_handler) h, (void **) (r))
#define dom_node_set_user_data(n, k, d, h, r)
Definition node.h:566
void(* dom_user_data_handler)(dom_node_operation operation, dom_string *key, void *data, struct dom_node *src, struct dom_node *dst)
Definition node.h:49

◆ dom_node_try_destroy

#define dom_node_try_destroy ( n)    dom_node_try_destroy((dom_node *) (n))

◆ dom_node_unref

#define dom_node_unref ( n)    dom_node_unref((dom_node *) (n))

Typedef Documentation

◆ dom_node

typedef struct dom_node dom_node

DOM node type

◆ dom_node_internal

typedef struct dom_node_internal dom_node_internal

◆ dom_node_vtable

typedef struct dom_node_vtable dom_node_vtable

◆ dom_user_data_handler

typedef void(* dom_user_data_handler) (dom_node_operation operation, dom_string *key, void *data, struct dom_node *src, struct dom_node *dst)

Type of handler function for user data registered on a DOM node

Enumeration Type Documentation

◆ dom_document_position

Bits defining position of a node in a document relative to some other node

Enumerator
DOM_DOCUMENT_POSITION_DISCONNECTED 
DOM_DOCUMENT_POSITION_PRECEDING 
DOM_DOCUMENT_POSITION_FOLLOWING 
DOM_DOCUMENT_POSITION_CONTAINS 
DOM_DOCUMENT_POSITION_CONTAINED_BY 
DOM_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC 

◆ dom_node_operation

Type of node operation being notified to user_data_handler

Enumerator
DOM_NODE_CLONED 
DOM_NODE_IMPORTED 
DOM_NODE_DELETED 
DOM_NODE_RENAMED 
DOM_NODE_ADOPTED 

◆ dom_node_type

Type of a DOM node

Enumerator
DOM_ELEMENT_NODE 
DOM_ATTRIBUTE_NODE 
DOM_TEXT_NODE 
DOM_CDATA_SECTION_NODE 
DOM_ENTITY_REFERENCE_NODE 
DOM_ENTITY_NODE 
DOM_PROCESSING_INSTRUCTION_NODE 
DOM_COMMENT_NODE 
DOM_DOCUMENT_NODE 
DOM_DOCUMENT_TYPE_NODE 
DOM_DOCUMENT_FRAGMENT_NODE 
DOM_NOTATION_NODE 
DOM_NODE_TYPE_COUNT 

Function Documentation

◆ _dom_node_contains()

dom_exception _dom_node_contains ( struct dom_node_internal * node,
struct dom_node_internal * other,
bool * contains )