X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzinfo.c;h=bb8ae33c685bb5d2df4a995c6cc6131f64d74024;hb=eb675b4bc920ee55a2b94ce7c9febe558d2ae2ab;hp=4e471a6641ba33b72f7cc3b52eeba06b483c323a;hpb=d57bb162b65a585e0ed3ad319d9673d66bc6d90c;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index 4e471a6..bb8ae33 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -3,7 +3,7 @@ * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * - * $Id: zinfo.c,v 1.29 2002-05-07 11:05:19 adam Exp $ + * $Id: zinfo.c,v 1.32 2002-07-11 13:15:57 heikki Exp $ */ #include @@ -291,12 +291,17 @@ ZebraExplainInfo zebraExplain_open ( zei->categoryList->dirty = 0; zei->categoryList->data1_categoryList = NULL; - time (&our_time); - tm = localtime (&our_time); - sprintf (zei->date, "%04d%02d%02d%02d%02d%02d", - tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, - tm->tm_hour, tm->tm_min, tm->tm_sec); - + if ( atoi (res_get_def (res, "notimestamps", "0") )== 0) + { + time (&our_time); + tm = localtime (&our_time); + sprintf (zei->date, "%04d%02d%02d%02d%02d%02d", + tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec); + } else { + sprintf (zei->date, "%04d%02d%02d%02d%02d%02d", + 0, 0, 0, 0, 0, 0); + } zdip = &zei->databaseInfo; trec = rec_get (records, 1); /* get "root" record */ @@ -322,8 +327,8 @@ ZebraExplainInfo zebraExplain_open ( #if ZINFO_DEBUG data1_pr_tree (zei->dh, zei->data1_target, stderr); #endif - node_tgtinfo = data1_search_tag (zei->dh, zei->data1_target->child, - "targetInfo"); + node_tgtinfo = data1_search_tag (zei->dh, zei->data1_target, + "/targetInfo"); zebraExplain_mergeAccessInfo (zei, node_tgtinfo, &zei->accessInfo); @@ -426,8 +431,8 @@ ZebraExplainInfo zebraExplain_open ( nmem_destroy (zei->nmem); return 0; } - node_tgtinfo = data1_search_tag (zei->dh, zei->data1_target->child, - "targetInfo"); + node_tgtinfo = data1_search_tag (zei->dh, zei->data1_target, + "/targetInfo"); assert (node_tgtinfo); zebraExplain_initCommonInfo (zei, node_tgtinfo); @@ -464,10 +469,8 @@ ZebraExplainInfo zebraExplain_open ( if (zcl->data1_categoryList) { - assert (zcl->data1_categoryList->child); - node_cl = data1_search_tag (zei->dh, - zcl->data1_categoryList->child, - "categoryList"); + node_cl = data1_search_tag (zei->dh, zcl->data1_categoryList, + "/categoryList"); assert (node_cl); zebraExplain_initCommonInfo (zei, node_cl); } @@ -488,8 +491,8 @@ static void zebraExplain_readAttributeDetails (ZebraExplainInfo zei, zad->data1_tree = read_sgml_rec (zei->dh, zei->nmem, rec); - node_adinfo = data1_search_tag (zei->dh, zad->data1_tree->child, - "attributeDetails"); + node_adinfo = data1_search_tag (zei->dh, zad->data1_tree, + "/attributeDetails"); node_zebra = data1_search_tag (zei->dh, node_adinfo->child, "zebraInfo"); node_list = data1_search_tag (zei->dh, node_zebra->child, @@ -553,8 +556,9 @@ static void zebraExplain_readDatabase (ZebraExplainInfo zei, zdi->data1_database = read_sgml_rec (zei->dh, zei->nmem, rec); - node_dbinfo = data1_search_tag (zei->dh, zdi->data1_database->child, - "databaseInfo"); + node_dbinfo = data1_search_tag (zei->dh, zdi->data1_database, + "/databaseInfo"); + assert (node_dbinfo); zebraExplain_mergeAccessInfo (zei, node_dbinfo, &zdi->accessInfo); node_zebra = data1_search_tag (zei->dh, node_dbinfo->child, @@ -622,7 +626,7 @@ int zebraExplain_curDatabase (ZebraExplainInfo zei, const char *database) static void zebraExplain_initCommonInfo (ZebraExplainInfo zei, data1_node *n) { - data1_node *c = data1_mk_tag (zei->dh, zei->nmem, "commonInfo", n); + data1_node *c = data1_mk_tag (zei->dh, zei->nmem, "commonInfo", 0, n); data1_mk_tag_data_text (zei->dh, c, "dateAdded", zei->date, zei->nmem); data1_mk_tag_data_text (zei->dh, c, "dateChanged", zei->date, zei->nmem); data1_mk_tag_data_text (zei->dh, c, "languageCode", "EN", zei->nmem); @@ -638,8 +642,8 @@ static void zebraExplain_updateCommonInfo (ZebraExplainInfo zei, data1_node *n) static void zebraExplain_initAccessInfo (ZebraExplainInfo zei, data1_node *n) { - data1_node *c = data1_mk_tag (zei->dh, zei->nmem, "accessInfo", n); - data1_node *d = data1_mk_tag (zei->dh, zei->nmem, "unitSystems", c); + data1_node *c = data1_mk_tag (zei->dh, zei->nmem, "accessInfo", 0, n); + data1_node *d = data1_mk_tag (zei->dh, zei->nmem, "unitSystems", 0, c); data1_mk_tag_data_text (zei->dh, d, "string", "ISO", zei->nmem); } @@ -715,9 +719,9 @@ int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database, "\n"); if (!zdi->data1_database) return -2; - - node_dbinfo = data1_search_tag (zei->dh, zdi->data1_database->child, - "databaseInfo"); + + node_dbinfo = data1_search_tag (zei->dh, zdi->data1_database, + "/databaseInfo"); assert (node_dbinfo); zebraExplain_initCommonInfo (zei, node_dbinfo); @@ -754,9 +758,8 @@ int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database, "AttributeDetails\n" "\n"); - node_adinfo = - data1_search_tag (zei->dh, zdi->attributeDetails->data1_tree->child, - "attributeDetails"); + node_adinfo = data1_search_tag (zei->dh, zdi->attributeDetails->data1_tree, + "/attributeDetails"); assert (node_adinfo); zebraExplain_initCommonInfo (zei, node_adinfo); @@ -781,9 +784,9 @@ static void writeAttributeValueDetails (ZebraExplainInfo zei, if (set_ordinal != zsui->info.set) continue; node_attvalue = data1_mk_tag (zei->dh, zei->nmem, "attributeValue", - node_atvs); + 0 /* attr */, node_atvs); node_value = data1_mk_tag (zei->dh, zei->nmem, "value", - node_attvalue); + 0 /* attr */, node_attvalue); data1_mk_tag_data_int (zei->dh, node_value, "numeric", zsui->info.use, zei->nmem); } @@ -818,17 +821,18 @@ static void zebraExplain_writeCategoryList (ZebraExplainInfo zei, #endif drec = createRecord (zei->records, &sysno); - - node_ci = data1_search_tag (zei->dh, node_categoryList->child, - "categoryList"); + + node_ci = data1_search_tag (zei->dh, node_categoryList, + "/categoryList"); assert (node_ci); - node_ci = data1_mk_tag (zei->dh, zei->nmem, "categories", node_ci); + node_ci = data1_mk_tag (zei->dh, zei->nmem, "categories", 0 /* attr */, + node_ci); assert (node_ci); for (i = 0; category[i]; i++) { - data1_node *node_cat = data1_mk_tag (zei->dh, zei->nmem, - "category", node_ci); + data1_node *node_cat = data1_mk_tag (zei->dh, zei->nmem, "category", + 0 /* attr */, node_ci); data1_mk_tag_data_text (zei->dh, node_cat, "name", category[i], zei->nmem); @@ -872,8 +876,9 @@ static void zebraExplain_writeAttributeDetails (ZebraExplainInfo zei, drec = createRecord (zei->records, &zad->sysno); assert (zad->data1_tree); - node_adinfo = data1_search_tag (zei->dh, zad->data1_tree->child, - "attributeDetails"); + + node_adinfo = data1_search_tag (zei->dh, zad->data1_tree, + "/attributeDetails"); zebraExplain_updateCommonInfo (zei, node_adinfo); data1_mk_tag_data_text (zei->dh, node_adinfo, "name", @@ -902,7 +907,8 @@ static void zebraExplain_writeAttributeDetails (ZebraExplainInfo zei, break; set_min = set_ordinal; node_asd = data1_mk_tag (zei->dh, zei->nmem, - "attributeSetDetails", node_attributesBySet); + "attributeSetDetails", + 0 /* attr */, node_attributesBySet); attset = data1_attset_search_id (zei->dh, set_ordinal); if (!attset) @@ -926,13 +932,16 @@ static void zebraExplain_writeAttributeDetails (ZebraExplainInfo zei, oid, zei->nmem); node_abt = data1_mk_tag (zei->dh, zei->nmem, - "attributesByType", node_asd); + "attributesByType", + 0 /*attr */, node_asd); node_atd = data1_mk_tag (zei->dh, zei->nmem, - "attributeTypeDetails", node_abt); + "attributeTypeDetails", + 0 /* attr */, node_abt); data1_mk_tag_data_int (zei->dh, node_atd, "type", 1, zei->nmem); node_atvs = data1_mk_tag (zei->dh, zei->nmem, - "attributeValues", node_atd); + "attributeValues", + 0 /* attr */, node_atd); writeAttributeValueDetails (zei, zad, node_atvs, attset); } } @@ -948,7 +957,8 @@ static void zebraExplain_writeAttributeDetails (ZebraExplainInfo zei, int oid[OID_SIZE]; data1_node *node_attr; - node_attr = data1_mk_tag (zei->dh, zei->nmem, "attr", node_list); + node_attr = data1_mk_tag (zei->dh, zei->nmem, "attr", 0 /* attr */, + node_list); oident.proto = PROTO_Z3950; oident.oclass = CLASS_ATTSET; @@ -993,9 +1003,11 @@ static void zebraExplain_writeDatabase (ZebraExplainInfo zei, #endif drec = createRecord (zei->records, &zdi->sysno); assert (zdi->data1_database); - node_dbinfo = data1_search_tag (zei->dh, zdi->data1_database->child, - "databaseInfo"); + node_dbinfo = data1_search_tag (zei->dh, zdi->data1_database, + "/databaseInfo"); + + assert (node_dbinfo); zebraExplain_updateCommonInfo (zei, node_dbinfo); zebraExplain_updateAccessInfo (zei, node_dbinfo, zdi->accessInfo); @@ -1044,10 +1056,11 @@ static void writeAttributeValues (ZebraExplainInfo zei, data1_node *node_value; node_value = data1_mk_tag (zei->dh, zei->nmem, "attributeValue", - node_values); + 0 /* attr */, node_values); data1_mk_tag_data_text (zei->dh, node_value, "name", atts->name, zei->nmem); - node_value = data1_mk_tag (zei->dh, zei->nmem, "value", node_value); + node_value = data1_mk_tag (zei->dh, zei->nmem, "value", + 0 /* attr */, node_value); data1_mk_tag_data_int (zei->dh, node_value, "numeric", atts->value, zei->nmem); } @@ -1080,9 +1093,10 @@ static void zebraExplain_writeAttributeSet (ZebraExplainInfo zei, "AttributeSetInfo\n" "\n" ); - node_attinfo = data1_search_tag (zei->dh, node_root->child, - "attributeSetInfo"); + node_attinfo = data1_search_tag (zei->dh, node_root, + "/attributeSetInfo"); + assert (node_attinfo); zebraExplain_initCommonInfo (zei, node_attinfo); zebraExplain_updateCommonInfo (zei, node_attinfo); @@ -1103,7 +1117,7 @@ static void zebraExplain_writeAttributeSet (ZebraExplainInfo zei, data1_mk_tag_data_int (zei->dh, node_atttype, "type", 1, zei->nmem); node_values = data1_mk_tag (zei->dh, zei->nmem, - "attributeValues", node_atttype); + "attributeValues", 0 /* attr */, node_atttype); if (attset) writeAttributeValues (zei, node_values, attset); @@ -1138,8 +1152,8 @@ static void zebraExplain_writeTarget (ZebraExplainInfo zei, int key_flush) trec = rec_get (zei->records, 1); xfree (trec->info[recInfo_storeData]); - node_tgtinfo = data1_search_tag (zei->dh, zei->data1_target->child, - "targetInfo"); + node_tgtinfo = data1_search_tag (zei->dh, zei->data1_target, + "/targetInfo"); assert (node_tgtinfo); zebraExplain_updateCommonInfo (zei, node_tgtinfo); @@ -1154,12 +1168,12 @@ static void zebraExplain_writeTarget (ZebraExplainInfo zei, int key_flush) data1_mk_tag_data_text (zei->dh, node_zebra, "version", ZEBRAVER, zei->nmem); node_list = data1_mk_tag (zei->dh, zei->nmem, - "databaseList", node_zebra); + "databaseList", 0 /* attr */, node_zebra); for (zdi = zei->databaseInfo; zdi; zdi = zdi->next) { data1_node *node_db; node_db = data1_mk_tag (zei->dh, zei->nmem, - "database", node_list); + "database", 0 /* attr */, node_list); data1_mk_tag_data_text (zei->dh, node_db, "name", zdi->databaseName, zei->nmem); data1_mk_tag_data_int (zei->dh, node_db, "id",