/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk

« back to all changes in this revision

Viewing changes to parse/expat.c

  • Committer: Suren A. Chilingaryan
  • Date: 2009-02-16 09:27:17 UTC
  • Revision ID: csa@dside.dyndns.org-20090216092717-wipyvaaw2srxhgns
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}