<libroxml  version="2.3.0" />
contact: tristan.lelong@libroxml.net
roxml-internal.h
Go to the documentation of this file.
1 
24 #ifndef ROXML_INT_H
25 #define ROXML_INT_H
26 
32 #define ROXML_INT
33 
34 #include <stdio.h>
35 #include <stdlib.h>
36 #include <fcntl.h>
37 #include <string.h>
38 
39 #include "roxml-tune.h"
40 #include "roxml-types.h"
41 #include "roxml-defines.h"
42 #include "roxml.h"
43 
53 void ROXML_INT roxml_reset_ns(node_t *n, node_t * ns);
54 
63 
73 node_t ROXML_INT *roxml_create_node(int pos, void *src, int type);
74 
84 
93 void ROXML_INT roxml_close_node(node_t *n, node_t * close);
94 
107 node_t ROXML_INT *roxml_load(node_t *current_node, FILE * file, char *buffer);
108 
118 
128 node_t ROXML_INT *roxml_parent_node(node_t *parent, node_t * n, int position);
129 
139 void ROXML_INT *roxml_malloc(int size, int num, int type);
140 
151 int ROXML_INT roxml_read(int pos, int size, char *buffer, node_t *node);
152 
162 xpath_node_t ROXML_INT *roxml_set_axes(xpath_node_t *node, char *axes, int *offset);
163 
173 int ROXML_INT roxml_parse_xpath(char *path, xpath_node_t **xpath, int context);
174 
183 
192 void ROXML_INT roxml_free_xpath(xpath_node_t *xpath, int nb);
193 
203 int ROXML_INT roxml_double_cmp(double a, double b, int op);
204 
214 double ROXML_INT roxml_double_oper(double a, double b, int op);
215 
225 int ROXML_INT roxml_string_cmp(char *sa, char *sb, int op);
226 
236 
245 
256 void ROXML_INT roxml_release_id(node_t *root, node_t **pool, int pool_len, int req_id);
257 
268 int ROXML_INT roxml_add_to_pool(node_t *root, node_t * n, int req_id);
269 
283 int ROXML_INT roxml_validate_axes(node_t *root, node_t * candidat, node_t *** ans, int *nb, int *max,
284  xpath_node_t *xn, int req_id);
285 
300 void ROXML_INT roxml_check_node(xpath_node_t *xp, node_t * root, node_t * context, node_t *** ans, int *nb, int *max,
301  int ignore, int req_id);
302 
314 void ROXML_INT roxml_print_space(FILE * f, char **buf, int *offset, int *len, int lvl);
315 
327 void ROXML_INT roxml_write_string(char **buf, FILE * f, char *str, int *offset, int *len);
328 
342 void ROXML_INT roxml_write_node(node_t *n, FILE * f, char **buf, int human, int lvl, int *offset, int *len);
343 
352 
361 
370 
379 void ROXML_INT roxml_set_type(node_t *n, int type);
380 
389 
400 void ROXML_INT roxml_compute_and(node_t *root, node_t **node_set, int *count, int cur_req_id, int prev_req_id);
401 
413 void ROXML_INT roxml_compute_or(node_t *root, node_t **node_set, int *count, int req_id, int glob_id);
414 
424 void ROXML_INT roxml_del_from_pool(node_t *root, node_t * n, int req_id);
425 
435 int ROXML_INT roxml_in_pool(node_t *root, node_t * n, int req_id);
436 
448 node_t ROXML_INT **roxml_exec_xpath(node_t *root, node_t *n, xpath_node_t *xpath, int index, int *count);
449 
457 int ROXML_INT roxml_is_separator(char sep);
458 
466 int roxml_is_number(char *input);
467 
476 void ROXML_INT roxml_process_begin_node(roxml_load_ctx_t * context, int position);
477 
486 
495 node_t ROXML_INT *roxml_lookup_nsdef(node_t *nsdef, char *ns);
496 
497 #ifdef __DEBUG
498 extern unsigned int _nb_node;
499 extern unsigned int _nb_attr;
500 extern unsigned int _nb_text;
501 #endif
502 
503 extern memory_cell_t head_cell;
504 
505 #endif /* ROXML_INT_H */
int ROXML_INT roxml_read(int pos, int size, char *buffer, node_t *node)
read xml doc function
void ROXML_INT roxml_free_xpath(xpath_node_t *xpath, int nb)
xpath free function
void ROXML_INT roxml_close_node(node_t *n, node_t *close)
internal function
node_t structure
Definition: roxml-types.h:152
int ROXML_INT roxml_double_cmp(double a, double b, int op)
double comparison function
node_t ROXML_INT ** roxml_exec_xpath(node_t *root, node_t *n, xpath_node_t *xpath, int index, int *count)
real xpath execution
void ROXML_INT roxml_compute_or(node_t *root, node_t **node_set, int *count, int req_id, int glob_id)
node set or function
node_t ROXML_INT * roxml_lookup_nsdef(node_t *nsdef, char *ns)
name space lookup in list
int roxml_is_number(char *input)
number tester
xpath_node_t ROXML_INT * roxml_set_axes(xpath_node_t *node, char *axes, int *offset)
axes setter function
internal header for libroxml.so
void ROXML_INT roxml_del_txt_node(node_t *n)
text node deletion function
memory cell structure
Definition: roxml-types.h:59
int ROXML_INT roxml_parse_xpath(char *path, xpath_node_t **xpath, int context)
xpath parsing function
node_t ROXML_INT * roxml_load(node_t *current_node, FILE *file, char *buffer)
generic load function
double ROXML_INT roxml_double_oper(double a, double b, int op)
double operation function
int ROXML_INT roxml_in_pool(node_t *root, node_t *n, int req_id)
node pool presence tester function
int ROXML_INT roxml_get_node_internal_position(node_t *n)
node absolute position get
void ROXML_INT roxml_compute_and(node_t *root, node_t **node_set, int *count, int cur_req_id, int prev_req_id)
node set and function
void ROXML_INT * roxml_malloc(int size, int num, int type)
alloc memory function
header for libroxml.so
void ROXML_INT roxml_check_node(xpath_node_t *xp, node_t *root, node_t *context, node_t ***ans, int *nb, int *max, int ignore, int req_id)
real xpath validation function
void ROXML_INT roxml_release_id(node_t *root, node_t **pool, int pool_len, int req_id)
release id function
xpath node structure
Definition: roxml-types.h:95
int ROXML_INT roxml_is_separator(char sep)
separator tester
void ROXML_INT roxml_process_begin_node(roxml_load_ctx_t *context, int position)
node creation during parsing
int ROXML_INT roxml_request_id(node_t *root)
id reservation function
header for libroxml.so
node_t ROXML_INT * roxml_create_node(int pos, void *src, int type)
internal function
#define ROXML_INT
void ROXML_INT roxml_reset_ns(node_t *n, node_t *ns)
internal function
void ROXML_INT roxml_process_unaliased_ns(roxml_load_ctx_t *context)
namespace without alias name creation during parsing
memory_cell_t head_cell
head of memory manager
xml parsing context
Definition: roxml-types.h:177
node_t ROXML_INT * roxml_append_node(node_t *parent, node_t *n)
node append function
void ROXML_INT roxml_del_tree(node_t *n)
internal function
internal header for libroxml.so
int ROXML_INT roxml_string_cmp(char *sa, char *sb, int op)
string comparison function
void ROXML_INT roxml_del_arg_node(node_t *n)
attribute node deletion function
void ROXML_INT roxml_free_node(node_t *n)
internal function
void ROXML_INT roxml_del_from_pool(node_t *root, node_t *n, int req_id)
pool node delete function
int ROXML_INT roxml_validate_predicat(xpath_node_t *xn, node_t *candidat)
predicat validation function
void ROXML_INT roxml_print_space(FILE *f, char **buf, int *offset, int *len, int lvl)
space printing function
xpath cond structure
Definition: roxml-types.h:75
node_t ROXML_INT * roxml_parent_node(node_t *parent, node_t *n, int position)
node relocate function
void ROXML_INT roxml_write_string(char **buf, FILE *f, char *str, int *offset, int *len)
string writter function
void ROXML_INT roxml_set_type(node_t *n, int type)
node type setter function
int ROXML_INT roxml_add_to_pool(node_t *root, node_t *n, int req_id)
add a token top node function
void ROXML_INT roxml_free_xcond(xpath_cond_t *xcond)
xpath condition free function
int ROXML_INT roxml_validate_axes(node_t *root, node_t *candidat, node_t ***ans, int *nb, int *max, xpath_node_t *xn, int req_id)
axe validation function
void ROXML_INT roxml_write_node(node_t *n, FILE *f, char **buf, int human, int lvl, int *offset, int *len)
tree write function
void ROXML_INT roxml_del_std_node(node_t *n)
node deletion function