Missing files in the previous commit.
[SXSI/xpathcomp.git] / SXSIStorageInterface.cpp
diff --git a/SXSIStorageInterface.cpp b/SXSIStorageInterface.cpp
new file mode 100644 (file)
index 0000000..dcd3c30
--- /dev/null
@@ -0,0 +1,65 @@
+/*******************************************
+ * SXSIStorageInterface.cpp
+ * ------------------------
+ *
+ * 
+ * Author: Kim Nguyen
+ * Date: 04/11/08
+ */
+
+
+#include "SXSIStorageInterface.h"
+#include "Utils.h"
+
+
+SXSIStorageInterface::SXSIStorageInterface()
+{
+  tree = new XMLTree();
+  tree->OpenDocument(true,1);
+}
+
+SXSIStorageInterface::~SXSIStorageInterface()
+{
+}
+
+void SXSIStorageInterface::newChild(string name)
+{
+  
+  DPRINT("enter NewChild" << name << "\n")
+  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())
+    tree->NewEmptyText();
+  else
+    tree->NewText((unsigned char*) text.c_str());
+  DPRINT("leave NewText" << text << "\n")
+}
+       
+
+
+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(){
+
+  return ((void *) tree);
+  
+}