X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fdata1.h;h=f41a7700f3f6979dfe84a1e3415e677fa214cc65;hb=21f90a8618faec6bee8d125c12088b74db8eb8b9;hp=eda8ea46a15b58009249447b395fabdb9cb94027;hpb=ecb3935e78cd9bcfdebafdee0834cfb1060d7b5e;p=idzebra-moved-to-github.git diff --git a/include/idzebra/data1.h b/include/idzebra/data1.h index eda8ea4..f41a770 100644 --- a/include/idzebra/data1.h +++ b/include/idzebra/data1.h @@ -1,5 +1,5 @@ -/* $Id: data1.h,v 1.12 2006-05-10 08:13:20 adam Exp $ - Copyright (C) 1995-2005 +/* $Id: data1.h,v 1.21 2007-01-15 20:08:24 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -15,9 +15,9 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ #ifndef DATA1_H @@ -52,12 +52,6 @@ YAZ_BEGIN_CDECL struct data1_attset; -typedef struct data1_local_attribute -{ - int local; - struct data1_local_attribute *next; -} data1_local_attribute; - typedef struct data1_attset data1_attset; typedef struct data1_att data1_att; typedef struct data1_attset_child data1_attset_child; @@ -67,7 +61,6 @@ struct data1_att data1_attset *parent; /* attribute set */ char *name; /* symbolic name of this attribute */ int value; /* attribute value */ - data1_local_attribute *locals; /* local index values */ data1_att *next; }; @@ -88,7 +81,7 @@ struct data1_attset typedef struct data1_handle_info *data1_handle; YAZ_EXPORT data1_att *data1_getattbyname(data1_handle dh, data1_attset *s, - char *name); + const char *name); YAZ_EXPORT data1_attset *data1_read_attset(data1_handle dh, const char *file); YAZ_EXPORT data1_attset *data1_empty_attset(data1_handle dh); @@ -245,11 +238,7 @@ struct data1_tagset typedef struct data1_termlist { -#if NATTR char *index_name; -#else - data1_att *att; -#endif char *structure; char *source; struct data1_termlist *next; @@ -355,7 +344,6 @@ typedef struct data1_node } preprocess; } u; - void (*destroy)(struct data1_node *n); #define DATA1_LOCALDATA 12 char lbuf[DATA1_LOCALDATA]; /* small buffer for local data */ struct data1_node *next; @@ -365,6 +353,11 @@ typedef struct data1_node struct data1_node *root; } data1_node; +enum DATA1_XPATH_INDEXING { + DATA1_XPATH_INDEXING_DISABLE, + DATA1_XPATH_INDEXING_ENABLE +}; + YAZ_EXPORT data1_handle data1_create (void); @@ -378,8 +371,9 @@ YAZ_EXPORT data1_node *data1_read_nodex (data1_handle dh, NMEM m, YAZ_EXPORT data1_node *data1_read_record(data1_handle dh, int (*rf)(void *, char *, size_t), void *fh, NMEM m); -YAZ_EXPORT data1_absyn *data1_read_absyn(data1_handle dh, const char *file, - int file_must_exist); + +YAZ_EXPORT void data1_remove_node (data1_handle dh, data1_node *n); +YAZ_EXPORT void data1_remove_idzebra_subtree (data1_handle dh, data1_node *n); YAZ_EXPORT data1_tag *data1_gettagbynum(data1_handle dh, data1_tagset *s, int type, int value); @@ -396,7 +390,6 @@ YAZ_EXPORT Z_GenericRecord *data1_nodetogr(data1_handle dh, data1_node *n, int *len); YAZ_EXPORT data1_tag *data1_gettagbyname(data1_handle dh, data1_tagset *s, const char *name); -YAZ_EXPORT void data1_free_tree(data1_handle dh, data1_node *t); YAZ_EXPORT char *data1_nodetobuf(data1_handle dh, data1_node *n, int select, int *len); YAZ_EXPORT data1_node *data1_mk_tag_data_wd(data1_handle dh, @@ -495,7 +488,8 @@ YAZ_EXPORT data1_node *data1_mk_tag_data_text_uni (data1_handle dh, const char *str, NMEM nmem); -YAZ_EXPORT data1_absyn *data1_get_absyn (data1_handle dh, const char *name); +YAZ_EXPORT data1_absyn *data1_get_absyn (data1_handle dh, const char *name, + enum DATA1_XPATH_INDEXING en); YAZ_EXPORT data1_node *data1_search_tag (data1_handle dh, data1_node *n, const char *tag); @@ -508,9 +502,9 @@ YAZ_EXPORT data1_node *data1_map_record(data1_handle dh, data1_node *n, YAZ_EXPORT data1_marctab *data1_read_marctab (data1_handle dh, const char *file); YAZ_EXPORT data1_marctab *data1_absyn_getmarctab(data1_handle dh, - data1_absyn *absyn); + data1_node *root); YAZ_EXPORT data1_element *data1_absyn_getelements(data1_handle dh, - data1_absyn *absyn); + data1_node *root); YAZ_EXPORT char *data1_nodetomarc(data1_handle dh, data1_marctab *p, data1_node *n, int selected, int *len); YAZ_EXPORT char *data1_nodetoidsgml(data1_handle dh, data1_node *n, @@ -587,6 +581,8 @@ YAZ_EXPORT void data1_concat_text(data1_handle dh, NMEM m, data1_node *n); YAZ_EXPORT void data1_absyn_destroy(data1_handle dh); +YAZ_EXPORT const char *data1_absyn_get_staticrank(data1_absyn *absyn); + YAZ_END_CDECL #endif