From: kim Date: Tue, 27 Jan 2009 15:00:36 +0000 (+0000) Subject: Add RegisterTag method X-Git-Url: http://git.nguyen.vg/gitweb/?a=commitdiff_plain;h=184fd5131d257a334c29b0e55b1240fb29dc796b;hp=d1f17224ed40165c284145ffbfcc1bd42882f825;p=SXSI%2FXMLTree.git Add RegisterTag method git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@78 3cdefd35-fc62-479d-8e8d-bae585ffb9ca --- diff --git a/XMLTree.cpp b/XMLTree.cpp index 21658e9..22ba4bb 100644 --- a/XMLTree.cpp +++ b/XMLTree.cpp @@ -846,4 +846,19 @@ unsigned char *XMLTree::GetTagName(TagType tagid) } - +TagType XMLTree::RegisterTag(unsigned char *tagname) +{ + if (!finished) + return NULLT; + + + TagType id = XMLTree::GetTagId(tagname); + if (id == NULLT){ + id = ntagnames; + ntagnames = ntagnames + 1; + TagName = (unsigned char **) realloc(TagName,ntagnames*(sizeof(unsigned char*))); + strcpy((char*)TagName[id], (const char *)tagname); + }; + + return id; +} diff --git a/XMLTree.h b/XMLTree.h index e8cc76a..88aae9a 100644 --- a/XMLTree.h +++ b/XMLTree.h @@ -254,7 +254,9 @@ public: * Returns NULL in case that the tag identifier is not valid.*/ unsigned char *GetTagName(TagType tagid); - /** Prefix(s): search for texts prefixed by string s. */ + + TagType RegisterTag(unsigned char *tagname); + bool EmptyText(DocID i) { return Text->EmptyText(i); }