5
#include "include/util/reader.h"
6
#include "include/util/filereader.h"
7
#include "include/util/memoryreader.h"
8
#include "include/common/defines.h"
9
#include "include/common/types.h"
10
#include "include/common/source.h"
11
#include "include/common/exception.h"
12
#include "include/xpa/dom/dom.h"
14
#include "include/xsa/schemavalidator.h"
15
#include "include/xpa/dom/dom.h"
16
#include "include/xpa/xmldoc/xmldocfactory.h"
17
#include "include/xpa/xmldoc/xmldocparser.h"
22
INTEL_XML_NAMESPACE_USE
23
INTEL_XML_UTIL_NAMESPACE_USE
24
INTEL_XML_PARSE_DOM_NAMESPACE_USE
25
INTEL_XML_VALIDATOR_NAMESPACE_USE
28
DOMImplementationFactory* domfactory;
29
DOMImplementation* domimpl;
34
void initXML(struct TestData *td) {
36
domfactory = DOMImplementationFactory::newInstance();
37
domimpl = domfactory->getDOMImplementation();
38
parser = domimpl->createDOMParser();
42
const XMLChar* schemaLanguage = W3C_XML_SCHEMA_NS_URI;
43
const XMLChar* schema_full_checking_feature_id = FEATURE_VALIDATOR_SCHEMA_FULL_CHECKING;
44
const XMLChar* identity_constraint_checking_feature_id = FEATURE_VALIDATOR_IDENTITY_CONSTRAINT_CHECKING;
46
SchemaFactory* schemaFactory = NULL;
47
Schema* schema = NULL;
48
Validator* myvalidator = NULL;
50
MemoryReader *schemabuf;
51
StreamSource *schemasrc;
53
void initXML_Validation(struct TestData *td) {
54
schemaFactory = SchemaFactory::newInstance(schemaLanguage);
55
// schemaFactory->setFeature(schema_full_checking_feature_id,true);
56
// schemaFactory->setFeature(identity_constraint_checking_feature_id,true);
58
schemabuf = MemoryReader::createMemoryReader(td->xsd,td->xsdlen);
59
schemasrc = new StreamSource(schemabuf);
62
//schema = schemaFactory->createSchema(schemasrc);
63
schema = schemaFactory->createSchema(td->scfn);
64
myvalidator = schema->createValidator();
67
void releaseXML(struct TestData *td) {
68
if (doc) domimpl->releaseDocument(doc);
70
schema->releaseValidator(myvalidator);
71
schemaFactory->releaseSchema(schema);
73
MemoryReader::releaseMemoryReader(schemabuf);
76
SchemaFactory::releaseInstance(schemaFactory);
78
domimpl->releaseDOMParser(parser);
79
DOMImplementationFactory::releaseInstance(domfactory);
84
void parseXML(struct TestData *td, unsigned long iter) {
85
if (doc) domimpl->releaseDocument(doc);
87
MemoryReader *buffer= MemoryReader::createMemoryReader(td->xml,td->xmllen);
88
StreamSource *ss = new StreamSource(buffer);
90
doc = parser->parse(ss);
96
void validateXML(struct TestData *td, unsigned long iter) {
97
DOMSource domsource(doc);
98
// myvalidator->validate(&domsource);
99
myvalidator->doValidation(&domsource);
103
int main(int argc, char *argv[]) {
104
return Test(argc,argv);