/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk
1 by Suren A. Chilingaryan
Initial import
1
#include <stdio.h>
2
#include <sys/time.h>
3
#include <expat.h>
4
5
#include "tools.h"
6
7
void starttag(void *UserData, const XML_Char *name, const XML_Char **attrs) {
8
    return;
9
}
10
11
void endtag(void *UserData, const XML_Char *name) {
12
    return;
13
}
14
15
void texttag(void *UserData, const XML_Char *data, int len) {
16
    /* Isn't NULL terminated! Data can be splited in several calls! */
17
    return;
18
}
19
20
XML_Parser doc;
21
22
void initXML(struct TestData *td) {
23
    doc=XML_ParserCreate(NULL);
24
    XML_SetStartElementHandler(doc,&starttag);
25
    XML_SetEndElementHandler(doc,&endtag);
26
    XML_SetCharacterDataHandler(doc,&texttag);
27
}
28
29
void releaseXML(struct TestData *td) {
30
    XML_ParserFree(doc);
31
}
32
33
void parseXML(struct TestData *td, unsigned long iter) {
34
    enum XML_Status status;
35
36
    status=XML_Parse(doc,td->xml,td->xmllen,1);
37
38
    if (status!=XML_STATUS_OK) {
39
	printf("Error parsing XML!\n");
40
	exit(1);
41
    }
42
43
    if (XML_ParserReset(doc,NULL)==XML_FALSE) {
44
        printf("Error reinitialising XML parser!\n");
45
        exit(1);
46
    }
47
}
48
49
50
int main(int argc, char *argv[]) {
51
    return Test(argc,argv);
52
}