X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fdata1.h;h=bc43074992b4c4327ad7cf1c150b53124f63bd8c;hb=cdf2ebfab56b50232a49bc4032d90704794ca4c0;hp=282d301f543b644016157fd8bc19091e82d8bf6f;hpb=d9dfda0bf340a35a062c42d566a2390c1f5bc447;p=yaz-moved-to-github.git diff --git a/include/yaz/data1.h b/include/yaz/data1.h index 282d301..bc43074 100644 --- a/include/yaz/data1.h +++ b/include/yaz/data1.h @@ -23,7 +23,7 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * - * $Id: data1.h,v 1.11 2002-05-21 07:43:16 adam Exp $ + * $Id: data1.h,v 1.16 2002-08-17 07:56:59 adam Exp $ */ #ifndef DATA1_H @@ -211,6 +211,8 @@ typedef struct data1_absyn data1_marctab *marc; data1_sub_elements *sub_elements; data1_element *main_elements; + char *encoding; + int enable_xpath_indexing; } data1_absyn; /* @@ -227,9 +229,11 @@ typedef struct data1_node #define DATA1N_data 3 /* variant specification (a triple, actually) */ #define DATA1N_variant 4 - int which; /* comment (same as data) */ #define DATA1N_comment 5 + /* preprocessing instruction */ +#define DATA1N_preprocess 6 + int which; union { struct @@ -272,6 +276,12 @@ typedef struct data1_node data1_vartype *type; char *value; } variant; + + struct + { + char *target; + data1_xattr *attributes; + } preprocess; } u; void (*destroy)(struct data1_node *n); @@ -285,6 +295,10 @@ typedef struct data1_node } data1_node; YAZ_EXPORT data1_handle data1_create (void); + +#define DATA1_FLAG_XML 1 +YAZ_EXPORT data1_handle data1_createx (int flags); + YAZ_EXPORT void data1_destroy(data1_handle dh); YAZ_EXPORT data1_node *get_parent_tag(data1_handle dh, data1_node *n); YAZ_EXPORT data1_node *data1_read_node(data1_handle dh, const char **buf, @@ -295,7 +309,8 @@ 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); +YAZ_EXPORT data1_absyn *data1_read_absyn(data1_handle dh, const char *file, + int file_must_exist); YAZ_EXPORT data1_tag *data1_gettagbynum(data1_handle dh, data1_tagset *s, int type, int value); @@ -343,10 +358,15 @@ YAZ_EXPORT data1_node *data1_mk_tag_n (data1_handle dh, NMEM nmem, const char *tag, size_t len, const char **attr, data1_node *at); +YAZ_EXPORT void data1_tag_add_attr (data1_handle dh, NMEM nmem, + data1_node *res, const char **attr); YAZ_EXPORT data1_node *data1_mk_text_n (data1_handle dh, NMEM mem, const char *buf, size_t len, data1_node *parent); +YAZ_EXPORT data1_node *data1_mk_text_nf (data1_handle dh, NMEM mem, + const char *buf, size_t len, + data1_node *parent); YAZ_EXPORT data1_node *data1_mk_text (data1_handle dh, NMEM mem, const char *buf, data1_node *parent); @@ -357,8 +377,15 @@ YAZ_EXPORT data1_node *data1_mk_comment_n (data1_handle dh, NMEM mem, YAZ_EXPORT data1_node *data1_mk_comment (data1_handle dh, NMEM mem, const char *buf, data1_node *parent); +YAZ_EXPORT data1_node *data1_mk_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_int (data1_handle dh, data1_node *at, const char *tag, int num, @@ -447,6 +474,16 @@ YAZ_EXPORT data1_node *data1_add_taggeddata (data1_handle dh, data1_node *root, const char *tagname, NMEM m); +YAZ_EXPORT data1_node *data1_get_root_tag (data1_handle dh, data1_node *n); + +YAZ_EXPORT int data1_iconv (data1_handle dh, NMEM m, data1_node *n, + const char *tocode, + const char *fromcode); + +YAZ_EXPORT const char *data1_get_encoding (data1_handle dh, data1_node *n); + +YAZ_EXPORT int data1_is_xmlmode(data1_handle dh); + YAZ_END_CDECL #endif