X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=XMLDocShredder.h;h=58d4053f6bf1918ef49f3fb4965376dd581634e4;hb=f84dd2f6de7d5da16da729dc2e91cbdeb3585d75;hp=66a96b54be89d1ba9747c34b587e419eca7b0e74;hpb=77294fdd983393727bcee7fda52dacdaf943e585;p=SXSI%2Fxpathcomp.git diff --git a/XMLDocShredder.h b/XMLDocShredder.h index 66a96b5..58d4053 100644 --- a/XMLDocShredder.h +++ b/XMLDocShredder.h @@ -15,37 +15,32 @@ #include #include #include -#include #include "StorageInterface.h" using namespace std; using namespace xmlpp; -/* For Hashmap. Seems fairly well supported */ -using namespace __gnu_cxx; -typedef pair cons_str; -typedef pair cons_int; class XMLDocShredder { public: - XMLDocShredder(const string inFileName); - XMLDocShredder(const unsigned char * data, TextReader::size_type size); - virtual ~XMLDocShredder(); - virtual void processStartElement(); - virtual void processEndElement(); - virtual void processPCDATA(); - virtual void processAttributes(); - virtual void processSignificantWhitespace(); - virtual void processStartDocument(const string docName); - virtual void processEndDocument(); - virtual void processComment(); - virtual void processProcessingInstruction(); - virtual void processDocTypeDeclaration(); - virtual void processUnknownNodeType(); - virtual void processCDATASection(); - virtual void parse(); - + XMLDocShredder(const string inFileName,int sf, bool iet, bool dtc); + XMLDocShredder(const unsigned char * data, TextReader::size_type size,int sf, bool iet, bool dtc); + virtual ~XMLDocShredder(); + virtual void processStartElement(); + virtual void processEndElement(); + virtual void processPCDATA(); + virtual void processAttributes(); + virtual void processSignificantWhitespace(); + virtual void processStartDocument(const string docName); + virtual void processEndDocument(); + virtual void processComment(); + virtual void processProcessingInstruction(); + virtual void processDocTypeDeclaration(); + virtual void processUnknownNodeType(); + virtual void processCDATASection(); + virtual void parse(); + StorageInterface *storageIfc_; @@ -53,6 +48,9 @@ private: TextReader *reader_; void setProperties(); bool last_text; + string buffer; + // used to coalece successive text events + // which can occur if we discard pi and comment nodes. }; #endif /*XMLDOCSHREDDER_H_*/