Add RegisterTag method
authorkim <kim@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Tue, 27 Jan 2009 15:00:36 +0000 (15:00 +0000)
committerkim <kim@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Tue, 27 Jan 2009 15:00:36 +0000 (15:00 +0000)
git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@78 3cdefd35-fc62-479d-8e8d-bae585ffb9ca

XMLTree.cpp
XMLTree.h

index 21658e9..22ba4bb 100644 (file)
@@ -846,4 +846,19 @@ unsigned char *XMLTree::GetTagName(TagType tagid)
  }\r
 \r
 \r
-\r
+TagType XMLTree::RegisterTag(unsigned char *tagname)\r
+{\r
+  if (!finished)\r
+    return NULLT;\r
+  \r
+\r
+  TagType id = XMLTree::GetTagId(tagname);\r
+  if (id == NULLT){\r
+    id = ntagnames;\r
+    ntagnames = ntagnames + 1;    \r
+    TagName = (unsigned char **) realloc(TagName,ntagnames*(sizeof(unsigned char*)));\r
+    strcpy((char*)TagName[id], (const char *)tagname);  \r
+  };\r
+\r
+  return id;\r
+}\r
index e8cc76a..88aae9a 100644 (file)
--- a/XMLTree.h
+++ b/XMLTree.h
@@ -254,7 +254,9 @@ public:
     * Returns NULL in case that the tag identifier is not valid.*/\r
    unsigned char *GetTagName(TagType tagid);\r
 \r
-   /** Prefix(s): search for texts prefixed by string s. */\r
+\r
+   TagType RegisterTag(unsigned char *tagname);\r
+\r
    bool EmptyText(DocID i) {\r
       return Text->EmptyText(i);\r
    }\r