X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frecgrs.c;h=fecf2c5406d6e26faf7145ef61b62ab6b88ebe26;hb=b88909df16157ed1e7859bc3fad6b01520d4865e;hp=da1ad6058b0dc5f62445025fc24da13982447939;hpb=25cf3bc85f9df25a4fc36707cc80a77fe6f35c83;p=idzebra-moved-to-github.git diff --git a/recctrl/recgrs.c b/recctrl/recgrs.c index da1ad60..fecf2c5 100644 --- a/recctrl/recgrs.c +++ b/recctrl/recgrs.c @@ -1,5 +1,5 @@ -/* $Id: recgrs.c,v 1.108 2006-02-07 00:17:44 adam Exp $ - Copyright (C) 1995-2005 +/* $Id: recgrs.c,v 1.111 2006-06-13 12:02:15 adam Exp $ + Copyright (C) 1995-2006 Index Data ApS This file is part of the Zebra server. @@ -471,33 +471,20 @@ static void index_xpath_attr (char *tag_path, char *name, char *value, char *structure, struct recExtractCtrl *p, RecWord *wrd) { -#if NATTR wrd->index_name = ZEBRA_XPATH_ELM_BEGIN; -#else - wrd->attrSet = VAL_IDXPATH; - wrd->attrUse = 1; -#endif wrd->index_type = '0'; wrd->term_buf = tag_path; wrd->term_len = strlen(tag_path); (*p->tokenAdd)(wrd); if (value) { -#if NATTR - wrd->index_name = ZEBRA_XPATH_ATTR; -#else - wrd->attrUse = 1015; -#endif + wrd->index_name = ZEBRA_XPATH_ATTR_CDATA; wrd->index_type = 'w'; wrd->term_buf = value; wrd->term_len = strlen(value); (*p->tokenAdd)(wrd); } -#if NATTR wrd->index_name = ZEBRA_XPATH_ELM_END; -#else - wrd->attrUse = 2; -#endif wrd->index_type = '0'; wrd->term_buf = tag_path; wrd->term_len = strlen(tag_path); @@ -533,12 +520,8 @@ static void mk_tag_path_full(char *tag_path_full, size_t max, data1_node *n) static void index_xpath(struct source_parser *sp, data1_node *n, struct recExtractCtrl *p, int level, RecWord *wrd, -#if NATTR char *xpath_index, int xpath_is_start -#else - int use -#endif ) { int i; @@ -546,21 +529,8 @@ static void index_xpath(struct source_parser *sp, data1_node *n, int termlist_only = 1; data1_termlist *tl; int xpdone = 0; -#if NATTR -#else - int xpath_is_start = 0; - if (use == 1) - xpath_is_start = 1; -#endif - -#if NATTR - yaz_log(YLOG_DEBUG, "index_xpath level=%d xpath_index=%s", - level, xpath_index); -#else - yaz_log(YLOG_DEBUG, "index_xpath level=%d use=%d", level, use); -#endif if ((!n->root->u.root.absyn) || - (n->root->u.root.absyn->enable_xpath_indexing)) { + (n->root->u.root.absyn->xpath_indexing == DATA1_XPATH_INDEXING_ENABLE)) { termlist_only = 0; } @@ -585,19 +555,10 @@ static void index_xpath(struct source_parser *sp, data1_node *n, memcpy (&wrd_tl, wrd, sizeof(*wrd)); if (tl->source) sp_parse(sp, n, &wrd_tl, tl->source); -#if NATTR if (!tl->index_name) -#else - if (!tl->att) -#endif { /* this is the ! case, so structure is for the xpath index */ -#if NATTR wrd_tl.index_name = xpath_index; -#else - wrd_tl.attrSet = VAL_IDXPATH; - wrd_tl.attrUse = use; -#endif if (p->flagShowRecords) { int i; @@ -615,25 +576,13 @@ static void index_xpath(struct source_parser *sp, data1_node *n, xpdone = 1; } else { /* this is just the old fashioned attribute based index */ -#if NATTR wrd_tl.index_name = tl->index_name; -#else - wrd_tl.attrSet = (int) (tl->att->parent->reference); - wrd_tl.attrUse = tl->att->locals->local; -#endif if (p->flagShowRecords) { int i; printf("%*sIdx: [%s]", (level + 1) * 4, "", tl->structure); -#if NATTR printf("%s %s", tl->index_name, tl->source); -#else - printf("%s:%s [%d] %s", - tl->att->parent->name, - tl->att->name, tl->att->value, - tl->source); -#endif printf (" XData:\""); for (i = 0; iflagShowRecords && !xpdone && !termlist_only) { -#if NATTR wrd->index_name = xpath_index; -#else - wrd->attrSet = VAL_IDXPATH; - wrd->attrUse = use; -#endif wrd->index_type = 'w'; (*p->tokenAdd)(wrd); } @@ -667,12 +611,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n, wrd->index_type = '0'; wrd->term_buf = tag_path_full; wrd->term_len = strlen(tag_path_full); -#if NATTR wrd->index_name = xpath_index; -#else - wrd->attrSet = VAL_IDXPATH; - wrd->attrUse = use; -#endif if (p->flagShowRecords) { printf("%*s tag=", (level + 1) * 4, ""); @@ -698,11 +637,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n, { for (; tl; tl = tl->next) { -#if NATTR if (!tl->index_name) -#else - if (!tl->att) -#endif do_xpindex = 1; } } @@ -742,13 +677,8 @@ static void index_xpath(struct source_parser *sp, data1_node *n, { for (; tl; tl = tl->next) { -#if NATTR if (!tl->index_name) do_xpindex = 1; -#else - if (!tl->att) - do_xpindex = 1; -#endif } } @@ -756,11 +686,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n, /* attribute (no value) */ wrd->index_type = '0'; -#if NATTR - wrd->index_name = ZEBRA_XPATH_ATTR; -#else - wrd->attrUse = 3; -#endif + wrd->index_name = ZEBRA_XPATH_ATTR_NAME; wrd->term_buf = xp->name; wrd->term_len = strlen(xp->name); @@ -775,11 +701,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n, strcat (comb, "="); strcat (comb, xp->value); -#if NATTR - wrd->index_name = ZEBRA_XPATH_ATTR; -#else - wrd->attrUse = 3; -#endif + wrd->index_name = ZEBRA_XPATH_ATTR_NAME; wrd->index_type = '0'; wrd->term_buf = comb; wrd->term_len = strlen(comb); @@ -805,11 +727,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n, /* If there is a termlist given (=xelm directive) */ for (; tl; tl = tl->next) { -#if NATTR if (!tl->index_name) -#else - if (!tl->att) -#endif { /* add xpath index for the attribute */ index_xpath_attr (attr_tag_path_full, xp->name, @@ -820,13 +738,7 @@ static void index_xpath(struct source_parser *sp, data1_node *n, /* index attribute value (only path/@attr) */ if (xp->value) { -#if NATTR wrd->index_name = tl->index_name; -#else - wrd->attrSet = (int) - (tl->att->parent->reference); - wrd->attrUse = tl->att->locals->local; -#endif wrd->index_type = *tl->structure; wrd->term_buf = xp->value; wrd->term_len = strlen(xp->value); @@ -885,14 +797,7 @@ static void index_termlist (struct source_parser *sp, data1_node *par, int i; printf("%*sIdx: [%s]", (level + 1) * 4, "", tlist->structure); -#if NATTR printf("%s %s", tlist->index_name, tlist->source); -#else - printf("%s:%s [%d] %s", - tlist->att->parent->name, - tlist->att->name, tlist->att->value, - tlist->source); -#endif printf (" XData:\""); for (i = 0; iterm_len && i < 40; i++) fputc (wrd->term_buf[i], stdout); @@ -904,12 +809,7 @@ static void index_termlist (struct source_parser *sp, data1_node *par, else { wrd->index_type = *tlist->structure; -#if NATTR wrd->index_name = tlist->index_name; -#else - wrd->attrSet = (int) (tlist->att->parent->reference); - wrd->attrUse = tlist->att->locals->local; -#endif (*p->tokenAdd)(wrd); } } @@ -963,14 +863,9 @@ static int dumpkeys_r(struct source_parser *sp, { index_termlist(sp, n, n, p, level, wrd); /* index start tag */ -#if NATTR if (n->root->u.root.absyn) index_xpath(sp, n, p, level, wrd, ZEBRA_XPATH_ELM_BEGIN, 1 /* is start */); -#else - if (n->root->u.root.absyn) - index_xpath(sp, n, p, level, wrd, 1); -#endif } if (n->child) @@ -998,23 +893,15 @@ static int dumpkeys_r(struct source_parser *sp, if (par) index_termlist(sp, par, n, p, level, wrd); -#if NATTR index_xpath(sp, n, p, level, wrd, ZEBRA_XPATH_CDATA, 0 /* is start */); -#else - index_xpath(sp, n, p, level, wrd, 1016); -#endif } if (n->which == DATA1N_tag) { /* index end tag */ -#if NATTR index_xpath(sp, n, p, level, wrd, ZEBRA_XPATH_ELM_END, 0 /* is start */); -#else - index_xpath(sp, n, p, level, wrd, 2); -#endif } if (p->flagShowRecords && n->which == DATA1N_root) @@ -1553,3 +1440,11 @@ int zebra_grs_retrieve(void *clientData, struct recRetrieveCtrl *p, return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +