XROAD
xroad_xml.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include "xroad_common_fwd.h"
9 #include "xroad_string.h"
10 #include <stdint.h>
11 #include <stdbool.h>
12 #include <libxml/parser.h>
13 #include "xroad_sstream.h"
14 #include "xroad_common_fwd.h"
15 
16 #ifdef __cplusplus
17 extern "C"
18 {
19 #endif
20 
21 typedef void (*xroad_xml_error_t)(void*, const char*, ...);
22 
29 xroad_xml_doc_t* xroad_xml_read_file(xroad_str_t xml, xroad_str_t xsd);
30 
37 xroad_xml_doc_t* xroad_xml_read_memory(xroad_str_t xml_data, xroad_str_t xsd);
38 
46 xroad_xml_doc_t* xroad_xml_read_memory_ex(xroad_str_t xml_data, xroad_str_t xsd, xroad_xml_error_t err_cb);
47 
54 xroad_str_t xroad_xml_to_str(xroad_xml_tag_t xml, xroad_sstream_t* ss);
55 
60 void xroad_xml_destroy(xroad_xml_doc_t* doc);
61 
65 #define __xroad_xml_dtor__ __dtor__(xroad_xml_destructor)
66 void xroad_xml_destructor(xroad_xml_doc_t** doc);
67 
73 xroad_xml_tag_t xroad_xml_get_root(xroad_xml_doc_t* doc);
74 
81 int32_t xroad_xml_has_tag(xroad_xml_tag_t tag, xroad_str_t path);
82 
89 xroad_xml_tag_t xroad_xml_get_tag(xroad_xml_tag_t tag, xroad_str_t path);
90 
96 xroad_str_t xroad_xml_get_name(xroad_xml_tag_t tag);
97 
103 xroad_str_t xroad_xml_get_text(xroad_xml_tag_t tag);
104 
110 uint32_t xroad_xml_get_children_count(xroad_xml_tag_t tag);
111 
118 uint32_t xroad_xml_get_children_by_tag_count(xroad_xml_tag_t tag, xroad_str_t path);
119 
126 xroad_xml_tag_t xroad_xml_get_first(xroad_xml_tag_t tag, xroad_str_t child_name);
127 
134 xroad_xml_tag_t xroad_xml_get_next(xroad_xml_tag_t tag, xroad_str_t child_name);
135 
142 int32_t xroad_xml_has_attr(xroad_xml_tag_t tag, xroad_str_t attribute);
143 
150 xroad_str_t xroad_xml_get_attr_s(xroad_xml_tag_t tag, xroad_str_t attribute);
151 
158 int64_t xroad_xml_get_attr_i(xroad_xml_tag_t tag, xroad_str_t attribute);
159 
166 double xroad_xml_get_attr_d(xroad_xml_tag_t tag, xroad_str_t attribute);
167 
174 bool xroad_xml_get_attr_b(xroad_xml_tag_t tag, xroad_str_t attribute);
175 
182 
190 
191 
198 
205 
212 
219 
220 
221 #ifdef __cplusplus
222 }
223 #endif
Definition: xroad_string.h:29
struct _xmlAttr * xroad_xml_attr_t
see common/xroad_xml.h for deatails
Definition: xroad_common_fwd.h:29
void xroad_xml_destroy(xroad_xml_doc_t *doc)
int64_t xroad_xml_get_attr_i(xroad_xml_tag_t tag, xroad_str_t attribute)
uint32_t xroad_xml_get_children_by_tag_count(xroad_xml_tag_t tag, xroad_str_t path)
double xroad_xml_get_attr_d(xroad_xml_tag_t tag, xroad_str_t attribute)
xroad_str_t xroad_xml_attr_get_s(xroad_xml_attr_t attribute)
xroad_xml_doc_t * xroad_xml_read_memory(xroad_str_t xml_data, xroad_str_t xsd)
int32_t xroad_xml_has_attr(xroad_xml_tag_t tag, xroad_str_t attribute)
xroad_xml_attr_t xroad_xml_attr_get_first(xroad_xml_tag_t tag)
xroad_str_t xroad_xml_to_str(xroad_xml_tag_t xml, xroad_sstream_t *ss)
double xroad_xml_attr_get_d(xroad_xml_attr_t attribute)
xroad_xml_tag_t xroad_xml_get_tag(xroad_xml_tag_t tag, xroad_str_t path)
int32_t xroad_xml_has_tag(xroad_xml_tag_t tag, xroad_str_t path)
xroad_str_t xroad_xml_get_name(xroad_xml_tag_t tag)
xroad_xml_tag_t xroad_xml_get_next(xroad_xml_tag_t tag, xroad_str_t child_name)
xroad_xml_attr_t xroad_xml_attr_get_next(xroad_xml_attr_t attr)
xroad_xml_doc_t * xroad_xml_read_file(xroad_str_t xml, xroad_str_t xsd)
bool xroad_xml_get_attr_b(xroad_xml_tag_t tag, xroad_str_t attribute)
xroad_xml_tag_t xroad_xml_get_first(xroad_xml_tag_t tag, xroad_str_t child_name)
uint32_t xroad_xml_get_children_count(xroad_xml_tag_t tag)
xroad_xml_doc_t * xroad_xml_read_memory_ex(xroad_str_t xml_data, xroad_str_t xsd, xroad_xml_error_t err_cb)
int64_t xroad_xml_attr_get_i(xroad_xml_attr_t attribute)
xroad_str_t xroad_xml_get_attr_s(xroad_xml_tag_t tag, xroad_str_t attribute)
xroad_xml_tag_t xroad_xml_get_root(xroad_xml_doc_t *doc)
xroad_str_t xroad_xml_get_text(xroad_xml_tag_t tag)
bool xroad_xml_attr_get_b(xroad_xml_attr_t attribute)