# Fml scripts to display MARC records # $Id: default.fml,v 1.5 1995/05/18 12:03:08 adam Exp $ \func f0 rec { \foreach line {\rec} { \line \index 1 \ \line \index 2 \foreach field {\line \index 3} { \if {\field \index 1} { \ $\field \index 1\ } \field \index 2 } \n } } \func case tag indicator identifier \code max { \if {\match \tag {\line\index 1}} { \if {\match \indicator {\line\index 2}} { \foreach field {\line \index 3} { \if{\match \identifier \field\index 1} { \set info {\field \index 2} \if {{\strlen \info}\gt \max} { \set info {\strsub \info 0 50 ..} } \code } } } } } \func casx tag identifier \pre \mid \end { \set no {} \if {\match \tag {\line\index 1}} { \foreach field {\line \index 3} { \if {\match \identifier \field\index 1} { \set info {\field \index 2} \if {\no} { \mid \incr \no } \else { \set no 1 \pre } } } } \if {\no} { \end } } \func marc rec \code { \foreach line {\rec} {\code} } \func f2 record { \marc {\record} { \case 245 .. [a] { \info } 60 \case 260 .. c { - \info} 9 } \n } \func f1 record { \foreach line {\record} { \case 245 .. [ab] {\info\ } 400 \casx 260 [abc] {\n\ \ \info} {\ \info} {} \casx 300 [ab] {- \info} {\ \info} {} } \n \foreach line {\record} { \casx 700 a {\info} {\ ,\info} {\n} } \foreach line {\record} { \case 020 .. a {ISBN: \info\n} 50 \case 022 .. a {ISSN: \info\n} 50 \casx 050 [ab] {LC: \info} {\info} {\n} } }