X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fdata1.h;h=b8c78a5a0ca609caadab42c9745055a29134fbad;hb=0edfdd01ae95aa2770f2e122bdea25208494acbd;hp=430d4132f9bdfea4fc8256b901dc4670c8dd302d;hpb=651ccb74d12f2968e791b3f411a6c55bca68428a;p=yaz-moved-to-github.git diff --git a/include/yaz/data1.h b/include/yaz/data1.h index 430d413..b8c78a5 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.10 2002-05-13 14:13:37 adam Exp $ + * $Id: data1.h,v 1.14 2002-07-25 12:52:53 adam Exp $ */ #ifndef DATA1_H @@ -211,6 +211,7 @@ typedef struct data1_absyn data1_marctab *marc; data1_sub_elements *sub_elements; data1_element *main_elements; + char *encoding; } data1_absyn; /* @@ -227,8 +228,11 @@ typedef struct data1_node #define DATA1N_data 3 /* variant specification (a triple, actually) */ #define DATA1N_variant 4 + /* comment (same as data) */ +#define DATA1N_comment 5 + /* preprocessing instruction */ +#define DATA1N_preprocess 6 int which; - union { struct @@ -271,6 +275,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); @@ -342,15 +352,34 @@ 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); +YAZ_EXPORT data1_node *data1_mk_comment_n (data1_handle dh, NMEM mem, + const char *buf, size_t len, + data1_node *parent); + +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, @@ -439,6 +468,14 @@ 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_END_CDECL #endif