29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
31#include <mstdlib/base/m_fs.h>
32#include <mstdlib/base/m_hash_dict.h>
33#include <mstdlib/base/m_list_str.h>
34#include <mstdlib/base/m_buf.h>
struct M_buf M_buf_t
Definition: m_buf.h:77
M_fs_error_t
Definition: m_fs.h:154
struct M_hash_dict M_hash_dict_t
Definition: m_hash_dict.h:52
struct M_list_str M_list_str_t
Definition: m_list_str.h:80
M_xml_node_t * M_xml_node_child(const M_xml_node_t *node, size_t idx)
M_fs_error_t M_xml_write_file(const M_xml_node_t *node, const char *path, M_uint32 flags)
M_bool M_xml_node_remove_attribute(M_xml_node_t *node, const char *key)
M_xml_node_t * M_xml_create_declaration(const char *name, M_xml_node_t *parent) M_MALLOC
M_xml_node_type_t M_xml_node_type(const M_xml_node_t *node)
M_xml_node_t * M_xml_node_parent(const M_xml_node_t *node)
char * M_xml_write(const M_xml_node_t *node, M_uint32 flags, size_t *len) M_WARN_UNUSED_RESULT M_MALLOC
M_xml_node_t * M_xml_create_text(const char *text, size_t max_len, M_xml_node_t *parent) M_MALLOC
void M_xml_take_from_parent(M_xml_node_t *node)
M_xml_node_t * M_xml_create_processing_instruction(const char *name, M_xml_node_t *parent) M_MALLOC
M_xml_writer_flags_t
Definition: m_xml.h:139
M_bool M_xml_node_set_tag_data(M_xml_node_t *node, const char *data)
M_bool M_xml_node_insert_node_at(M_xml_node_t *parent, M_xml_node_t *child, size_t idx)
const char * M_xml_xpath_text_first(M_xml_node_t *node, const char *search)
M_bool M_xml_node_insert_node(M_xml_node_t *parent, M_xml_node_t *child)
M_xml_node_type_t
Definition: m_xml.h:95
M_bool M_xml_node_set_text(M_xml_node_t *node, const char *text, size_t max_len)
M_xml_error_t
Definition: m_xml.h:157
M_bool M_xml_write_buf(M_buf_t *buf, const M_xml_node_t *node, M_uint32 flags)
M_xml_node_t * M_xml_node_sibling(const M_xml_node_t *node, M_bool after)
const M_hash_dict_t * M_xml_node_attributes(const M_xml_node_t *node)
const char * M_xml_errcode_to_str(M_xml_error_t err)
const char * M_xml_node_name(const M_xml_node_t *node)
M_xml_node_t * M_xml_create_element(const char *name, M_xml_node_t *parent) M_MALLOC
M_bool M_xml_node_set_name(M_xml_node_t *node, const char *name)
const char * M_xml_node_attribute(const M_xml_node_t *node, const char *key)
void M_xml_node_destroy(M_xml_node_t *node) M_FREE(1)
M_bool M_xml_node_insert_attribute(M_xml_node_t *node, const char *key, const char *val, size_t max_len, M_bool overwrite)
M_xml_node_t * M_xml_create_element_with_num(const char *name, M_int64 num, size_t max_len, M_xml_node_t *parent) M_MALLOC
const char * M_xml_node_tag_data(const M_xml_node_t *node)
size_t M_xml_node_num_children(const M_xml_node_t *node)
M_xml_node_t ** M_xml_xpath(M_xml_node_t *node, const char *search, M_uint32 flags, size_t *num_matches) M_MALLOC
struct M_xml_node M_xml_node_t
Definition: m_xml.h:91
M_list_str_t * M_xml_node_attribute_keys(const M_xml_node_t *node) M_MALLOC
M_xml_node_t * M_xml_create_comment(const char *comment, M_xml_node_t *parent) M_MALLOC
M_xml_node_t * M_xml_read_file(const char *path, M_uint32 flags, size_t max_read, M_xml_error_t *error, size_t *error_line, size_t *error_pos) M_MALLOC
const char * M_xml_node_text(const M_xml_node_t *node)
M_xml_node_t * M_xml_create_doc(void) M_MALLOC
M_xml_node_t * M_xml_create_declaration_with_tag_data(const char *name, const char *data, M_xml_node_t *parent) M_MALLOC
M_xml_reader_flags_t
Definition: m_xml.h:125
M_xml_node_t * M_xml_create_xml_declaration(const char *encoding, M_xml_node_t *parent) M_MALLOC
M_xml_node_t * M_xml_read(const char *data, size_t data_len, M_uint32 flags, size_t *processed_len, M_xml_error_t *error, size_t *error_line, size_t *error_pos) M_MALLOC
M_xml_node_t * M_xml_create_element_with_text(const char *name, const char *text, size_t max_len, M_xml_node_t *parent) M_MALLOC
@ M_XML_WRITER_DONT_ENCODE_TEXT
Definition: m_xml.h:144
@ M_XML_WRITER_PRETTYPRINT_SPACE
Definition: m_xml.h:150
@ M_XML_WRITER_IGNORE_COMMENTS
Definition: m_xml.h:141
@ M_XML_WRITER_LOWER_ATTRS
Definition: m_xml.h:143
@ M_XML_WRITER_PRETTYPRINT_TAB
Definition: m_xml.h:151
@ M_XML_WRITER_SELFCLOSE_SPACE
Definition: m_xml.h:152
@ M_XML_WRITER_DONT_ENCODE_ATTRS
Definition: m_xml.h:147
@ M_XML_WRITER_NONE
Definition: m_xml.h:140
@ M_XML_WRITER_LOWER_TAGS
Definition: m_xml.h:142
@ M_XML_NODE_TYPE_ELEMENT
Definition: m_xml.h:101
@ M_XML_NODE_TYPE_COMMENT
Definition: m_xml.h:117
@ M_XML_NODE_TYPE_TEXT
Definition: m_xml.h:105
@ M_XML_NODE_TYPE_PROCESSING_INSTRUCTION
Definition: m_xml.h:109
@ M_XML_NODE_TYPE_DECLARATION
Definition: m_xml.h:113
@ M_XML_NODE_TYPE_DOC
Definition: m_xml.h:97
@ M_XML_NODE_TYPE_UNKNOWN
Definition: m_xml.h:96
@ M_XML_ERROR_INVALID_CHAR_IN_START_TAG
Definition: m_xml.h:164
@ M_XML_ERROR_MISUSE
Definition: m_xml.h:160
@ M_XML_ERROR_EXPECTED_END
Definition: m_xml.h:171
@ M_XML_ERROR_INELIGIBLE_FOR_CLOSE
Definition: m_xml.h:167
@ M_XML_ERROR_EMPTY_START_TAG
Definition: m_xml.h:165
@ M_XML_ERROR_INVALID_START_TAG
Definition: m_xml.h:163
@ M_XML_ERROR_MISSING_CLOSE_TAG
Definition: m_xml.h:169
@ M_XML_ERROR_SUCCESS
Definition: m_xml.h:158
@ M_XML_ERROR_UNEXPECTED_CLOSE
Definition: m_xml.h:168
@ M_XML_ERROR_GENERIC
Definition: m_xml.h:159
@ M_XML_ERROR_ATTR_EXISTS
Definition: m_xml.h:161
@ M_XML_ERROR_NO_ELEMENTS
Definition: m_xml.h:162
@ M_XML_ERROR_MISSING_PROCESSING_INSTRUCTION_END
Definition: m_xml.h:170
@ M_XML_ERROR_MISSING_DECLARATION_NAME
Definition: m_xml.h:166
@ M_XML_READER_DONT_DECODE_TEXT
Definition: m_xml.h:129
@ M_XML_READER_DONT_DECODE_ATTRS
Definition: m_xml.h:132
@ M_XML_READER_NONE
Definition: m_xml.h:126
@ M_XML_READER_TAG_CASECMP
Definition: m_xml.h:128
@ M_XML_READER_IGNORE_COMMENTS
Definition: m_xml.h:127