X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fdata1.h;h=7dabbd9139fcc5ca39def65a81e0e5ccbb316c7e;hb=fa0768ee40cd69f1ceae9d0959ba5a7b2abeb47d;hp=33958f98ed1614a9fe5c17e86930f14d03d35414;hpb=c8a333d48c42e2a51f43fd42ef79e23d40a565a7;p=idzebra-moved-to-github.git diff --git a/include/data1.h b/include/data1.h index 33958f9..7dabbd9 100644 --- a/include/data1.h +++ b/include/data1.h @@ -1,4 +1,4 @@ -/* $Id: data1.h,v 1.3 2002-12-02 16:55:14 adam Exp $ +/* $Id: data1.h,v 1.7 2003-05-05 20:13:28 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -23,6 +23,8 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef DATA1_H #define DATA1_H +#define ENHANCED_XELM 1 + #include #include @@ -33,6 +35,8 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #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') @@ -85,6 +89,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; @@ -187,6 +192,19 @@ typedef struct data1_sub_elements { data1_element *elements; } data1_sub_elements; +/* pop */ +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; +} data1_xpelement; + typedef struct data1_xattr { char *name; char *value; @@ -209,6 +227,7 @@ typedef struct data1_absyn data1_marctab *marc; data1_sub_elements *sub_elements; data1_element *main_elements; + data1_xpelement *xp_elements; /* pop */ struct data1_systag *systags; char *encoding; int enable_xpath_indexing; @@ -493,6 +512,8 @@ 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_END_CDECL #endif