Run latex
[egate.git] / kernel / default.fml
1 # Fml scripts to display MARC records
2 # $Id: default.fml,v 1.5 1995/05/18 12:03:08 adam Exp $
3 \func f0 rec {
4         \foreach line {\rec} {
5                 \line \index 1 \ 
6                 \line \index 2 
7                 \foreach field {\line \index 3} {
8                         \if {\field \index 1} {
9                                 \ $\field \index 1\ 
10                         }
11                         \field \index 2
12                 }
13                 \n
14         }
15 }
16
17 \func case tag indicator identifier \code max {
18         \if {\match \tag {\line\index 1}} {
19         \if {\match \indicator {\line\index 2}} {
20                 \foreach field {\line \index 3} {
21                         \if{\match \identifier \field\index 1} {
22                                 \set info {\field \index 2}
23                                 \if {{\strlen \info}\gt \max}
24                                 {
25                                         \set info {\strsub \info 0 50 ..}
26                                 }
27                                 \code
28                         }
29                 }
30         } }
31 }
32
33 \func casx tag identifier \pre \mid \end {
34         \set no {}
35         \if {\match \tag {\line\index 1}} {
36                 \foreach field {\line \index 3} {
37                         \if {\match \identifier \field\index 1} {
38                                 \set info {\field \index 2}
39                                 \if {\no} {
40                                         \mid
41                                         \incr \no
42                                 }
43                                 \else {
44                                         \set no 1
45                                         \pre
46                                 }
47                         }
48                 }
49         } 
50         \if {\no} {
51                 \end
52         }
53 }
54
55 \func marc rec \code {
56         \foreach line {\rec} {\code}
57 }
58
59 \func f2 record {
60         \marc {\record} {
61                 \case 245 .. [a] { \info } 60
62                 \case 260 .. c { - \info} 9
63         }
64         \n
65 }
66
67 \func f1 record {
68         \foreach line {\record} {
69                 \case 245 .. [ab] {\info\ } 400
70                 \casx 260 [abc] {\n\ \ \info} {\ \info} {}
71                 \casx 300 [ab] {- \info} {\ \info} {}
72         }
73         \n
74         \foreach line {\record} {
75                 \casx 700 a {\info} {\ ,\info} {\n}
76         }
77         \foreach line {\record} {
78                 \case 020 .. a {ISBN: \info\n} 50
79                 \case 022 .. a {ISSN: \info\n} 50
80                 \casx 050 [ab] {LC: \info} {\info} {\n}
81         }
82 }