/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/xerces-sax.cpp

  • 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 <xercesc/util/PlatformUtils.hpp>
 
4
#include <xercesc/parsers/SAXParser.hpp>
 
5
#include <xercesc/framework/MemBufInputSource.hpp>
 
6
#include <xercesc/sax/DocumentHandler.hpp>
 
7
#include <xercesc/sax/HandlerBase.hpp>
 
8
 
 
9
 
 
10
#include "tools.h"
 
11
 
 
12
#if defined(XERCES_HAS_CPP_NAMESPACE)
 
13
    XERCES_CPP_NAMESPACE_USE
 
14
#endif
 
15
 
 
16
class DocHandlers : public HandlerBase {
 
17
 public:
 
18
    void startElement(const XMLCh* const name, AttributeList& attributes);
 
19
    void endElement(const XMLCh* const name);
 
20
    void characters(const XMLCh* const text, const unsigned int len);
 
21
    void resetDocument();
 
22
};
 
23
 
 
24
void DocHandlers::startElement(const XMLCh* const name, AttributeList& attributes) {
 
25
    return;
 
26
}
 
27
 
 
28
void DocHandlers::endElement(const XMLCh* const name) {
 
29
    return;
 
30
}
 
31
 
 
32
void DocHandlers::characters(const XMLCh* const text, const unsigned int len) {
 
33
    return;
 
34
}
 
35
 
 
36
void DocHandlers::resetDocument() {
 
37
    return;
 
38
}
 
39
 
 
40
SAXParser *parser;
 
41
DocHandlers *handler;
 
42
 
 
43
void initXML(struct TestData *td) {
 
44
    XMLPlatformUtils::Initialize();
 
45
    parser=new SAXParser;
 
46
    handler=new DocHandlers;
 
47
    parser->setDocumentHandler(handler);
 
48
}
 
49
 
 
50
void releaseXML(struct TestData *td) {
 
51
    delete handler;
 
52
    delete parser;
 
53
    XMLPlatformUtils::Terminate();
 
54
}
 
55
 
 
56
void parseXML(struct TestData *td, unsigned long iter) {
 
57
    const char id[5]="ID1\0";
 
58
    MemBufInputSource *buffer;
 
59
 
 
60
    buffer=new MemBufInputSource((XMLByte*)td->xml,td->xmllen,(const char*)&id);
 
61
    buffer->setCopyBufToStream(false);
 
62
    parser->parse(*buffer);
 
63
    delete buffer;
 
64
}
 
65
 
 
66
 
 
67
int main(int argc, char *argv[]) {
 
68
    return Test(argc,argv);
 
69
}