3
#include <xercesc/util/PlatformUtils.hpp>
4
#include <xercesc/framework/MemBufInputSource.hpp>
5
#include <xercesc/parsers/XercesDOMParser.hpp>
8
#include "DOMTreeErrorReporter.hpp"
11
DOMTreeErrorReporter *errReporter;
12
XercesDOMParser *simple_parser;
13
XercesDOMParser *parser;
16
void initXML(struct TestData *td) {
17
XMLPlatformUtils::Initialize();
18
errReporter = new DOMTreeErrorReporter();
19
simple_parser = new XercesDOMParser;
20
simple_parser->setDoNamespaces(1);
22
parser = new XercesDOMParser;
26
void initXML_Validation(struct TestData *td) {
27
parser->setDoSchema(1);
28
parser->setDoNamespaces(1);
29
parser->setValidationScheme(XercesDOMParser::Val_Always);
30
parser->setValidationSchemaFullChecking(1);
31
parser->setErrorHandler(errReporter);
34
void releaseXML(struct TestData *td) {
38
XMLPlatformUtils::Terminate();
41
void parseXML(struct TestData *td, unsigned long iter) {
42
const char id[5]="ID1\0";
43
MemBufInputSource *buffer;
45
// parser = new XercesDOMParser;
47
buffer=new MemBufInputSource((XMLByte*)td->xml,td->xmllen,(const char*)&id);
48
buffer->setCopyBufToStream(false);
49
simple_parser->parse(*buffer);
56
void validateXML(struct TestData *td, unsigned long iter) {
57
const char id[5]="ID1\0";
58
MemBufInputSource *buffer;
59
// XercesDOMParser *parser;
61
parser = new XercesDOMParser;
62
parser->setDoSchema(1);
63
parser->setDoNamespaces(1);
64
parser->setValidationScheme(XercesDOMParser::Val_Always);
65
parser->setValidationSchemaFullChecking(1);
66
parser->setErrorHandler(errReporter);
68
buffer=new MemBufInputSource((XMLByte*)td->xml,td->xmllen,(const char*)&id);
69
buffer->setCopyBufToStream(false);
70
parser->parse(*buffer);
77
int main(int argc, char *argv[]) {
78
return Test(argc,argv);