X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fdata1.h;h=ff1cc1c6f767dfe733df146aa38ee467e0bbbcb3;hb=20278c99b7f9faf69e97608a3fc2ba06815d18fa;hp=34dd37d33a51cdd12c071055e579b2d22ae03b98;hpb=26a5a4b96b90361859cf856d6c41852b03ca2f84;p=idzebra-moved-to-github.git diff --git a/include/data1.h b/include/data1.h index 34dd37d..ff1cc1c 100644 --- a/include/data1.h +++ b/include/data1.h @@ -1,5 +1,5 @@ -/* $Id: data1.h,v 1.5 2003-02-04 12:06:47 pop Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 +/* $Id: data1.h,v 1.9.2.3 2006-09-28 18:38:42 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. @@ -15,15 +15,16 @@ 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 #define DATA1_H #define ENHANCED_XELM 1 +#define OPTIMIZE_MELM 1 #include @@ -89,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; @@ -202,6 +204,10 @@ typedef struct data1_xpelement struct DFA *dfa; data1_termlist *termlists; struct data1_xpelement *next; +#if OPTIMIZE_MELM + const char *regexp; +#endif + int match_state; } data1_xpelement; typedef struct data1_xattr { @@ -211,9 +217,6 @@ typedef struct data1_xattr { unsigned short what; /* DATA1I_text, .. see data1_node.u.data */ } data1_xattr; -#if 0 -typedef struct data1_absyn data1_absyn; -#else typedef struct data1_absyn { char *name; @@ -231,7 +234,7 @@ typedef struct data1_absyn char *encoding; int enable_xpath_indexing; } data1_absyn; -#endif + /* * record data node (tag/data/variant) */ @@ -358,7 +361,8 @@ YAZ_EXPORT data1_datatype data1_maptype(data1_handle dh, char *t); YAZ_EXPORT data1_varset *data1_read_varset(data1_handle dh, const char *file); YAZ_EXPORT data1_vartype *data1_getvartypebyct(data1_handle dh, data1_varset *set, - char *zclass, char *type); + const char *zclass, + const char *type); YAZ_EXPORT Z_Espec1 *data1_read_espec1(data1_handle dh, const char *file); YAZ_EXPORT int data1_doespec1(data1_handle dh, data1_node *n, Z_Espec1 *e); YAZ_EXPORT data1_esetname *data1_getesetbyname(data1_handle dh, @@ -406,6 +410,17 @@ 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, @@ -511,6 +526,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