New MARC display routines.
authorAdam Dickmeiss <adam@indexdata.dk>
Mon, 12 Jun 1995 07:59:35 +0000 (07:59 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Mon, 12 Jun 1995 07:59:35 +0000 (07:59 +0000)
formats/medium.tcl [new file with mode: 0644]
formats/raw.tcl [new file with mode: 0644]

diff --git a/formats/medium.tcl b/formats/medium.tcl
new file mode 100644 (file)
index 0000000..83d9244
--- /dev/null
@@ -0,0 +1,101 @@
+
+proc display-nice {sno no w} {
+    $w delete 0.0 end
+    set i [z39.$sno getMarc $no field 245 * a]
+    if {$i != ""} {
+        set i [lindex $i 0]
+        insertWithTags $w "Title:      " marc-tag
+        insertWithTags $w $i marc-data
+        set i [z39.$sno getMarc $no field 245 * b]
+        if {$i != ""} {
+            insertWithTags $w [lindex $i 0] marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 700 * a]
+    if {$i == ""} {
+        set i [z39.$sno getMarc $no field 100 * a]
+    }
+    if {$i != ""} {
+        if {[llength $i] > 1} {
+            insertWithTags $w "Authors:    " marc-tag
+        } else {
+            insertWithTags $w "Author:     " marc-tag
+        }
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 110 * *]
+    if {$i != ""} {
+        insertWithTags $w "Co-Author:  " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+
+    set i [z39.$sno getMarc $no field 650 * *]
+    if {$i != ""} {
+        set n 0
+        insertWithTags $w "Keywords:   " marc-tag
+        foreach x $i {
+            if {$n > 0} {
+                $w insert end ", "
+            }
+            insertWithTags $w $x marc-data
+            incr n
+        }
+        $w insert end "\n"
+    }
+    set i [concat [z39.$sno getMarc $no field 260 * a] \
+            [z39.$sno getMarc $no field 260 * b]]
+    if {$i != ""} {
+        insertWithTags $w "Publisher:  " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 020 * a]
+    if {$i != ""} {
+        insertWithTags $w "ISBN:       " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 022 * a]
+    if {$i != ""} {
+        insertWithTags $w "ISSN:       " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 030 * a]
+    if {$i != ""} {
+        insertWithTags $w "CODEN:      " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 015 * a]
+    if {$i != ""} {
+        insertWithTags $w "Ctl number: " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+    set i [z39.$sno getMarc $no field 010 * a]
+    if {$i != ""} {
+        insertWithTags $w "LC number:  " marc-tag
+        foreach x $i {
+            insertWithTags $w $x marc-data
+        }
+        $w insert end "\n"
+    }
+}
diff --git a/formats/raw.tcl b/formats/raw.tcl
new file mode 100644 (file)
index 0000000..ec0e710
--- /dev/null
@@ -0,0 +1,27 @@
+
+proc display-raw {sno no w} {
+    $w delete 0.0 end
+    set r [z39.$sno getMarc $no list * * *]
+    foreach line $r {
+        set tag [lindex $line 0]
+        set indicator [lindex $line 1]
+        set fields [lindex $line 2]
+        
+        if {$indicator != ""} {
+            insertWithTags $w "$tag $indicator" marc-tag
+        } else {
+            insertWithTags $w "$tag    " marc-tag
+        }
+        foreach field $fields {
+            set id [lindex $field 0]
+            set data [lindex $field 1]
+            if {$id != ""} {
+                insertWithTags $w " $id " marc-id
+            }
+            set start [$w index insert]
+            insertWithTags $w $data {}
+        }
+        $w insert end "\n"
+    }
+}
+