X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=formats%2Fmedium.tcl;h=cc22d03e425cac6e3af498a72c7f4ea9a0367ba1;hb=fb1ba3e3bdae37307afcf6e69f26d25237a8ea84;hp=81702148d4f17baa6cfd3ee97176a3f8d7621fb8;hpb=be9d3bac0ca3bc71b4b67181dd02fa094fdfba05;p=ir-tcl-moved-to-github.git diff --git a/formats/medium.tcl b/formats/medium.tcl index 8170214..cc22d03 100644 --- a/formats/medium.tcl +++ b/formats/medium.tcl @@ -4,7 +4,20 @@ # Sebastian Hammer, Adam Dickmeiss # # $Log: medium.tcl,v $ -# Revision 1.11 1996-01-23 15:24:23 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 # Wrore more comments. # # Revision 1.10 1996/01/11 09:31:05 quinn @@ -39,20 +52,42 @@ # # 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 {$ttype == 3} { + insertWithTags $w "$tval " marc-pref + } elseif {[info exists tagSet($ttype,$tval)]} { + insertWithTags $w "$tagSet($ttype,$tval) " marc-pref + } else { + insertWithTags $w "($ttype,$tval) " marc-tag } - insertWithTags $w "([lindex $e 0]:[lindex $e 2]) " 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] } } } @@ -90,7 +125,7 @@ proc display-medium {sno no w hflag} { $w insert end "\n" return } - if {$rtype == "GRS1"} { + if {$rtype == "GRS-1"} { display-grs-medium $w [z39.$sno getGrs $no] 0 return } @@ -98,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] @@ -108,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 { @@ -123,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 @@ -132,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 { @@ -146,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 @@ -154,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 @@ -162,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 @@ -170,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 @@ -178,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 @@ -186,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 @@ -194,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