xml.h - frontends - front-ends for some sites (experiment)
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       xml.h (1662B)
       ---
            1 #ifndef XML_H
            2 #define XML_H
            3 
            4 #include <stdio.h>
            5 
            6 typedef struct xmlparser {
            7         /* handlers */
            8         void (*xmlattr)(struct xmlparser *, const char *, size_t,
            9               const char *, size_t, const char *, size_t);
           10         void (*xmlattrend)(struct xmlparser *, const char *, size_t,
           11               const char *, size_t);
           12         void (*xmlattrstart)(struct xmlparser *, const char *, size_t,
           13               const char *, size_t);
           14         void (*xmlattrentity)(struct xmlparser *, const char *, size_t,
           15               const char *, size_t, const char *, size_t);
           16         void (*xmlcdatastart)(struct xmlparser *);
           17         void (*xmlcdata)(struct xmlparser *, const char *, size_t);
           18         void (*xmlcdataend)(struct xmlparser *);
           19         void (*xmlcommentstart)(struct xmlparser *);
           20         void (*xmlcomment)(struct xmlparser *, const char *, size_t);
           21         void (*xmlcommentend)(struct xmlparser *);
           22         void (*xmldata)(struct xmlparser *, const char *, size_t);
           23         void (*xmldataend)(struct xmlparser *);
           24         void (*xmldataentity)(struct xmlparser *, const char *, size_t);
           25         void (*xmldatastart)(struct xmlparser *);
           26         void (*xmltagend)(struct xmlparser *, const char *, size_t, int);
           27         void (*xmltagstart)(struct xmlparser *, const char *, size_t);
           28         void (*xmltagstartparsed)(struct xmlparser *, const char *,
           29               size_t, int);
           30 
           31 #undef GETNEXT
           32 #define GETNEXT getnext
           33 
           34         /* current tag */
           35         char tag[1024];
           36         size_t taglen;
           37         /* current tag is in short form ? <tag /> */
           38         int isshorttag;
           39         /* current attribute name */
           40         char name[1024];
           41         /* data buffer used for tag data, cdata and attribute data */
           42         char data[BUFSIZ];
           43 } XMLParser;
           44 
           45 int xml_entitytostr(const char *, char *, size_t);
           46 void xml_parse(XMLParser *);
           47 #endif
           48 
           49 void setxmldata(const char *s, size_t len);