1 # IR toolkit for tcl/tk
3 # See the file LICENSE for details.
4 # Sebastian Hammer, Adam Dickmeiss
7 # Revision 1.6 1995-09-20 11:37:06 adam
10 # Revision 1.5 1995/06/22 13:16:29 adam
11 # Feature: SUTRS. Setting getSutrs implemented.
12 # Work on display formats.
14 # Revision 1.4 1995/06/14 12:16:42 adam
15 # Minor presentation format changes.
17 # Revision 1.3 1995/06/13 14:39:06 adam
18 # Fix: if {$var != ""} doesn't work if var is a large numerical!
19 # Highlight when line format is used.
21 # Revision 1.2 1995/06/12 15:18:10 adam
22 # Work on presentation formats. These are used in the main window as well
26 proc display-grs-medium {w r i} {
28 for {set j 0} {$j < $i} {incr j} {
29 insertWithTags $w " " {}
31 insertWithTags $w "([lindex $e 0]:[lindex $e 2])" marc-tag
32 if {[lindex $e 3] == "string"} {
33 insertWithTags $w [lindex $e 4] {}
34 insertWithTags $w "\n" {}
35 } elseif {[lindex $e 3] == "subtree"} {
36 insertWithTags $w "\n" {}
37 display-grs-medium $w [lindex $e 4] [expr $i+1]
39 insertWithTags [lindex $e 4] {}
40 insertWithTags $w " ?\n" {}
45 proc display-medium {sno no w hflag} {
47 insertWithTags $w "\n$no\n" marc-data
51 set type [z39.$sno type $no]
53 set err [lindex [z39.$sno diag $no] 1]
54 set add [lindex [z39.$sno diag $no] 2]
58 insertWithTags $w "Error ${err}${add}\n" marc-id
64 set rtype [z39.$sno recordType $no]
65 if {$rtype == "SUTRS"} {
66 insertWithTags $w [join [z39.$sno getSutrs $no]] {}
70 if {$rtype == "GRS1"} {
71 display-grs-medium $w [z39.$sno getGrs $no] 0
74 if {[catch {set i [z39.$sno getMarc $no field 245 * a]}]} {
75 insertWithTags $w "Unknown record type: $rtype\n" marc-id
79 insertWithTags $w "Title: " marc-tag
80 insertWithTags $w [string trimright [lindex $i 0] /] marc-data
81 set i [z39.$sno getMarc $no field 245 * b]
83 insertWithTags $w [string trimright [lindex $i 0] /] marc-data
87 set i [z39.$sno getMarc $no field 700 * a]
89 set i [z39.$sno getMarc $no field 100 * a]
92 if {[llength $i] > 1} {
93 insertWithTags $w "Authors: " marc-tag
95 insertWithTags $w "Author: " marc-tag
98 insertWithTags $w $x marc-data
102 set i [z39.$sno getMarc $no field 110 * *]
104 insertWithTags $w "Co-Author: " marc-tag
106 insertWithTags $w $x marc-data
111 set i [z39.$sno getMarc $no field 650 * *]
114 insertWithTags $w "Keywords: " marc-tag
119 insertWithTags $w $x marc-data
124 set i [concat [z39.$sno getMarc $no field 260 * a] \
125 [z39.$sno getMarc $no field 260 * b]]
127 insertWithTags $w "Publisher: " marc-tag
129 insertWithTags $w $x marc-data
133 set i [z39.$sno getMarc $no field 020 * a]
135 insertWithTags $w "ISBN: " marc-tag
137 insertWithTags $w $x marc-data
141 set i [z39.$sno getMarc $no field 022 * a]
143 insertWithTags $w "ISSN: " marc-tag
145 insertWithTags $w $x marc-data
149 set i [z39.$sno getMarc $no field 030 * a]
151 insertWithTags $w "CODEN: " marc-tag
153 insertWithTags $w $x marc-data
157 set i [z39.$sno getMarc $no field 015 * a]
159 insertWithTags $w "Ctl number: " marc-tag
161 insertWithTags $w $x marc-data
165 set i [z39.$sno getMarc $no field 010 * a]
167 insertWithTags $w "LC number: " marc-tag
169 insertWithTags $w $x marc-data