2 #include "XmlStackedHandler.h"
6 #include <QXmlParseException>
8 #include "XmlStackedHandlerReader.h"
11 XmlStackedHandler::XmlStackedHandler() {
17 XmlStackedHandler::~XmlStackedHandler() {
23 void XmlStackedHandler::setReader(XmlStackedHandlerReader *reader) {
28 void XmlStackedHandler::switchToNewHandler(XmlStackedHandler *nextHandler) {
29 nextHandler->startElement(m_lastStartNamespaceURI, m_lastStartLocalName,
30 m_lastStartQName, m_lastStartAtts);
34 bool XmlStackedHandler::startElement(
const QString &namespaceURI,
const QString &localName,
35 const QString &qName,
const QXmlAttributes &atts) {
36 m_lastStartNamespaceURI = namespaceURI;
37 m_lastStartLocalName = localName;
38 m_lastStartQName = qName;
39 m_lastStartAtts = atts;
45 bool XmlStackedHandler::endElement(
const QString &namespaceURI,
const QString &localName,
46 const QString &qName) {
50 if (m_depth == 0 && reader()) {
51 reader()->popContentHandler();
53 if (reader()->topContentHandler())
54 reader()->topContentHandler()->endElement(namespaceURI, localName, qName);
60 XmlStackedHandlerReader *XmlStackedHandler::reader() {
65 const XmlStackedHandlerReader *XmlStackedHandler::reader()
const {
70 bool XmlStackedHandler::fatalError(
const QXmlParseException &exception) {
71 qDebug() <<
"Parse error at line " << exception.lineNumber()
72 <<
", " <<
"column " << exception.columnNumber() <<
": "
73 << qPrintable(exception.message());