#include "Utils.h"
-SXSIStorageInterface::SXSIStorageInterface()
+SXSIStorageInterface::SXSIStorageInterface(int sf,bool iet,bool dtc)
{
tree = new XMLTree();
- tree->OpenDocument(true,1);
+ tree->OpenDocument(iet,sf,dtc);
}
SXSIStorageInterface::~SXSIStorageInterface()
}
void SXSIStorageInterface::newChild(string name)
-{
-
- DPRINT("enter NewChild" << name << "\n")
+{
+ _new_child++;
tree->NewOpenTag((unsigned char*) name.c_str());
- DPRINT("leave NewChild" << name << "\n")
}
void SXSIStorageInterface::newText(string text)
{
- DPRINT("enter NewText" << text << "\n")
- if (text.empty())
+
+ if (text.empty()) {
+ _new_empty_text++;
tree->NewEmptyText();
- else
- tree->NewText((unsigned char*) text.c_str());
- DPRINT("leave NewText" << text << "\n")
+ }
+ else {
+ _new_text++;
+ _length_text += text.size();
+ tree->NewText((unsigned char*) text.c_str());
+ }
}
-
void SXSIStorageInterface::nodeFinished(string name)
{
- DPRINT("enter NodeFinished" << name << "\n")
tree->NewClosingTag((unsigned char*) name.c_str());
- DPRINT("leave NodeFinished" << name << "\n")
+
}
void SXSIStorageInterface::parsingFinished()
{
- DPRINT("enter parsingFinished\n")
+
tree->CloseDocument();
- DPRINT("leave parsingFinished\n")
-
+
}
void *SXSIStorageInterface::returnDocument(){
-
+#ifdef DEBUG
+ printStats();
+#endif
return ((void *) tree);
}
+void SXSIStorageInterface::printStats(){
+ std::cerr << "Parsing stats : \n";
+ std::cerr << _new_child << " calls to newOpenTag/newClosingTag\n";
+ std::cerr << _new_text << " calls to newText\n";
+ std::cerr << _new_empty_text << " calls to newEmptyText\n";
+ std::cerr << _length_text << " bytes (=" << _length_text/1024 << "kb ) added to TextCollection\n";
+ return;
+}