Added support for specification of staticrank for grs-class of filters.
[idzebra-moved-to-github.git] / data1 / d1_absyn.c
index eac90f7..96f3b6b 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: d1_absyn.c,v 1.31 2006-10-26 23:49:14 adam Exp $
+/* $Id: d1_absyn.c,v 1.32 2006-12-22 13:57:25 adam Exp $
    Copyright (C) 1995-2006
    Index Data ApS
 
@@ -703,6 +703,7 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file,
     res->reference = VAL_NONE;
     res->tagset = 0;
     res->encoding = 0;
+    res->staticrank = 0;
     res->xpath_indexing = 
         (f ? DATA1_XPATH_INDEXING_DISABLE : default_xpath);
     res->systags = 0;
@@ -1182,6 +1183,18 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file,
             (*systagsp)->value = nmem_strdup(data1_nmem_get(dh), argv[2]);
             systagsp = &(*systagsp)->next;
         }
+        else if (!strcmp(cmd, "staticrank"))
+        {
+            if (argc != 2)
+            {
+               yaz_log(YLOG_WARN, "%s:%d: Bad # or args for staticrank",
+                    file, lineno);
+            }
+            else
+            {
+                res->staticrank = nmem_strdup(data1_nmem_get(dh), argv[1]);
+            }
+        }
        else
        {
            yaz_log(YLOG_WARN, "%s:%d: Unknown directive '%s'", file, 
@@ -1202,6 +1215,12 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file,
     *systagsp = 0;
     return res;
 }
+
+YAZ_EXPORT const char *data1_absyn_get_staticrank(data1_absyn *absyn)
+{
+    return absyn ? absyn->staticrank : 0;
+}
+
 /*
  * Local variables:
  * c-basic-offset: 4