2 // C++ Implementation: parasaxparser
4 // Description: SAX2-Parser for 'para' elements of a DocBook file.
7 // Author: Robert Vogl <voglrobe@web.de>, (C) 2005
9 // Copyright: See COPYING file that comes with this distribution
12 // #include <iostream> // cout
13 // using namespace std;
20 // App specific includes
21 #include "parasaxparser.h"
23 ParaSaxParser::ParaSaxParser()
25 m_reader
= new QXmlSimpleReader();
27 m_handler
= new SaxHandler();
28 m_reader
->setContentHandler(m_handler
);
29 m_reader
->setErrorHandler(m_handler
);
30 m_reader
->setEntityResolver(m_handler
);
31 m_reader
->setDeclHandler(m_handler
);
33 m_XmlInputHeader
.clear();
34 m_XmlInputBody
.clear();
37 ParaSaxParser::~ParaSaxParser()
43 ParaSaxParser
* ParaSaxParser::_instance
= 0;
45 ParaSaxParser
* ParaSaxParser::Instance()
47 if ( _instance
== 0 ){
48 _instance
= new ParaSaxParser();
54 void ParaSaxParser::setProcessingInstruction(const QString
&data
)
56 m_XmlInputHeader
= data
;
60 void ParaSaxParser::setData(const QString
&data
)
62 m_XmlInputBody
= data
;
66 void ParaSaxParser::getText(QString
&data
)
68 QString XmlPart
= m_XmlInputHeader
+ m_XmlInputBody
;
70 QXmlInputSource input
;
71 input
.setData(XmlPart
);
74 m_handler
->setRTF(false);
75 m_reader
->parse( input
);
76 m_handler
->getData(data
);
81 void ParaSaxParser::getRTFText(QString
&data
)
83 QString XmlPart
= m_XmlInputHeader
+ m_XmlInputBody
;
85 QXmlInputSource input
;
86 input
.setData(XmlPart
);
89 m_handler
->setRTF(true);
90 m_reader
->parse( input
);
91 m_handler
->getData(data
);