X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=recctrl%2Frecgrs.c;h=f45f4d74fe38d22b047f66a677d4f7258b7c3e83;hp=55bdaa5df01f6f258cd1207bd430583ef5215ea4;hb=6ba9698e88c0283e40fa5980a1a6b551fff2d597;hpb=f7a3769dede0071696bdcc13ae2ee1efe6d52d96 diff --git a/recctrl/recgrs.c b/recctrl/recgrs.c index 55bdaa5..f45f4d7 100644 --- a/recctrl/recgrs.c +++ b/recctrl/recgrs.c @@ -1,5 +1,5 @@ -/* $Id: recgrs.c,v 1.109 2006-05-10 08:13:28 adam Exp $ - Copyright (C) 1995-2005 +/* $Id: recgrs.c,v 1.110 2006-05-19 13:49:35 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,19 +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)) { termlist_only = 0; @@ -585,19 +557,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 +578,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 +613,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 +639,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 +679,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 +688,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 +703,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 +729,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 +740,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 +799,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 +811,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 +865,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 +895,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)