Commit before changing Tree.ml interface
[SXSI/xpathcomp.git] / SXSIStorageInterface.cpp
index 6fe4883..0a1a715 100644 (file)
 #include "SXSIStorageInterface.h"
 #include "Utils.h"
 
-
 SXSIStorageInterface::SXSIStorageInterface(int sf,bool iet,bool dtc)
 {
-  tree = new XMLTree();
-  tree->OpenDocument(iet,sf,dtc);
+  tree = NULL;
+  tb = new XMLTreeBuilder();
+  tb ->OpenDocument(iet,sf,dtc);
 }
 
 SXSIStorageInterface::~SXSIStorageInterface()
@@ -25,7 +25,7 @@ SXSIStorageInterface::~SXSIStorageInterface()
 void SXSIStorageInterface::newChild(string name)
 { 
   _new_child++;
-  tree->NewOpenTag((unsigned char*) name.c_str());
+  tb->NewOpenTag((unsigned char*) name.c_str());
 }
 
 
@@ -34,25 +34,26 @@ void SXSIStorageInterface::newText(string text)
 
   if (text.empty()) {
     _new_empty_text++;
-    tree->NewEmptyText();
+    tb->NewEmptyText();
   }
   else {
     _new_text++;
     _length_text += text.size();
-    tree->NewText((unsigned char*) text.c_str());  
+    tb->NewText((unsigned char*) text.c_str());  
   }
 }
 
 
 void SXSIStorageInterface::nodeFinished(string name)
 {  
-  tree->NewClosingTag((unsigned char*) name.c_str());
- }           
+  tb->NewClosingTag((unsigned char*) name.c_str());
+
+}            
              
   void SXSIStorageInterface::parsingFinished()
 {
 
-  tree->CloseDocument();
+  tree = tb->CloseDocument();
        
 }
 
@@ -63,6 +64,7 @@ void *SXSIStorageInterface::returnDocument(){
   return ((void *) tree);
   
 }
+
 void SXSIStorageInterface::printStats(){
   std::cerr << "Parsing stats :  \n";
   std::cerr << _new_child << " calls to newOpenTag/newClosingTag\n";