X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=data1%2Fd1_absyn.c;h=96f3b6b6bc9b0856dded52087203d1c817e86851;hb=3fbd2beb5c41de39604f27b39a9461335b2b176b;hp=feff7cefd8488ad7ac1184b8ee66be3ea9c46c72;hpb=f5fb1bd0a0df8a28471285cdf622897f4c2391b3;p=idzebra-moved-to-github.git diff --git a/data1/d1_absyn.c b/data1/d1_absyn.c index feff7ce..96f3b6b 100644 --- a/data1/d1_absyn.c +++ b/data1/d1_absyn.c @@ -1,4 +1,4 @@ -/* $Id: d1_absyn.c,v 1.30 2006-09-29 10:02:45 adam Exp $ +/* $Id: d1_absyn.c,v 1.32 2006-12-22 13:57:25 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -659,15 +659,19 @@ int read_absyn_line(FILE *f, int *lineno, char *line, int len, return argc; } -data1_marctab *data1_absyn_getmarctab(data1_handle dh, data1_absyn *absyn) +data1_marctab *data1_absyn_getmarctab(data1_handle dh, data1_node *root) { - return absyn->marc; + if (root->u.root.absyn) + return root->u.root.absyn->marc; + return 0; } -YAZ_EXPORT data1_element *data1_absyn_getelements(data1_handle dh, - data1_absyn *absyn) +data1_element *data1_absyn_getelements(data1_handle dh, + data1_node *root) { - return absyn->main_elements; + if (root->u.root.absyn) + return root->u.root.absyn->main_elements; + return 0; } static data1_absyn *data1_read_absyn(data1_handle dh, const char *file, @@ -699,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; @@ -1178,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, @@ -1198,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