Back to index

scribus-ng  1.3.4.dfsg+svn20071115
saxXML.h
Go to the documentation of this file.
00001 /*
00002  *  saxXML.h
00003  *  
00004  *
00005  *  Created by Andreas Vox on 21.09.06.
00006  *  Copyright 2006 under GPL2. All rights reserved.
00007  *
00008  */
00009 
00010 
00011 
00012 #ifndef SAXXML_H
00013 #define SAXXML_H
00014 
00015 #include <fstream>
00016 #include "saxhandler.h"
00017 
00018 class SaxXML : public SaxHandler {
00019 public:
00020        SaxXML(std::ostream& file, bool pretty=false);
00021        SaxXML(const char* filename, bool pretty=false);
00022        ~SaxXML();
00023        
00024        void beginDoc();
00025        void endDoc();
00026        void begin(const Xml_string& tag, Xml_attr attr);
00027        void end(const Xml_string& tag);
00028        void chars(const Xml_string& text);
00029 
00030 private:
00031        std::ofstream m_file;
00032        std::ostream& m_stream;
00033        bool m_pretty;
00034        int m_indentLevel;
00035        bool m_manyAttributes;
00036        bool pendingEmptyTag;
00037        void finalizePendingEmptyTag();
00038 };
00039 
00040 #endif