2 struct solv_xmlparser_element {
9 struct solv_xmlparser {
19 int lcontent; /* current content length */
20 int acontent; /* allocated content length */
22 struct solv_xmlparser_element *elements;
25 void (*startelement)(struct solv_xmlparser *xmlp, int state, const char *name, const char **atts);
26 void (*endelement)(struct solv_xmlparser *xmlp, int state, char *content);
27 void (*errorhandler)(struct solv_xmlparser *xmlp, const char *errstr, unsigned int line, unsigned int column);
33 static inline const char *
34 solv_xmlparser_find_attr(const char *txt, const char **atts)
36 for (; *atts; atts += 2)
37 if (!strcmp(*atts, txt))
42 extern void solv_xmlparser_init(struct solv_xmlparser *xmlp, struct solv_xmlparser_element *elements, void *userdata,
43 void (*startelement)(struct solv_xmlparser *xmlp, int state, const char *name, const char **atts),
44 void (*endelement)(struct solv_xmlparser *xmlp, int state, char *content),
45 void (*errorhandler)(struct solv_xmlparser *xmlp, const char *errstr, unsigned int line, unsigned int column));
47 extern void solv_xmlparser_free(struct solv_xmlparser *xmlp);
48 extern void solv_xmlparser_parse(struct solv_xmlparser *xmlp, FILE *fp);
49 unsigned int solv_xmlparser_lineno(struct solv_xmlparser *xmlp);
50 char *solv_xmlparser_contentspace(struct solv_xmlparser *xmlp, int l);