X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fdata1.h;h=94ce8a4d4e552fae1c9ea093f168f1ceca44f497;hb=7c3a0352f0492609a3b6b26b63a72b0b2d207aab;hp=8b48a060e4d3b87b259fc979b2bb650fe0e412bf;hpb=b17cf6fd6cad7283033afe18fc346250ec1b2ad3;p=idzebra-moved-to-github.git diff --git a/include/data1.h b/include/data1.h index 8b48a06..94ce8a4 100644 --- a/include/data1.h +++ b/include/data1.h @@ -1,5 +1,5 @@ -/* $Id: data1.h,v 1.4 2002-12-16 20:27:18 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 +/* $Id: data1.h,v 1.11 2004-08-25 09:23:35 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps This file is part of the Zebra server. @@ -23,17 +23,21 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef DATA1_H #define DATA1_H +#define ENHANCED_XELM 1 + #include #include #include #include +#include #include #include #include #include #include /* pop */ +#include /* pop */ #define d1_isspace(c) strchr(" \r\n\t\f", c) #define d1_isdigit(c) ((c) <= '9' && (c) >= '0') @@ -86,6 +90,7 @@ typedef struct data1_marctab int force_indicator_length; int force_identifier_length; + char leader[24]; /* Fixme! Need linear access to LEADER of MARC record */ struct data1_marctab *next; } data1_marctab; @@ -192,6 +197,10 @@ typedef struct data1_sub_elements { typedef struct data1_xpelement { char *xpath_expr; +#ifdef ENHANCED_XELM + struct xpath_location_step xpath[XPATH_STEP_COUNT]; + int xpath_len; +#endif struct DFA *dfa; data1_termlist *termlists; struct data1_xpelement *next; @@ -399,11 +408,25 @@ YAZ_EXPORT data1_node *data1_mk_preprocess (data1_handle dh, NMEM nmem, const char **attr, data1_node *at); +YAZ_EXPORT data1_node *data1_insert_preprocess_n (data1_handle dh, NMEM nmem, + const char *target, + size_t len, + const char **attr, + data1_node *at); + +YAZ_EXPORT data1_node *data1_insert_preprocess (data1_handle dh, NMEM nmem, + const char *target, + const char **attr, + data1_node *at); + YAZ_EXPORT data1_node *data1_mk_root (data1_handle dh, NMEM nmem, const char *name); YAZ_EXPORT void data1_set_root(data1_handle dh, data1_node *res, NMEM nmem, const char *name); +YAZ_EXPORT data1_node *data1_mk_tag_data_zint (data1_handle dh, data1_node *at, + const char *tag, zint num, + NMEM nmem); YAZ_EXPORT data1_node *data1_mk_tag_data_int (data1_handle dh, data1_node *at, const char *tag, int num, NMEM nmem); @@ -504,6 +527,10 @@ YAZ_EXPORT int data1_is_xmlmode(data1_handle dh); YAZ_EXPORT const char *data1_systag_lookup(data1_absyn *absyn, const char *tag, const char *default_value); +YAZ_EXPORT void data1_concat_text(data1_handle dh, NMEM m, data1_node *n); + +YAZ_EXPORT void data1_absyn_destroy(data1_handle dh); + YAZ_END_CDECL #endif