-
- prefix_len = 0;
- ord = zebraExplain_lookupSU (zh->reg->zei, curAttributeSet, 1);
- if (ord < 0)
- continue;
- if (prefix_len)
- term_dict[prefix_len++] = '|';
- else
- term_dict[prefix_len++] = '(';
-
- ord_len = key_SU_encode (ord, ord_buf);
- for (i = 0; i<ord_len; i++)
- {
- term_dict[prefix_len++] = 1;
- term_dict[prefix_len++] = ord_buf[i];
- }
- term_dict[prefix_len++] = ')';
- term_dict[prefix_len++] = 1;
- term_dict[prefix_len++] = reg_type;
-
- termp = use_string;
- strcpy (term_dict+prefix_len, use_string);
-
- grep_info.isam_p_indx = 0;
- yaz_log (LOG_LOG, "rpn_search_xpath 3 %s", term_dict+prefix_len);
- r = dict_lookup_grep (zh->reg->dict, term_dict, 0,
- &grep_info, &max_pos, 0, grep_handle);
- yaz_log (LOG_LOG, "%s %d positions", use_string,
- grep_info.isam_p_indx);
- rset_start_tag =
- rset_trunc (zh, grep_info.isam_p_buf,
- grep_info.isam_p_indx, use_string, strlen(use_string),
- rank_type, 1);
-
- prefix_len = 0;
- ord = zebraExplain_lookupSU (zh->reg->zei, curAttributeSet, 2);
- if (ord < 0)
- continue;
- if (prefix_len)
- term_dict[prefix_len++] = '|';
- else
- term_dict[prefix_len++] = '(';
-
- ord_len = key_SU_encode (ord, ord_buf);
- for (i = 0; i<ord_len; i++)