Cleaned up every thing, prepared to remove deprecated interface.
[SXSI/xpathcomp.git] / SXSIStorageInterface.cpp
index af7ba7f..2594bd2 100644 (file)
 #include "SXSIStorageInterface.h"
 #include "Utils.h"
 
-
-SXSIStorageInterface::SXSIStorageInterface()
+SXSIStorageInterface::SXSIStorageInterface(int sf,bool iet,bool dtc)
 {
-  tree = new XMLTree();
-  tree->OpenDocument(true,64);
-  
+  tree = NULL;
+  tb = new XMLTreeBuilder();
+  tb ->OpenDocument(iet,sf,dtc);
 }
 
 SXSIStorageInterface::~SXSIStorageInterface()
@@ -25,53 +24,43 @@ SXSIStorageInterface::~SXSIStorageInterface()
 
 void SXSIStorageInterface::newChild(string name)
 { 
-  _new_child++;
-  tree->NewOpenTag((unsigned char*) name.c_str());
+  tb->NewOpenTag(name);
 }
 
 
 void SXSIStorageInterface::newText(string text)
 {
 
-  if (text.empty()) {
-    _new_empty_text++;
-    tree->NewEmptyText();
-  }
-  else {
-    _new_text++;
-    _length_text += text.size();
-    tree->NewText((unsigned char*) text.c_str());  
-  }
+  tb->NewText(text);
 }
-       
 
 
 void SXSIStorageInterface::nodeFinished(string name)
 {  
-  tree->NewClosingTag((unsigned char*) name.c_str());
- }           
+  tb->NewClosingTag(name);
+
+}            
              
   void SXSIStorageInterface::parsingFinished()
 {
 
-  tree->CloseDocument();
+  tree = tb->CloseDocument();
        
 }
 
 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";
-  std::cerr << _heap_base << " bytes of memory (initial)\n";
-  std::cerr << _heap_parsing << " bytes of memory (during parsing)\n";
-  std::cerr << _heap_done << " bytes of memory (final)\n";
   return;
 }