#include "basics.h"\r
#include "XMLTreeBuilder.h"\r
-\r
+#include "timings.h"\r
+using std::string;\r
\r
XMLTreeBuilder::~XMLTreeBuilder(){\r
\r
npar = 0;\r
parArraySize = 1;\r
disable_tc = dtc;\r
- \r
+\r
+ STARTTIMER();\r
\r
par_aux = (pb *)umalloc(sizeof(pb)*parArraySize);\r
\r
REGISTER_TAG(TagName,tIdMap,ATTRIBUTE_OPEN_TAG);\r
REGISTER_TAG(TagName,tIdMap,PCDATA_OPEN_TAG);\r
REGISTER_TAG(TagName,tIdMap,ATTRIBUTE_DATA_OPEN_TAG);\r
+ REGISTER_TAG(TagName,tIdMap,CLOSING_TAG);\r
REGISTER_TAG(TagName,tIdMap,DOCUMENT_CLOSE_TAG);\r
REGISTER_TAG(TagName,tIdMap,ATTRIBUTE_CLOSE_TAG);\r
REGISTER_TAG(TagName,tIdMap,PCDATA_CLOSE_TAG);\r
//npar++;\r
\r
// makes the text collection static\r
+ STOPTIMER(Parsing);\r
+ PRINTTIME("Parsing XML Document", Parsing);\r
+\r
if (!disable_tc) {\r
assert(Text == 0);\r
assert(TextBuilder != 0);\r
+ STARTTIMER();\r
Text = TextBuilder->InitTextCollection();\r
delete TextBuilder;\r
TextBuilder = 0;\r
+ STOPTIMER(Building);\r
+ PRINTTIME("Building TextCollection", Building);\r
+\r
}\r
\r
XMLTree *T = new XMLTree(par_aux,\r
\r
setbit(par_aux,npar,CP); // marks a new closing parenthesis\r
\r
- tagname.insert(0,"/");\r
+ //tagname.insert(0,"/");\r
\r
- TagIdMapIT tag_id = tIdMap->find(tagname); \r
+ //TagIdMapIT tag_id = tIdMap->find(tagname); \r
\r
- if (tag_id == tIdMap->end()){\r
- REGISTER_TAG(TagName,tIdMap,tagname);\r
- i = TagName->size() - 1;\r
- }\r
- else\r
- i = tag_id->second;\r
+ // if (tag_id == tIdMap->end()){\r
+ // REGISTER_TAG(TagName,tIdMap,tagname);\r
+ // i = TagName->size() - 1;\r
+ // }\r
+ // else\r
+ // i = tag_id->second;\r
\r
tags_aux = (TagType *)urealloc(tags_aux, sizeof(TagType)*(npar + 1));\r
\r
- tags_aux[npar] = i; // inserts the new tag id within the preorder sequence of tags\r
+ tags_aux[npar] = CLOSING_TAG_ID; // inserts the new tag id within the preorder sequence of tags\r
\r
npar++;\r
\r