6
#include <SAX/XMLReader.hpp>
7
#include <SAX/ContentHandler.hpp>
8
#include <SAX/InputSource.hpp>
12
class SimpleHandler : public Arabica::SAX::ContentHandler<std::string> {
14
void startElement(const std::string& namespaceURI, const std::string& localName,
15
const std::string& qName, const AttributesT& atts);
16
void endElement(const std::string& namespaceURI, const std::string& localName,
17
const std::string& qName);
18
void characters(const std::string& ch);
23
void setDocumentLocator(const LocatorT& locator) { }
24
void startDocument() {}
26
void startPrefixMapping(const std::string& prefix, const std::string& uri) {}
27
void endPrefixMapping(const std::string& prefix) {}
28
void ignorableWhitespace(const std::string& ch) {}
29
void processingInstruction(const std::string& target, const std::string& data) {}
30
void skippedEntity(const std::string& name) {}
33
void SimpleHandler::startElement(const std::string& namespaceURI, const std::string& localName,
0
34
const std::string& qName, const AttributesT& atts) {
37
void SimpleHandler::endElement(const std::string& namespaceURI, const std::string& localName,
1
38
const std::string& qName) {
41
void SimpleHandler::characters(const std::string& ch) {
45
SimpleHandler *handler;
47
void initXML(struct TestData *td) {
48
handler = new SimpleHandler;
51
void releaseXML(struct TestData *td) {
56
void parseXML(struct TestData *td, unsigned long iter) {
57
Arabica::SAX::XMLReader<std::string> parser;
58
parser.setContentHandler(*handler);
60
std::istringstream strm(td->xml);
61
Arabica::SAX::InputSource<std::string> is(strm);
66
int main(int argc, char *argv[]) {
67
return Test(argc,argv);