1 # FML marc rutines - with passing of code and regular expressions
3 # $Id: marc4.fml,v 1.1 1995/03/02 08:06:11 adam Exp $
4 \func case tag indicator identifier \code max {
5 \if {\match \tag {\line\index 1}} {
6 \if {\match \indicator {\line\index 2}} {
7 \foreach field {\line \index 3} {
8 \if{\match \identifier \field\index 1} {
9 \set info {\field \index 2}
10 \if {{\strlen \info}\gt \max}
12 \set info {\strsub \info 0 50 ..}
20 \func casx tag identifier \pre \mid \end {
22 \if {\match \tag {\line\index 1}} {
23 \foreach field {\line \index 3} {
24 \if {\match \identifier \field\index 1} {
25 \set info {\field \index 2}
42 \func marc rec \code {
43 \foreach line {\rec} {\code}
48 \case 245 .. [a] { \info } 60
49 \case 260 .. c { - \info} 9
56 \case 245 .. [ab] {\info\ } 400
57 \casx 260 [abc] {\n\ \ \info} {\ \info} {}
58 \casx 300 [ab] {- \info} {\ \info} {}
62 \casx 700 a {\info} {\ ,\info} {\n}
65 \case 020 .. a {ISBN: \info\n} 50
66 \case 022 .. a {ISSN: \info\n} 50
67 \casx 050 [ab] {LC: \info} {\info} {\n}