1 #ifndef _OPENSYNC_XML_H 2 #define _OPENSYNC_XML_H 4 #include <libxml/xmlmemory.h> 5 #include <libxml/parser.h> 6 #include <libxml/xpath.h> 13 typedef enum osxmlEncoding {
15 OSXML_QUOTED_PRINTABLE = 1,
19 typedef enum osxmlCharset {
26 osxmlEncoding encoding;
30 xmlNode *osxml_node_add_root(xmlDoc *doc,
const char *name);
31 xmlNode *osxml_node_get_root(xmlDoc *doc,
const char *name,
OSyncError **error);
32 xmlNode *osxml_get_node(xmlNode *parent,
const char *name);
34 xmlNode *osxml_node_add(xmlNode *parent,
const char *name,
const char *data);
36 xmlNode *osxml_format_parse(
const char *input,
int size,
const char *rootname,
OSyncError **error);
37 char *osxml_find_node(xmlNode *parent,
const char *name);
38 void osxml_node_add_property(xmlNode *parent,
const char *name,
const char *data);
39 char *osxml_find_property(xmlNode *parent,
const char *name);
40 osync_bool osxml_has_property(xmlNode *parent,
const char *name);
41 osync_bool osxml_has_property_full(xmlNode *parent,
const char *name,
const char *data);
43 void osxml_node_mark_unknown(xmlNode *parent);
44 void osxml_node_remove_unknown_mark(xmlNode *node);
45 void osxml_map_unknown_param(xmlNode *node,
const char *paramname,
const char *newname);
47 void osxml_node_set(xmlNode *node,
const char *name,
const char *data,
OSyncXMLEncoding encoding);
48 xmlXPathObject *osxml_get_nodeset(xmlDoc *doc,
const char *expression);
49 xmlXPathObject *osxml_get_unknown_nodes(xmlDoc *doc);
50 xmlChar *osxml_write_to_string(xmlDoc *doc);
51 osync_bool osxml_copy(
const char *input,
int inpsize,
char **output,
int *outpsize);
53 osync_bool osxml_marshall(
const char *input,
int inpsize,
char **output,
int *outpsize,
OSyncError **error);
54 osync_bool osxml_demarshall(
const char *input,
int inpsize,
char **output,
int *outpsize,
OSyncError **error);
60 #endif // _OPENSYNC_XML_H