#include "xroad_common_fwd.h"
#include "xroad_string.h"
#include <stdint.h>
#include <stdbool.h>
#include <libxml/parser.h>
#include "xroad_sstream.h"
Go to the source code of this file.
|
typedef void(* | xroad_xml_error_t) (void *, const char *,...) |
|
|
xroad_xml_doc_t * | xroad_xml_read_file (xroad_str_t xml, xroad_str_t xsd) |
|
xroad_xml_doc_t * | xroad_xml_read_memory (xroad_str_t xml_data, xroad_str_t xsd) |
|
xroad_xml_doc_t * | xroad_xml_read_memory_ex (xroad_str_t xml_data, xroad_str_t xsd, xroad_xml_error_t err_cb) |
|
xroad_str_t | xroad_xml_to_str (xroad_xml_tag_t xml, xroad_sstream_t *ss) |
|
void | xroad_xml_destroy (xroad_xml_doc_t *doc) |
|
void | xroad_xml_destructor (xroad_xml_doc_t **doc) |
|
xroad_xml_tag_t | xroad_xml_get_root (xroad_xml_doc_t *doc) |
|
int32_t | xroad_xml_has_tag (xroad_xml_tag_t tag, xroad_str_t path) |
|
xroad_xml_tag_t | xroad_xml_get_tag (xroad_xml_tag_t tag, xroad_str_t path) |
|
xroad_str_t | xroad_xml_get_name (xroad_xml_tag_t tag) |
|
xroad_str_t | xroad_xml_get_text (xroad_xml_tag_t tag) |
|
uint32_t | xroad_xml_get_children_count (xroad_xml_tag_t tag) |
|
uint32_t | xroad_xml_get_children_by_tag_count (xroad_xml_tag_t tag, xroad_str_t path) |
|
xroad_xml_tag_t | xroad_xml_get_first (xroad_xml_tag_t tag, xroad_str_t child_name) |
|
xroad_xml_tag_t | xroad_xml_get_next (xroad_xml_tag_t tag, xroad_str_t child_name) |
|
int32_t | xroad_xml_has_attr (xroad_xml_tag_t tag, xroad_str_t attribute) |
|
xroad_str_t | xroad_xml_get_attr_s (xroad_xml_tag_t tag, xroad_str_t attribute) |
|
int64_t | xroad_xml_get_attr_i (xroad_xml_tag_t tag, xroad_str_t attribute) |
|
double | xroad_xml_get_attr_d (xroad_xml_tag_t tag, xroad_str_t attribute) |
|
bool | xroad_xml_get_attr_b (xroad_xml_tag_t tag, xroad_str_t attribute) |
|
xroad_xml_attr_t | xroad_xml_attr_get_first (xroad_xml_tag_t tag) |
|
xroad_xml_attr_t | xroad_xml_attr_get_next (xroad_xml_attr_t attr) |
|
xroad_str_t | xroad_xml_attr_get_s (xroad_xml_attr_t attribute) |
|
int64_t | xroad_xml_attr_get_i (xroad_xml_attr_t attribute) |
|
double | xroad_xml_attr_get_d (xroad_xml_attr_t attribute) |
|
bool | xroad_xml_attr_get_b (xroad_xml_attr_t attribute) |
|
◆ __xroad_xml_dtor__
#define __xroad_xml_dtor__ __dtor__(xroad_xml_destructor) |
◆ xroad_xml_attr_get_b()
get content as bool of tag's attribute
- Parameters
-
- Returns
- pointer to string, NULL - error
◆ xroad_xml_attr_get_d()
get content as double of tag's attribute
- Parameters
-
- Returns
- double value
◆ xroad_xml_attr_get_first()
get first attribute of the xml tag
- Parameters
-
[in] | tag | - pointer to the xml tag |
- Returns
- pointer to the xml attr, NULL - attrfree tag
◆ xroad_xml_attr_get_i()
get content as int32_t of tag's attribute
- Parameters
-
- Returns
- integer value
◆ xroad_xml_attr_get_next()
find child of the xml tag parent
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | child_name | - name of next child tag |
- Returns
- pointer to the xml tag, NULL - error
◆ xroad_xml_attr_get_s()
get content as string of attribute
- Parameters
-
- Returns
- pointer to string, NULL - error
◆ xroad_xml_destroy()
void xroad_xml_destroy |
( |
xroad_xml_doc_t * |
doc | ) |
|
destroy document and frees memory
- Parameters
-
[in] | doc | - pointer to the xml document. It NULL, nothing happened |
◆ xroad_xml_get_attr_b()
bool xroad_xml_get_attr_b |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
attribute |
|
) |
| |
get content as bool of tag's attribute by its name
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | attribute | - attribute name |
- Returns
- boolean value
◆ xroad_xml_get_attr_d()
double xroad_xml_get_attr_d |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
attribute |
|
) |
| |
get content as double of tag's attribute by its name
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | attribute | - attribute name |
- Returns
- double value
◆ xroad_xml_get_attr_i()
int64_t xroad_xml_get_attr_i |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
attribute |
|
) |
| |
get content as int32_t of tag's attribute by its name
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | attribute | - attribute name |
- Returns
- integer value
◆ xroad_xml_get_attr_s()
get content as string of tag's attribute by its name
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | attribute | - attribute name |
- Returns
- pointer to string, NULL - error
◆ xroad_xml_get_children_by_tag_count()
uint32_t xroad_xml_get_children_by_tag_count |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
path |
|
) |
| |
get quantity of children of the xml tag parent
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | path | - path to the tag |
- Returns
- quantity of children
◆ xroad_xml_get_children_count()
uint32_t xroad_xml_get_children_count |
( |
xroad_xml_tag_t |
tag | ) |
|
get quantity of children of the xml tag parent
- Parameters
-
[in] | tag | - pointer to the xml tag |
- Returns
- quantity of children
◆ xroad_xml_get_first()
xroad_xml_tag_t xroad_xml_get_first |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
child_name |
|
) |
| |
get first child of the xml tag parent
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | child_name | - name of first child tag |
- Returns
- pointer to the xml tag, NULL - childfree node
◆ xroad_xml_get_name()
get name of the xml tag
- Parameters
-
[in] | tag | - pointer to the xml tag |
- Returns
- pointer to string, NULL - error
◆ xroad_xml_get_next()
xroad_xml_tag_t xroad_xml_get_next |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
child_name |
|
) |
| |
find child of the xml tag parent
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | child_name | - name of next child tag |
- Returns
- pointer to the xml tag, NULL - error
◆ xroad_xml_get_root()
xroad_xml_tag_t xroad_xml_get_root |
( |
xroad_xml_doc_t * |
doc | ) |
|
get the root tag of the xml document
- Parameters
-
[in] | doc | - pointer to the xml document |
- Returns
- pointer to the xml tag, NULL - error
◆ xroad_xml_get_tag()
xroad_xml_tag_t xroad_xml_get_tag |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
path |
|
) |
| |
get the tag of the xml document by its path
- Parameters
-
[in] | tag | - pointer to the xml document |
[in] | path | - path to the tag |
- Returns
- pointer to the xml tag, NULL - error
◆ xroad_xml_get_text()
get text of the xml tag
- Parameters
-
[in] | tag | - pointer to the xml tag |
- Returns
- pointer to string, NULL - error
◆ xroad_xml_has_attr()
int32_t xroad_xml_has_attr |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
attribute |
|
) |
| |
check if tag has attribute
- Parameters
-
[in] | tag | - pointer to the xml tag |
[in] | attribute | - attribute name |
- Returns
- 1 - exists, 0 - absent
◆ xroad_xml_has_tag()
int32_t xroad_xml_has_tag |
( |
xroad_xml_tag_t |
tag, |
|
|
xroad_str_t |
path |
|
) |
| |
check if xml tag exists
- Parameters
-
[in] | tag | - pointer to the xml document |
[in] | path | - path to the tag |
- Returns
- 1 - exists, 0 - no such tag
◆ xroad_xml_read_file()
parse xml file and validates it according scheme
- Parameters
-
[in] | xml | - path to the xml file |
[in] | xsd | - optional path to the xsd scheme |
- Returns
- pointer to new xml document, NULL - error
◆ xroad_xml_read_memory()
parse xml string and validates it according scheme
- Parameters
-
[in] | xml_data | - xml string |
[in] | xsd | - optional path to the xsd scheme |
- Returns
- pointer to new xml document, NULL - error
◆ xroad_xml_read_memory_ex()
parse xml string and validates it according scheme
- Parameters
-
[in] | xml_data | - xml string |
[in] | xsd | - optional path to the xsd scheme |
[out] | err_cb | - parse error callback |
- Returns
- pointer to new xml document, NULL - error
◆ xroad_xml_to_str()
xroad_str_t xroad_xml_to_str |
( |
xroad_xml_tag_t |
xml, |
|
|
xroad_sstream_t * |
ss |
|
) |
| |
convert xml tag to string
- Parameters
-
[in] | xml | - xml tag to convert |
[out] | ss | - string stream |
- Returns
- string representation