GATE
xml.h File Reference

XML data encoding/decoding. More...

#include "gate/encode/gate_encode_api.h"
#include "gate/strings.h"
#include "gate/arrays.h"
#include "gate/streams.h"
#include "gate/maps.h"

Classes

struct  gate_xml_pair
 
struct  gate_xml_node
 
struct  gate_xml_doc_class
 

Macros

#define GATE_XML_NODE_TYPE_NONE   0x00
 
#define GATE_XML_NODE_TYPE_DTD   0x01
 
#define GATE_XML_NODE_TYPE_DECLARATION   0x02
 
#define GATE_XML_NODE_TYPE_COMMENT   0x03
 
#define GATE_XML_NODE_TYPE_ELEMENT   0x11
 
#define GATE_XML_NODE_TYPE_CDATA   0x12
 

Typedefs

typedef struct gate_xml_pair gate_xml_pair_t
 
typedef struct gate_xml_node gate_xml_node_t
 
typedef struct gate_xml_doc_class gate_xml_doc_t
 

Functions

GATE_ENCODE_API gate_result_t gate_xml_encode (gate_string_t const *plaintext, gate_string_t *xmltext)
 
GATE_ENCODE_API gate_result_t gate_xml_decode (gate_string_t const *xmltext, gate_string_t *plaintext)
 
GATE_ENCODE_API gate_result_t gate_xml_node_create (gate_xml_node_t *node, gate_uint16_t node_type, gate_string_t const *tag, gate_array_t const *attributes, gate_array_t const *child_nodes, gate_string_t const *content)
 
GATE_ENCODE_API gate_xml_node_tgate_xml_node_duplicate (gate_xml_node_t *dest, gate_xml_node_t const *src)
 
GATE_ENCODE_API gate_result_t gate_xml_node_destroy (gate_xml_node_t *node)
 
GATE_ENCODE_API gate_result_t gate_xml_node_copy_constructor (void *destMem, void const *srcMem)
 
GATE_ENCODE_API void gate_xml_node_destructor (void *dest)
 
GATE_ENCODE_API gate_result_t gate_xml_node_attribute_by_name (gate_xml_node_t const *node, gate_string_t const *attr_name, gate_string_t *attr_value)
 
GATE_ENCODE_API gate_string_t const * gate_xml_node_attribute_ptr_by_name (gate_xml_node_t const *node, gate_string_t const *attr_name)
 
GATE_ENCODE_API gate_size_t gate_xml_node_attribute_count (gate_xml_node_t const *node)
 
GATE_ENCODE_API gate_result_t gate_xml_node_attribute_by_index (gate_xml_node_t const *node, gate_size_t index, gate_string_t *attr_name, gate_string_t *attr_value)
 
GATE_ENCODE_API gate_size_t gate_xml_node_children_count (gate_xml_node_t const *node)
 
GATE_ENCODE_API gate_result_t gate_xml_node_child (gate_xml_node_t const *node, gate_size_t index, gate_xml_node_t *child)
 
GATE_ENCODE_API gate_xml_node_t const * gate_xml_node_child_ptr (gate_xml_node_t const *node, gate_size_t index)
 
GATE_ENCODE_API gate_result_t gate_xml_node_parse (gate_string_t const *source, gate_xml_node_t *node, gate_size_t *bytes_parsed)
 
GATE_ENCODE_API gate_result_t gate_xml_node_print (gate_xml_node_t const *node, gate_stream_t *stream, gate_size_t indent_spaces)
 
GATE_ENCODE_API gate_size_t gate_xml_parse_next_whitespace (gate_string_t const *xmltoken)
 
GATE_ENCODE_API gate_size_t gate_xml_parse_trim_whitespaces (gate_string_t *xmltoken)
 
GATE_ENCODE_API gate_size_t gate_xml_parse_tag_content (gate_string_t const *text, gate_string_t *tag_content, gate_uint16_t *node_type)
 
GATE_ENCODE_API gate_result_t gate_xml_parse_decompose_name (gate_string_t const *attribname, gate_string_t *prefix, gate_string_t *localname)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_create (gate_xml_doc_t *doc, gate_xml_node_t const *document_element)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_destroy (gate_xml_doc_t *doc)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_load (gate_xml_doc_t *doc, gate_stream_t *stream)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_store (gate_xml_doc_t *doc, gate_stream_t *stream, gate_size_t indent_spaces)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_load_text (gate_xml_doc_t *doc, gate_string_t const *text)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_store_text (gate_xml_doc_t *doc, gate_string_t *text, gate_size_t indent_spaces)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_root_element (gate_xml_doc_t *doc, gate_xml_node_t const **ptr_document_element)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_add_node (gate_xml_doc_t *doc, gate_xml_node_t *parent_node, gate_xml_node_t const *child_node)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_add_attribute (gate_xml_doc_t *doc, gate_xml_node_t *target_node, gate_string_t const *name, gate_string_t const *value)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_remove_attribute (gate_xml_doc_t *doc, gate_xml_node_t *target_node, gate_string_t const *name)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_remove_node (gate_xml_doc_t *doc, gate_xml_node_t *target_node, gate_size_t index)
 
GATE_ENCODE_API gate_result_t gate_xml_doc_set_node_content (gate_xml_doc_t *doc, gate_xml_node_t *target_node, gate_string_t const *content)
 

Detailed Description

XML data encoding/decoding.