xmlparser

XML parser
git clone git://git.codemadness.org/xmlparser
Log | Files | Refs | README | LICENSE

skeleton.c (2246B)


      1 #include <stdio.h>
      2 
      3 #include "xml.h"
      4 
      5 void
      6 xmlattr(XMLParser *x, const char *t, size_t tl, const char *a, size_t al,
      7         const char *v, size_t vl)
      8 {
      9 }
     10 
     11 void
     12 xmlattrentity(XMLParser *x, const char *t, size_t tl, const char *a, size_t al,
     13               const char *v, size_t vl)
     14 {
     15 #if 0
     16 	char buf[8];
     17 	int len;
     18 
     19 	/* try to translate entity, else just pass as data to
     20 	 * xmlattr handler. */
     21 	if ((len = xml_entitytostr(v, buf, sizeof(buf))) > 0)
     22 		xmlattr(x, t, tl, a, al, buf, (size_t)len);
     23 	else
     24 		xmlattr(x, t, tl, a, al, v, vl);
     25 #endif
     26 }
     27 
     28 void
     29 xmlattrend(XMLParser *x, const char *t, size_t tl, const char *a, size_t al)
     30 {
     31 }
     32 
     33 void
     34 xmlattrstart(XMLParser *x, const char *t, size_t tl, const char *a, size_t al)
     35 {
     36 }
     37 
     38 void
     39 xmlcdatastart(XMLParser *x)
     40 {
     41 }
     42 
     43 void
     44 xmlcdata(XMLParser *x, const char *d, size_t dl)
     45 {
     46 }
     47 
     48 void
     49 xmlcdataend(XMLParser *x)
     50 {
     51 }
     52 
     53 void
     54 xmlcommentstart(XMLParser *x)
     55 {
     56 }
     57 
     58 void
     59 xmlcomment(XMLParser *x, const char *c, size_t cl)
     60 {
     61 }
     62 
     63 void
     64 xmlcommentend(XMLParser *x)
     65 {
     66 }
     67 
     68 void
     69 xmldata(XMLParser *x, const char *d, size_t dl)
     70 {
     71 }
     72 
     73 void
     74 xmldataend(XMLParser *x)
     75 {
     76 }
     77 
     78 void
     79 xmldataentity(XMLParser *x, const char *d, size_t dl)
     80 {
     81 #if 0
     82 	char buf[8];
     83 	int len;
     84 
     85 	/* try to translate entity, else just pass as data to
     86 	 * xmldata handler. */
     87 	if ((len = xml_entitytostr(d, buf, sizeof(buf))) > 0)
     88 		xmldata(x, buf, (size_t)len);
     89 	else
     90 		xmldata(x, d, dl);
     91 #endif
     92 }
     93 
     94 void
     95 xmldatastart(XMLParser *x)
     96 {
     97 }
     98 
     99 void
    100 xmltagend(XMLParser *x, const char *t, size_t tl, int isshort)
    101 {
    102 }
    103 
    104 void
    105 xmltagstart(XMLParser *x, const char *t, size_t tl)
    106 {
    107 }
    108 
    109 void
    110 xmltagstartparsed(XMLParser *x, const char *t, size_t tl, int isshort)
    111 {
    112 }
    113 
    114 int
    115 main(void)
    116 {
    117 	XMLParser x = { 0 };
    118 
    119 	x.xmlattr = xmlattr;
    120 	x.xmlattrend = xmlattrend;
    121 	x.xmlattrstart = xmlattrstart;
    122 	x.xmlattrentity = xmlattrentity;
    123 	x.xmlcdatastart = xmlcdatastart;
    124 	x.xmlcdata = xmlcdata;
    125 	x.xmlcdataend = xmlcdataend;
    126 	x.xmlcommentstart = xmlcommentstart;
    127 	x.xmlcomment = xmlcomment;
    128 	x.xmlcommentend = xmlcommentend;
    129 	x.xmldata = xmldata;
    130 	x.xmldataend = xmldataend;
    131 	x.xmldataentity = xmldataentity;
    132 	x.xmldatastart = xmldatastart;
    133 	x.xmltagend = xmltagend;
    134 	x.xmltagstart = xmltagstart;
    135 	x.xmltagstartparsed = xmltagstartparsed;
    136 
    137 	x.getnext = getchar;
    138 
    139 	xml_parse(&x);
    140 
    141 	return 0;
    142 }