ixml.h - xml2tsv - a simple xml-to-tsv converter, based on xmlparser Err bitreich.org 70 1Log /scm/xml2tsv/log.gph bitreich.org 70 1Files /scm/xml2tsv/files.gph bitreich.org 70 1Refs /scm/xml2tsv/refs.gph bitreich.org 70 1Tags /scm/xml2tsv/tag bitreich.org 70 1README /scm/xml2tsv/file/README.md.gph bitreich.org 70 1LICENSE /scm/xml2tsv/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 ixml.h (1575B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #ifndef _XML_H_ Err bitreich.org 70 i 2 #define _XML_H_ Err bitreich.org 70 i 3 Err bitreich.org 70 i 4 #include Err bitreich.org 70 i 5 Err bitreich.org 70 i 6 typedef struct xmlparser { Err bitreich.org 70 i 7 /* handlers */ Err bitreich.org 70 i 8 void (*xmlattr)(struct xmlparser *, const char *, size_t, Err bitreich.org 70 i 9 const char *, size_t, const char *, size_t); Err bitreich.org 70 i 10 void (*xmlattrend)(struct xmlparser *, const char *, size_t, Err bitreich.org 70 i 11 const char *, size_t); Err bitreich.org 70 i 12 void (*xmlattrstart)(struct xmlparser *, const char *, size_t, Err bitreich.org 70 i 13 const char *, size_t); Err bitreich.org 70 i 14 void (*xmlattrentity)(struct xmlparser *, const char *, size_t, Err bitreich.org 70 i 15 const char *, size_t, const char *, size_t); Err bitreich.org 70 i 16 void (*xmlcdatastart)(struct xmlparser *); Err bitreich.org 70 i 17 void (*xmlcdata)(struct xmlparser *, const char *, size_t); Err bitreich.org 70 i 18 void (*xmlcdataend)(struct xmlparser *); Err bitreich.org 70 i 19 void (*xmldata)(struct xmlparser *, const char *, size_t); Err bitreich.org 70 i 20 void (*xmldataend)(struct xmlparser *); Err bitreich.org 70 i 21 void (*xmldataentity)(struct xmlparser *, const char *, size_t); Err bitreich.org 70 i 22 void (*xmldatastart)(struct xmlparser *); Err bitreich.org 70 i 23 void (*xmltagend)(struct xmlparser *, const char *, size_t, int); Err bitreich.org 70 i 24 void (*xmltagstart)(struct xmlparser *, const char *, size_t); Err bitreich.org 70 i 25 void (*xmltagstartparsed)(struct xmlparser *, const char *, Err bitreich.org 70 i 26 size_t, int); Err bitreich.org 70 i 27 Err bitreich.org 70 i 28 #ifndef GETNEXT Err bitreich.org 70 i 29 /* GETNEXT overridden to reduce function call overhead and Err bitreich.org 70 i 30 further context optimizations. */ Err bitreich.org 70 i 31 #define GETNEXT getchar Err bitreich.org 70 i 32 #endif Err bitreich.org 70 i 33 Err bitreich.org 70 i 34 /* current tag */ Err bitreich.org 70 i 35 char tag[1024]; Err bitreich.org 70 i 36 size_t taglen; Err bitreich.org 70 i 37 /* current tag is in short form ? */ Err bitreich.org 70 i 38 int isshorttag; Err bitreich.org 70 i 39 /* current attribute name */ Err bitreich.org 70 i 40 char name[1024]; Err bitreich.org 70 i 41 /* data buffer used for tag data, cdata and attribute data */ Err bitreich.org 70 i 42 char data[BUFSIZ]; Err bitreich.org 70 i 43 } XMLParser; Err bitreich.org 70 i 44 Err bitreich.org 70 i 45 int xml_entitytostr(const char *, char *, size_t); Err bitreich.org 70 i 46 void xml_parse(XMLParser *); Err bitreich.org 70 i 47 #endif Err bitreich.org 70 .