Multiple local values supported.
authorSebastian Hammer <quinn@indexdata.com>
Thu, 9 May 1996 07:27:11 +0000 (07:27 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Thu, 9 May 1996 07:27:11 +0000 (07:27 +0000)
include/d1_attset.h
include/data1.h

index 42bf4b4..c2fb952 100644 (file)
 
 struct data1_attset;
 
 
 struct data1_attset;
 
+typedef struct data1_local_attribute
+{
+    int local;
+    struct data1_local_attribute *next;
+} data1_local_attribute;
+
 typedef struct data1_att
 {
     struct data1_attset *parent;   /* attribute set */
 typedef struct data1_att
 {
     struct data1_attset *parent;   /* attribute set */
-    char *name;                    /* symbolic name of this tag */
-    int value;                     /* tag value */
-    int local;                     /* local index value */
+    char *name;                    /* symbolic name of this attribute */
+    int value;                     /* attribute value */
+    data1_local_attribute *locals; /* local index values */
     struct data1_att *next;
 } data1_att;
 
     struct data1_att *next;
 } data1_att;
 
index e97e8d4..2d4b802 100644 (file)
  * OF THIS SOFTWARE.
  *
  * $Log: data1.h,v $
  * OF THIS SOFTWARE.
  *
  * $Log: data1.h,v $
- * Revision 1.13  1996-02-20 16:32:48  quinn
+ * Revision 1.14  1996-05-09 07:27:11  quinn
+ * Multiple local values supported.
+ *
+ * Revision 1.13  1996/02/20  16:32:48  quinn
  * Created util file.
  *
  * Revision 1.12  1996/01/18  09:46:34  adam
  * Created util file.
  *
  * Revision 1.12  1996/01/18  09:46:34  adam
@@ -143,6 +146,12 @@ typedef enum data1_datatype
     DATA1K_null
 } data1_datatype;
 
     DATA1K_null
 } data1_datatype;
 
+typedef enum data1_structure
+{
+    DATA1S_word,
+    DATA1S_phrase
+} data1_structure;
+
 typedef struct data1_marctab
 {
     char *name;
 typedef struct data1_marctab
 {
     char *name;
@@ -233,6 +242,13 @@ typedef struct data1_tagset
     struct data1_tagset *next;       /* sibling */
 } data1_tagset;
 
     struct data1_tagset *next;       /* sibling */
 } data1_tagset;
 
+typedef struct data1_termlist
+{
+    data1_att *att;
+    data1_structure structure;
+    struct data1_termlist *next;
+} data1_termlist;
+
 /*
  * abstract syntax specification
  */
 /*
  * abstract syntax specification
  */
@@ -241,7 +257,7 @@ typedef struct data1_element
 {
     char *name;
     data1_tag *tag;
 {
     char *name;
     data1_tag *tag;
-    data1_att *att;
+    data1_termlist *termlists;
     struct data1_element *children;
     struct data1_element *next;
 } data1_element;
     struct data1_element *children;
     struct data1_element *next;
 } data1_element;