Merged -correctxpath branch
[SXSI/xpathcomp.git] / SXSIStorageInterface.cpp
index dcd3c30..d770d7e 100644 (file)
 #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()
@@ -23,43 +23,52 @@ 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;
+}