Fix explain tags for XML writer
authorAdam Dickmeiss <adam@indexdata.dk>
Mon, 15 Apr 2002 09:06:30 +0000 (09:06 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Mon, 15 Apr 2002 09:06:30 +0000 (09:06 +0000)
retrieval/d1_grs.c
retrieval/d1_read.c
retrieval/d1_write.c

index d686b08..882758b 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: d1_grs.c,v $
- * Revision 1.18  2002-04-12 14:40:07  adam
+ * Revision 1.19  2002-04-15 09:06:30  adam
+ * Fix explain tags for XML writer
+ *
+ * Revision 1.18  2002/04/12 14:40:07  adam
  * GRS-1 writer accepts non-abs
  *
  * Revision 1.17  1999/11/30 13:47:12  adam
@@ -286,7 +289,7 @@ static Z_TaggedElement *nodetotaggedelement(data1_handle dh, data1_node *n,
        else if (tag)                    
            tagstr = tag->value.string;  /* no take from well-known */
        else
-           tagstr = "?";                /* no tag at all! */
+           tagstr = "???";                /* no tag at all! */
        res->tagValue->which = Z_StringOrNumeric_string;
        res->tagValue->u.string = odr_strdup(o, tagstr);
     }
index 0af7492..2bbf6ae 100644 (file)
@@ -1,185 +1,9 @@
 /*
- * Copyright (c) 1995-2001, Index Data.
+ * Copyright (c) 1995-2002, Index Data.
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
- * $Log: d1_read.c,v $
- * Revision 1.38  2001-03-27 23:06:21  adam
- * Quotes and slashes may occur within attributes.
- *
- * Revision 1.37  2001/02/28 09:00:06  adam
- * Fixed problem with stack overflow for very nested records.
- *
- * Revision 1.36  2001/02/21 13:46:53  adam
- * C++ fixes.
- *
- * Revision 1.35  2000/12/05 14:44:25  adam
- * Readers skips <! ...> sections.
- *
- * Revision 1.34  2000/12/05 10:06:23  adam
- * Added support for null-data rules like <tag/>.
- *
- * Revision 1.33  2000/11/29 14:22:47  adam
- * Implemented XML/SGML attributes for data1 so that d1_read reads them
- * and d1_write generates proper attributes for XML/SGML records. Added
- * register locking for threaded version.
- *
- * Revision 1.32  2000/01/06 11:25:59  adam
- * Added case to prevent warning.
- *
- * Revision 1.31  1999/12/21 14:16:20  ian
- * Changed retrieval module to allow data1 trees with no associated absyn.
- * Also added a simple interface for extracting values from data1 trees using
- * a string based tagpath.
- *
- * Revision 1.30  1999/11/30 13:47:12  adam
- * Improved installation. Moved header files to include/yaz.
- *
- * Revision 1.29  1999/10/21 12:06:29  adam
- * Retrieval module no longer uses ctype.h - functions.
- *
- * Revision 1.28  1999/10/21 09:50:33  adam
- * SGML reader uses own isspace - it doesn't do 8-bit on WIN32!
- *
- * Revision 1.27  1999/08/27 09:40:32  adam
- * Renamed logf function to yaz_log. Removed VC++ project files.
- *
- * Revision 1.26  1999/07/13 13:23:48  adam
- * Non-recursive version of data1_read_node. data1_read_nodex reads
- * stream of bytes (instead of buffer in memory).
- *
- * Revision 1.25  1999/04/20 09:56:48  adam
- * Added 'name' paramter to encoder/decoder routines (typedef Odr_fun).
- * Modified all encoders/decoders to reflect this change.
- *
- * Revision 1.24  1998/10/28 15:10:09  adam
- * Added --with-yc option to configure. For the data1_node in data1.h:
- * decreased size of localdata and removed member "line" which wasn't useful.
- *
- * Revision 1.23  1998/03/12 11:28:45  adam
- * Fix: didn't set root member of tagged node in function.
- * data1_add_insert_taggeddata.
- *
- * Revision 1.22  1998/03/05 08:15:32  adam
- * Implemented data1_add_insert_taggeddata utility which is more flexible
- * than data1_insert_taggeddata.
- *
- * Revision 1.21  1998/02/27 14:08:05  adam
- * Added const to some char pointer arguments.
- * Reworked data1_read_node so that it doesn't create a tree with
- * pointers to original "SGML"-buffer.
- *
- * Revision 1.20  1998/02/11 11:53:35  adam
- * Changed code so that it compiles as C++.
- *
- * Revision 1.19  1997/12/09 16:17:09  adam
- * Fix bug regarding variants. Tags with prefix "var" was incorrectly
- * interpreted as "start of variants". Now, only "var" indicates such
- * start.
- * Cleaned up data1_read_node so tag names and variant names are
- * copied and not pointed to by the generated data1 tree. Data nodes
- * still point to old buffer.
- *
- * Revision 1.18  1997/11/18 09:51:09  adam
- * Removed element num_children from data1_node. Minor changes in
- * data1 to Explain.
- *
- * Revision 1.17  1997/11/05 09:20:51  adam
- * Minor change.
- *
- * Revision 1.16  1997/09/17 12:10:37  adam
- * YAZ version 1.4.
- *
- * Revision 1.15  1997/09/05 09:50:57  adam
- * Removed global data1_tabpath - uses data1_get_tabpath() instead.
- *
- * Revision 1.14  1997/05/14 06:54:04  adam
- * C++ support.
- *
- * Revision 1.13  1996/10/29 13:35:38  adam
- * Implemented data1_set_tabpath and data1_get_tabpath.
- *
- * Revision 1.12  1996/10/11 10:35:38  adam
- * Fixed a bug that caused data1_read_node to core dump when no abstract
- * syntax was defined in a "sgml"-record.
- *
- * Revision 1.11  1996/07/06 19:58:35  quinn
- * System headerfiles gathered in yconfig
- *
- * Revision 1.10  1996/01/19  15:41:47  quinn
- * Fixed uninitialized boolean.
- *
- * Revision 1.9  1996/01/17  14:52:47  adam
- * Changed prototype for reader function parsed to data1_read_record.
- *
- * Revision 1.8  1995/12/15  16:20:41  quinn
- * Added formatted text.
- *
- * Revision 1.7  1995/12/13  13:44:32  quinn
- * Modified Data1-system to use nmem
- *
- * Revision 1.6  1995/12/12  16:37:08  quinn
- * Added destroy element to data1_node.
- *
- * Revision 1.5  1995/12/11  15:22:37  quinn
- * Added last_child field to the node.
- * Rewrote schema-mapping.
- *
- * Revision 1.4  1995/11/13  09:27:36  quinn
- * Fiddling with the variant stuff.
- *
- * Revision 1.3  1995/11/01  16:34:57  quinn
- * Making data1 look for tables in data1_tabpath
- *
- * Revision 1.2  1995/11/01  13:54:48  quinn
- * Minor adjustments
- *
- * Revision 1.1  1995/11/01  11:56:09  quinn
- * Added Retrieval (data management) functions en masse.
- *
- * Revision 1.14  1995/10/30  12:40:55  quinn
- * Fixed a couple of bugs.
- *
- * Revision 1.13  1995/10/25  16:00:47  quinn
- * USMARC support is now almost operational
- *
- * Revision 1.12  1995/10/16  14:02:55  quinn
- * Changes to support element set names and espec1
- *
- * Revision 1.11  1995/10/13  16:05:08  quinn
- * Adding Espec1-processing
- *
- * Revision 1.10  1995/10/11  14:53:44  quinn
- * Work on variants.
- *
- * Revision 1.9  1995/10/06  16:56:50  quinn
- * Fixed ranked result.
- *
- * Revision 1.8  1995/10/06  16:44:13  quinn
- * Work on attribute set mapping, etc.
- *
- * Revision 1.7  1995/10/06  12:58:35  quinn
- * SUTRS support
- *
- * Revision 1.6  1995/10/04  09:29:49  quinn
- * Adjustments to support USGS test data
- *
- * Revision 1.5  1995/10/03  17:56:43  quinn
- * Fixing GRS code.
- *
- * Revision 1.4  1995/10/02  15:53:19  quinn
- * Work
- *
- * Revision 1.3  1995/10/02  14:55:21  quinn
- * *** empty log message ***
- *
- * Revision 1.2  1995/09/14  15:18:13  quinn
- * Work
- *
- * Revision 1.1  1995/09/12  11:24:30  quinn
- * Beginning to add code for structured records.
- *
- *
+ * $Id: d1_read.c,v 1.39 2002-04-15 09:06:30 adam Exp $
  */
 
 #include <assert.h>
index eb64130..51f2ff3 100644 (file)
@@ -1,41 +1,9 @@
 /*
- * Copyright (c) 1995-1999, Index Data.
+ * Copyright (c) 1995-2002, Index Data.
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
- * $Log: d1_write.c,v $
- * Revision 1.9  2000-11-29 14:22:47  adam
- * Implemented XML/SGML attributes for data1 so that d1_read reads them
- * and d1_write generates proper attributes for XML/SGML records. Added
- * register locking for threaded version.
- *
- * Revision 1.8  1999/11/30 13:47:12  adam
- * Improved installation. Moved header files to include/yaz.
- *
- * Revision 1.7  1999/10/21 12:06:29  adam
- * Retrieval module no longer uses ctype.h - functions.
- *
- * Revision 1.6  1999/07/06 12:16:00  adam
- * Improved layout generated record in SGML/XML format.
- *
- * Revision 1.5  1998/06/05 08:57:43  adam
- * Fixed problem with function wordlen.
- *
- * Revision 1.4  1998/05/18 13:07:08  adam
- * Changed the way attribute sets are handled by the retriaval module.
- * Extended Explain conversion / schema.
- * Modified server and client to work with ASN.1 compiled protocol handlers.
- *
- * Revision 1.3  1997/09/17 12:10:39  adam
- * YAZ version 1.4.
- *
- * Revision 1.2  1995/12/13 17:14:27  quinn
- * *** empty log message ***
- *
- * Revision 1.1  1995/12/13  15:38:43  quinn
- * Added SGML-output filter.
- *
- *
+ * $Id: d1_write.c,v 1.10 2002-04-15 09:06:30 adam Exp $
  */
 
 #include <string.h>
@@ -67,10 +35,7 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col)
        {
            if (select && c->u.tag.node_selected)
                continue;
-           if (c->u.tag.element && c->u.tag.element->tag)
-               tag = c->u.tag.element->tag->names->name; /* first name */
-           else
-               tag = c->u.tag.tag; /* local string tag */
+            tag = c->u.tag.tag;
            if (!data1_matchstr(tag, "wellknown")) /* skip wellknown */
            {
                if (nodetoidsgml(c, select, b, col) < 0)