Allow YAZ 2 series only
[ir-tcl-moved-to-github.git] / formats / medium.tcl
index e2e3248..cc22d03 100644 (file)
@@ -4,7 +4,17 @@
 # Sebastian Hammer, Adam Dickmeiss
 #
 # $Log: medium.tcl,v $
-# Revision 1.12  1996-03-29 16:05:36  adam
+# Revision 1.15  1997-11-19 11:22:10  adam
+# Object identifiers can be accessed in GRS-1 records.
+#
+# Revision 1.14  1996/04/12 13:45:49  adam
+# Minor changes.
+#
+# Revision 1.13  1996/04/12  12:25:27  adam
+# Modified display of GRS-1 records to include headings for standard
+# tag sets.
+#
+# Revision 1.12  1996/03/29  16:05:36  adam
 # Bug fix: GRS records wasn't recognized.
 #
 # Revision 1.11  1996/01/23  15:24:23  adam
 #
 proc display-grs-medium {w r i} {
     global tagSet
-
+    
     foreach e $r {
-        for {set j 0} {$j < $i} {incr j} {
-            insertWithTags $w "  " marc-tag
+        if {[tk4]} {
+            set start [$w index insert]
+        } else {
+            for {set j 0} {$j < $i} {incr j} {
+                insertWithTags $w "  " marc-tag
+            }
         }
         set ttype [lindex $e 0]
         set tval [lindex $e 2]
-        if {[info exists tagSet($ttype,$tval)]} {
-            insertWithTags $w "$tagSet($ttype,$tval) " marc-tag
+        if {$ttype == 3} {
+            insertWithTags $w "$tval " marc-pref
+        } elseif {[info exists tagSet($ttype,$tval)]} {
+            insertWithTags $w "$tagSet($ttype,$tval) " marc-pref
         } else {
-            insertWithTags $w "$tval " marc-tag
+            insertWithTags $w "($ttype,$tval) " marc-tag
         }
         if {[lindex $e 3] == "string"} {
-            insertWithTags $w [lindex $e 4] {}
+            insertWithTags $w [lindex $e 4] marc-text
             insertWithTags $w "\n"
         } elseif {[lindex $e 3] == "subtree"} {
             insertWithTags $w "\n"
-            display-grs-medium $w [lindex $e 4] [expr $i+1]
         } else {
             insertWithTags $w [lindex $e 4] {}
-            insertWithTags $w " ?\n" {}
+            insertWithTags $w " \n" {}
+        }
+        if {[tk4]} {
+            $w tag configure indent$i \
+                    -lmargin1 [expr $i * 16] \
+                    -lmargin2 [expr $i * 16 + 8]
+            $w tag add indent$i $start insert
+        }
+        if {[lindex $e 3] == "subtree"} {
+            display-grs-medium $w [lindex $e 4] [expr $i+1]
         }
     }
 }
@@ -96,7 +120,6 @@ proc display-medium {sno no w hflag} {
         return
     }
     set rtype [z39.$sno recordType $no]
-    puts $rtype
     if {$rtype == "SUTRS"} {
         insertWithTags $w [join [z39.$sno getSutrs $no]] {}
         $w insert end "\n"
@@ -110,7 +133,7 @@ proc display-medium {sno no w hflag} {
         insertWithTags $w "Unknown record type: $rtype\n" marc-id
         return
     }
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "Title " marc-pref
         insertWithTags $w [string trimright [lindex $i 0] /] marc-text
         set i [z39.$sno getMarc $no field 245 * b]
@@ -120,10 +143,10 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 700 * a]
-    if {"x$i" == "x"} {
+    if {![llength $i]} {
         set i [z39.$sno getMarc $no field 100 * a]
     }
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         if {[llength $i] > 1} {
             insertWithTags $w "Authors " marc-pref
         } else {
@@ -135,7 +158,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 110 * *]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "Co-Author " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -144,7 +167,7 @@ proc display-medium {sno no w hflag} {
     }
 
     set i [z39.$sno getMarc $no field 650 * *]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         set n 0
         insertWithTags $w "Keywords " marc-pref
         foreach x $i {
@@ -158,7 +181,7 @@ proc display-medium {sno no w hflag} {
     }
     set i [concat [z39.$sno getMarc $no field 260 * a] \
             [z39.$sno getMarc $no field 260 * b]]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "Publisher " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -166,7 +189,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 020 * a]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "ISBN " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -174,7 +197,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 022 * a]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "ISSN " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -182,7 +205,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 030 * a]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "CODEN " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -190,7 +213,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 015 * a]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "Ctl number " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -198,7 +221,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 010 * a]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "LC number " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text
@@ -206,7 +229,7 @@ proc display-medium {sno no w hflag} {
         $w insert end "\n"
     }
     set i [z39.$sno getMarc $no field 710 * a]
-    if {"x$i" != "x"} {
+    if {[llength $i]} {
         insertWithTags $w "Corporate name " marc-pref
         foreach x $i {
             insertWithTags $w $x marc-text