X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=SXSIStorageInterface.cpp;h=43ea1551518b05009d74a5ac8c7f74b6a6c2be58;hb=70ff0bfc463882ecf233f1b1a7ac4a8007fa4cc2;hp=af7ba7fa97bc04093dffe567c015925973f16e85;hpb=24fdea81b5506233d139bd7d72364a190bef35b8;p=SXSI%2Fxpathcomp.git diff --git a/SXSIStorageInterface.cpp b/SXSIStorageInterface.cpp index af7ba7f..43ea155 100644 --- a/SXSIStorageInterface.cpp +++ b/SXSIStorageInterface.cpp @@ -11,12 +11,11 @@ #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() @@ -26,52 +25,45 @@ SXSIStorageInterface::~SXSIStorageInterface() void SXSIStorageInterface::newChild(string name) { _new_child++; - tree->NewOpenTag((unsigned char*) name.c_str()); + tb->NewOpenTag((unsigned char*) name.c_str()); } 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()); - } + _new_text++; + _length_text += text.size(); + 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(); } 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; }