5
#include <SAX2Parser.h>
6
#include <SAX/ContentHandler.h>
7
#include <SAX/InputSource.h>
11
using namespace CSL::XML;
13
class SimpleHandler : public CContentHandler {
15
void StartElement(const XMLString& uri, const XMLString& localName, const XMLString& qname, const CAttributes& attrList);
16
void EndElement(const XMLString& uri, const XMLString& localName, const XMLString& qname);
17
void Characters(const XMLChar ch[], int start, int length);
19
void SetDocumentLocator(const CLocator& loc) {}
20
void StartDocument() {}
22
void IgnorableWhitespace(const XMLChar ch[], int start, int length) {}
23
void ProcessingInstruction(const XMLString& target, const XMLString& data) {}
24
void StartPrefixMapping(const XMLString& prefix, const XMLString& uri) {}
25
void EndPrefixMapping(const XMLString& prefix) {}
26
void SkippedEntity(const XMLString& name) {}
29
void SimpleHandler::StartElement(const XMLString& uri, const XMLString& localName, const XMLString& qname, const CAttributes& attrList) {
33
void SimpleHandler::EndElement(const XMLString& uri, const XMLString& localName, const XMLString& qname) {
37
void SimpleHandler::Characters(const XMLChar ch[], int start, int length) {
41
SimpleHandler *handler;
44
void initXML(struct TestData *td) {
45
parser = new CSAX2Parser;
46
handler = new SimpleHandler;
47
parser->SetContentHandler((CContentHandler*)handler);
50
void releaseXML(struct TestData *td) {
55
void parseXML(struct TestData *td, unsigned long iter) {
56
istringstream strm(td->xml);
57
CInputSource is(&strm);
62
int main(int argc, char *argv[]) {
63
return Test(argc,argv);