00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <libxml/parser.h>
00027 #include <libxml/tree.h>
00028
00029 #include <cds/sstr.h>
00030
00031 int xmlstrcmp(const xmlChar *xmls, const char *name);
00032 xmlAttr *find_attr(xmlAttr *first, const char *name);
00033 const char *find_value(xmlNode *first_child);
00034 const char *get_node_value(xmlNode *n);
00035 xmlNode *find_node(xmlNode *parent, const char *name, const char *nspace);
00036 const char *get_attr_value(xmlAttr *a);
00037 int cmp_node(xmlNode *node, const char *name, const char *nspace);
00038 int get_int_attr(xmlNode *n, const char *attr_name, int *dst);
00039 int get_str_attr(xmlNode *n, const char *attr_name, str_t *dst);
00040
00041 time_t xmltime2time(const char *xt);
00042
00043 #define SEQUENCE(type) type*
00044 #define SEQUENCE_ABLE(type) type *__next;
00045 #define SEQUENCE_ADD(first,last,e) do { \
00046 if (last) last->__next = e; \
00047 else first = e; \
00048 last = e; } while(0);
00049 #define SEQUENCE_FIRST(first) first
00050 #define SEQUENCE_NEXT(e) (e)->__next
00051
00052 extern int xml_parser_flags;