local
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 6 Sep 2007 19:12:31 +0000 (19:12 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 6 Sep 2007 19:12:31 +0000 (19:12 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@890 07558da8-63fa-0310-ba24-9fe276d99e06

conf/mjesec.yml
conf/normalize/ff-peri.pl
conf/normalize/json.pl

index 83c5407..676be36 100644 (file)
@@ -75,7 +75,6 @@ webpac:
     isis: 'WebPAC::Input::ISIS'
     marc: 'WebPAC::Input::MARC'
     excel: 'WebPAC::Input::Excel'
-    dbf: 'WebPAC::Input::DBF'
   # define delimiters for validation
   delimiters:
     - ' ; '
@@ -85,7 +84,7 @@ webpac:
 editor:
   # open this record when opening editor
   # (it will also be used to deduce default database and input)
-  default_record_uri: 'ps/libri/1'
+  default_record_uri: 'ps/peri/1'
 
 # directives after this are used when indexing using core WebPAC modules
 
@@ -190,332 +189,264 @@ databases:
 #      - to: emerald
 #        credit: 10000
 
-
-  ffan:
-    name: 'Anglistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A105-1/ISIS/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/ff-libri.pl'
-
-  ffar:
-    name: 'Arheologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A018-2/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffet:
-    name: 'Etnologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A203-3/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  fffi:
-    name: 'Filozofija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A102-1B/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  fffo:
-    name: 'Fonetika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/novi-40162/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        #modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffge:
-    name: 'Germanistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/novi-40166/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffhu:
-    name: 'Hungarologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/B001-2/winisis/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffiz:
-    name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A129-2/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffkf:
-    name: 'Klasièna filologija, Filozofski fakultet u Zagrebu'
-    input:
-      name: libri
-      type: isis
-      path: '/backup/isis_backup/A209-2/isisdata/latest/LIBRI/LIBRI'
-      encoding: 'cp852'
-      #limit: 10
-      modify_file: 'conf/modify/common.pl'
-      normalize:
-        path: 'conf/normalize/minimal.pl'
-
-  ffkk:
-    name: 'Komparativna knji¾evnost, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A206-4/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  fflo:
-    name: 'Lingvistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A108-1/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/ff-libri.pl'
-
-  fftu:
-    name: 'Turkologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/B025-2/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffpe:
-    name: 'Pedagogija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/novi-40163/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
+#   ffan:
+#     name: 'Anglistika, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A105-1/ISIS/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+#   ffar:
+#     name: 'Arheologija, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A018-2/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffet:
+#     name: 'Etnologija, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A203-3/ISISDATA/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+# #  fffi:
+# #    name: 'Filozofija, Filozofski fakultet u Zagrebu'
+# #    input:
+# #      - name: peri
+# #        type: isis
+# #        path: '/backup/isis_backup/A102-1B/ISISDATA/20070605/PERI/PERI'
+# #        encoding: 'cp852'
+# #        #limit: 10
+# #        #modify_file: 'conf/modify/common.pl'
+# #        normalize:
+# #          path: 'conf/normalize/ff-peri.pl'
+# 
+#   fffo:
+#     name: 'Fonetika, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/novi-40162/ISISDATA/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffge:
+#     name: 'Germanistika, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/novi-40166/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffhu:
+#     name: 'Hungarologija, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/B001-2/winisis/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffiz:
+#     name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A129-2/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffkk:
+#     name: 'Komparativna knji¾evnost, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A206-4/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   fflo:
+#     name: 'Lingvistika, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A108-1/ISISDATA/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffpe:
+#     name: 'Pedagogija, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/novi-40163/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
 
   ffpo:
     name: 'Povijest, Filozofski fakultet u Zagrebu'
     input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A-201-1/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffpu:
-    name: 'Povijest umjetnosti, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/C124-3/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffps:
-    # all variables here will be available as config variables in template
-    name: 'Psihologija, Filozofski fakultet u Zagrebu'
-    code: 'ps'
-    url: 'http://www.knjiznice.ffzg.hr/psihologija'
-
-    # define input source
-    input:
-      # this will create unique name with name of database and mfn
-      - name: libri
-        # isis
-        type: isis
-
-        # full path to database
-        path: '/backup/isis_backup/sunce2/isisdata/latest/LIBRI/'
-        # path: '/data/isis_data/PS/LIBRI/'
-
-        # encoding of character set in isis data
-        encoding: 'cp852'
-
-        # lookup
-        # lookup: 'conf/lookup/isis_ffzg.yml'
-
-        # limit number of records to read from database
-        #limit: 10
-
-        modify_file: 'conf/modify/common.pl'
-        
-        # define normalisation for that source
-        normalize:
-          # which tag to use in normalize xml for data?
-          # tag: 'isis'
-          # path to normalization xml
-          path: 'conf/normalize/ff-libri.pl'
-
-
-  ffro:
-    name: 'Romanistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A224-6/isisdata/20070605/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffsk:
-    name: 'Skandinavistika, Filozofski fakultet u Zagrebu'
-    input:
-      name: libri
-      type: isis
-      path: '/backup/isis_backup/B009-1/ISISDATA/latest/LIBRI/LIBRI'
-      encoding: 'cp852'
-      #limit: 10
-      modify_file: 'conf/modify/common.pl'
-      normalize:
-        path: 'conf/normalize/minimal.pl'
-
-  ffsf:
-    name: 'Slavenska filologija, Filozofski fakulteti u Zagrebu'
-    input:
-      - name: naklb
-        type: isis
-        path: '/backup/isis_backup/A125-3/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        modify_file: 'conf/modify/ff-nakladnicka.pl'
-        normalize:
-          path: 'conf/normalize/ff-nakladnicka.pl'
-      - name: librib
-        type: isis
-        path: '/backup/isis_backup/A125-3/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/ff-libri.pl'
-      - name: librim
-        type: isis
-        path: '/backup/isis_backup/A121-1/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffso:
-    name: 'Sociologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
+      - name: peri
         type: isis
-        path: '/backup/isis_backup/A002-3/isisdata/latest/LIBRI/LIBRI'
+        path: '/backup/isis_backup/A-201-1/isisdata/latest/PERI/PERI'
         encoding: 'cp852'
-        #limit: 10
         modify_file: 'conf/modify/common.pl'
         normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffta:
-    name: 'Talijanistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A225-2/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffsr:
-    name: 'Sredi¹nja èitaonica, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A112-1/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-  ffmic:
-    name: 'Meðunarodni istra¾ivaèki centar za kasnu antiku i srednji vijek'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/C107-9/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        #modify_file: 'conf/modify/common.pl'
-        normalize:
-          path: 'conf/normalize/minimal.pl'
-
-
-  exhibit:
-    name: 'SMILE Exhibit based ouptput for WebPAC'
-    input:
-      name: 'FFZG - Psihologija'
-      type: marc
-      path: 'out/marc/ffsf-librim.marc'
-      encoding: 'cp852'
-      #limit: 100
-      normalize:
-        path: 'conf/normalize/json.pl'
-    output:
-      module: 'JSON'
-      path: 'out/exhibit/ps.js'
-
-  
+          path: 'conf/normalize/ff-peri.pl'
+
+#   ffpu:
+#     name: 'Povijest umjetnosti, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/C124-3/ISISDATA/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffps:
+#     name: 'Psihologija, Filozofski fakultet u Zagrebu'
+#     code: 'ps'
+#     url: 'http://www.knjiznice.ffzg.hr/psihologija'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/sunce2/isisdata/latest/PERI/'
+#         encoding: 'cp852'
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+# 
+#   ffro:
+#     name: 'Romanistika, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A224-6/isisdata/20070605/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffsf:
+#     name: 'Slavenska filologija, Filozofski fakulteti u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A125-2/ISISDATA/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffso:
+#     name: 'Sociologija, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A002-3/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffta:
+#     name: 'Talijanistika, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/A225-2/isisdata/latest/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+#   
+#   fftu:
+#     name: 'Turkologija, Filozofski fakultet u Zagrebu'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/B025-2/ISISDATA/20070711/PERI/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   ffmic:
+#     name: 'Meðunarodni istra¾ivaèki centar za kasnu antiku i srednji vijek'
+#     input:
+#       - name: peri
+#         type: isis
+#         path: '/backup/isis_backup/C107-9/ISISDATA/latest/Peri/PERI'
+#         encoding: 'cp852'
+#         #limit: 10
+#         modify_file: 'conf/modify/common.pl'
+#         normalize:
+#           path: 'conf/normalize/ff-peri.pl'
+# 
+#   nsk:
+#     name: 'Nacionalna i sveucilisna knjiznica'
+#     input:
+#       name: bbaza
+#       type: marc
+#       path: '/home/mglavica/NSK/data/BBaza.ISO'
+#       encoding: 'ISO-8859-2'
+#       normalize:
+#         path: 'conf/normalize/minimal.pl'
+#   
+#   exhibit:
+#     name: 'SMILE Exhibit based ouptput for WebPAC'
+#     input:
+#       name: 'Periodika'
+#       type: marc
+#       path: 'out/marc/ffpo-peri.marc'
+#       encoding: 'UTF-8'
+#       #limit: 100
+#       normalize:
+#         path: 'conf/normalize/json.pl'
+#     output:
+#       module: 'JSON'
+#       path: 'out/exhibit/po.js'
index da6f110..d68ec41 100644 (file)
@@ -25,33 +25,45 @@ if ( rec('225','a') ) {
 marc_fixed('007',00,'ta');
 
 
-## 008
-marc_fixed('008','00', '070707');
-marc_fixed('008','06', '|');   # Type of date/Publication status
-marc_fixed('008','07', '|');   # Date 1
-marc_fixed('008','08', '|');
-marc_fixed('008','09', '|');
-marc_fixed('008','10', '|');
-marc_fixed('008','11', '|');   # Date 2
-marc_fixed('008','12', '|');
-marc_fixed('008','13', '|');
-marc_fixed('008','14', '|');
-marc_fixed('008','15',         # Place of publication, production, or execution
-       lookup(
-               sub { rec('102','a') },
-               'nsk','bbaza',
-               sub { rec('011','a') },
-               sub { rec('11') },
-       ),
-);
-marc_fixed('008','18', '');
-marc_fixed('008','35',                 # Language
-       rec('101') 
-);
-marc_fixed('008','39','|');    # Cataloging source
+## 008 - All materials
+marc_fixed('008','00', '070707');      # Date entered on file
+marc_fixed('008','06', 's');           # Type of date/Publication status
+if ( rec('11') ) {
+       if ( my $lookup = lookup(
+                       sub { rec('210','d') },
+                       'nsk','bbaza',
+                       sub { first( rec('011','a') ) },
+                       sub { rec('11') },
+               )
+       ) {
+               marc_fixed('008','07', $lookup);
+       } else {
+               marc_fixed('008','07',
+                       rec('210','d')
+               );
+       }
+}                                      # Date 1
+marc_fixed('008','11', ' ');           # Date 2
+marc_fixed('008','15', 
+       lc ( rec('102') ) 
+);                             # Place of publication, production, or execution
+#marc_fixed('008','35',        
+#      rec('101') 
+#);                            # Language
+marc_fixed('008','38', '|');   # Modified record
+marc_fixed('008','39','d');    # Cataloging source
+
+
+## 008 - Continuing resources
+marc_fixed('008','18', '|');   # Frequency
+marc_fixed('008','19', '|');   # Regularity
+marc_fixed('008','21', 'p');   # Type of continuing resource
+marc_fixed('008','29', '|');   # Conference publication
+marc_fixed('008','33', '|');   # Original alphabet or script of title
+marc_fixed('008','34', '|');   # Entry convention
 
-## 022
 
+## 022
 if ( ! rec('225','a') ) {
        marc('022','a',
                rec('11')
@@ -68,14 +80,6 @@ marc('035','6',
        )
 );
 
-# u marc 035a treba dodati System Number - 
-# NSK zapisuje Voyagerov ID (001) - kako ???
-
-# u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '
-
-
-# u polje 040a mo¾da jo¹ dodati prefiks HR
-# NSK ima HR NSB (mo¾da u novijim zapisima ima NSK?)
 
 marc('040','a',
        'HR FFZG'
@@ -89,59 +93,47 @@ marc('040','e',
        'HR PPIAK'
 );
 
-# if (rec('300') && first(rec('300')) =~ m/Prijevod/) {
-#      marc_indicators('041', 1, ' ');
-# } else {
-#      marc_indicators('041', 0, ' ');
-# }
-
-## naci primjer u NSK
+marc_indicators('041', 0, ' ');
 
 marc_repeatable_subfield('041','a',
        rec('101')
 );
 
 
-if (   ( rec('200','a') =~ m/^Die /) || 
-       ( rec('200','a') =~ m/^Das /) || 
-       ( rec('200','a') =~ m/^The /) ) {
-               marc_indicators('245', 0, 4);
-} else {
-       marc_indicators('245', 0, 0);
-}
-
 #_debug(3);
 
-marc('044','a',
-       lookup(
-               sub { rec('102','a') },
-               'nsk','bbaza',
-               sub { rec('011','a') },
-               sub { rec('11') },
-       ),
-);
+## 044 - zemlja izdavanja
+
+if ( rec('11') ) {
+       marc('044','a',
+               lookup(
+                       sub { rec('102','a') },
+                       'nsk','bbaza',
+                       sub { first( rec('011','a') ) },
+                       sub { rec('11') },
+               ),
+       );
+}
 
 marc('080','a',
        rec('675','a')
 );
 
-marc_indicators('100', 1, ' ');
-marc('100','a',
-       join_with(', ',
-               rec('700', 'a'),
-               rec('700', 'b')
-       )
-);
-
-marc_indicators('110', 2, ' ');
-marc('110','a',
-       rec('710','a')
-);
+marc_indicators('210', '1',' ');
 
-marc('110','c',
-       rec('710','c')
+if ( rec('11') ) {
+marc('210','a',
+       lookup(
+               sub { rec('531','a') },
+               'nsk','bbaza',
+               sub { rec('011','a') },
+               sub { rec('11') },
+       ) 
 );
+}
 
+marc_indicators('222',' ','0');                # drugi indikator prema èlanu
+if ( rec('11') ) {
 marc('222','a',
        lookup(
                sub { rec('530','a') },
@@ -150,9 +142,20 @@ marc('222','a',
                sub { rec('11') },
        ) 
 );
+}
  
 ### 245 indikatori
 
+if (   ( rec('200','a') =~ m/^Die /) || 
+       ( rec('200','a') =~ m/^Das /) || 
+       ( rec('200','a') =~ m/^The /) ) {
+               marc_indicators('245', 0, 4);
+} else {
+       marc_indicators('245', 0, 0);
+}
+
+
+## 245
 marc_compose('245',
        'a', suffix(
                ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' / ' :  
@@ -189,40 +192,76 @@ marc_compose('245',
 );
 
 ## 246
+if (   ( rec('200','a') =~ m/^Die /) || 
+       ( rec('200','a') =~ m/^Das /) || 
+       ( rec('200','a') =~ m/^The /) ) {
+               marc_indicators('246', 0, 4);
+} else {
+       marc_indicators('246', 0, 0);
+}
 
-marc_indicators('246', 1, 3);
 
-marc('246','a',
-       rec('532')
-);
+if ( rec('532') ) {
+       marc('246','a',
+               rec('532')
+       );
+} 
+
+#else {
+#      marc('246','a',
+#              lookup(
+#                      sub { rec('532','a') },
+#                      'nsk','bbaza',
+#                      sub { rec('011','a') },
+#                      sub { rec('11') },
+#              )
+#      );
+#}
 
 #_debug(0);
 
-marc('250','a',
-       suffix(
-               rec('205','f') ? ' / ' :
-                                ' '.
-                       rec('205','a')
-       )
-);
 
-marc('250','b',
-       rec('205','f')
-);
-
-# ponovljiva potpolja u originalnom redosljedu
-# 
-marc_original_order('260', '210');
+## 260 - izdavanje
+
+# if ( rec('11') ) {
+#      marc_repeatable_subfield('260','a',
+#              lookup(
+#                      sub { rec('210','a') },
+#                      'nsk','bbaza',
+#                      sub { rec('011','a') },
+#                      sub { rec('11') },
+#              ) 
+#      );
+#      marc_repeatable_subfield('260','b',
+#              lookup(
+#                      sub { rec('210','c') },
+#                      'nsk','bbaza',
+#                      sub { rec('011','a') },
+#                      sub { rec('11') },
+#              ) 
+#      );
+#      marc('260','c',
+#              lookup(
+#                      sub { rec('210','d') },
+#                      'nsk','bbaza',
+#                      sub { rec('011','a') },
+#                      sub { rec('11') },
+#              ) 
+#      );
+# } else {
+#      marc_original_order('260', '210');
+# }
 
+marc_original_order('260','210');
 
 # provjeriti interpunkcije !!
 # u NSK nesto ne stima
 
 marc('300','a',
        suffix(
-               rec('215','c')  ?  ' : ' :
-               rec('215','d')  ?  ' ; ' :
-               rec('215','e')  ?  ' + ' :
+               ( rec('215','a') && rec('215','c') )    ?  ' : ' :
+               ( rec('215','a') && rec('215','d') )    ?  ' ; ' :
+               ( rec('215','a') && rec('215','e') )    ?  ' + ' :
                                   ' ',
                        rec('215','a')
        )
@@ -249,41 +288,49 @@ marc('300','e',
        rec('215','e')
 );
 
+## 310 - current stated publication frequency
 marc('310','a',
-       lookup(
-               sub { rec('326','a') },
-               'nsk','bbaza',
-               sub { rec('011','a') },
-               sub { rec('11') },
-       ) 
-);
-marc('321','a',
        rec('326')
 );
 
+## 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310
+# marc('321','a',
+#      ovo bi trebalo procitati iz NSK konvertiranih podataka
+#);
+
 marc_indicators('362', 0, ' ');
 
-marc('362','a',
-       lookup(
-               sub { rec('207','a') },
-               'nsk','bbaza',
-               sub { rec('011','a') },
-               sub { rec('11') },
-       ),
-);
 
+## 362
+if ( rec('207','a') ) {
+       marc('362','a',
+               rec('207','a'),
+       );
+} else {
+       if ( rec('11') ) {
+               marc('362','a',
+                       lookup(
+                               sub { rec('207','a') },
+                               'nsk','bbaza',
+                               sub { first( rec('011','a') ) },
+                               sub { rec('11') },
+                       ) 
+               );
+       }
+}
 
+## 5xx
 marc('500','a',
-       lookup(
-               sub { rec('300','a') },
-               'nsk','bbaza',
-               sub { rec('011','a') },
-               sub { rec('11') },
-       ) 
+       rec('300','a'),
 );
  
-marc('500','a',
+marc('534','a',
+       rec('324')
+);
+
+if ( rec('11') ) {
+marc('546','a',
        lookup(
                sub { rec('302','a') },
                'nsk','bbaza',
@@ -291,151 +338,60 @@ marc('500','a',
                sub { rec('11') },
        ) 
 );
-marc('504','a',
-       lookup(
-               sub { rec('320','a') },
+
+marc('550','a',
+       lookup(
+               sub { rec('314','a') },
                'nsk','bbaza',
                sub { rec('011','a') },
                sub { rec('11') },
        ) 
 );
 
-marc('562','a',
+marc('555','a',
        lookup(
-               sub { rec('316','a') },
+               sub { rec('320','a') },
                'nsk','bbaza',
                sub { rec('011','a') },
                sub { rec('11') },
        ) 
 );
-
-#marc('500','a',
-#      rec('300')
-#);
-#
-#marc('500','a',
-#      rec('314')
-#);
-#
-#marc('504','a',
-#      rec('320')
-#);
-
-## napomene uz konverziju polja 327 (sadrzaj):
-# NSK konvertira 327 (NP) u 501 (R)
-# u LOC konv. tablici stoji 327 (NP) u 505 (NR)
-# standard i validacije dopu¹taju 501 (R) i 505 (R)
-
-## FFPS 327 - sadrzaj
-if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
-       marc_indicators('505', '1', ' ');
-       marc('505','a',
-               regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
-                       rec('327')
-               )       
-);
-}
-
 
-## napomene uz konverziju polja 330:
-# NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
 
-
-# FFPS 330 (NP) - sa¾etak
-if ( config() =~ m/ffps/ ) { 
-       marc('520','a',
-               regex('s/[\\r\\n]+/. /g',
-                       rec('330')
-               )       
-       );
+# marc('562','a',
+#      lookup(
+#              sub { rec('316','a') },
+#              'nsk','bbaza',
+#              sub { rec('011','a') },
+#              sub { rec('11') },
+#      ) 
+# );
 }
-
-# FFTU 330 - ???
-if ( config() =~ m/fftu/ ) { 
-       marc('520','a',
-               rec('330')
-       );
-}
-
-
-# mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik
-
-
-### 534
-
-marc('534','a',
-       rec('324')
-);
-
-
-marc_indicators('655', ' ', 4);
-marc('655','a',
-       rec('608')
-);
-
 marc_indicators('653', 0, ' ');
 marc('653','a',
        rec('610')
 );
 
-# 675 podpolja c, d ... - ¹to s njima ???
-
-# 084 je other classification (R)
-# NSK ga koristi za struènu oznaku NSK iz polja 681
-# NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom
-#
-
+# marc_indicators('655', ' ', 4);
+# marc('655','a',
+#      lookup(
+#              sub { rec('608','a') },
+#              'nsk','bbaza',
+#              sub { rec('011','a') },
+#              sub { rec('11') },
+#      ) 
+# );
 
 
 #_debug(2);
 
 marc_indicators('700', 1, ' ');
 
-if ( rec('701') ) { 
-marc('700','4', 
-       'aut'
-); 
-}
-
-marc('700','a',
-       join_with(', ',
-               rec('701', 'a'),
-               rec('701', 'b')
-       )
-);
-
-marc('700','a',
-       join_with(', ',
-               rec('701', 'c'),
-               rec('701', 'd')
-       )
-);
-
-marc('700','a',
-       join_with(', ',
-               rec('701', 'e'),
-               rec('701', 'f')
-       )
-);
-
-marc('700','a',
-       join_with(', ',
-               rec('701', 'g'),
-               rec('701', 'h')
-       )
-);
-
-
 marc('700','a',
        rec('702','a'),
 );
 
-
-# ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
-
-
 marc('700','a',
        join_with(', ',
                rec('702','c'),
@@ -443,82 +399,40 @@ marc('700','a',
        )
 );
 
-marc('700','a',
-       join_with(', ',
-               rec('702','e'),
-               rec('702','f')
-       )
-);
-
-marc('700','a',
-       join_with(', ',
-               rec('702','g'),
-               rec('702','h')
-       )
-);
-
  
 #_debug(0);
 
-
-
-marc_indicators('740', 0, ' ');
-
-if ( ! rec('464') ) {
-marc('740','a',
-       rec('200','c')
-);
-
-marc('740','a',
-       rec('200','k')
+marc_indicators('710', '2', ' ');
+marc('710','a',
+       rec('710','a')
 );
 
-} else {
-marc('740','a',
-       rec('464','a')
-);
-};
 
 marc_indicators('770', 0, ' ');
 marc('770','t',
-       rec('430','a'),
+       rec('421','a'),
 );
 
-marc('770','x',
-       rec('430','b'),
+marc_indicators('772', 0, ' ');
+marc('772','t',
+       rec('422','a'),
 );
 
-if ( rec('225','a') ) {
-
-marc_indicators('773', 0, ' ');
-marc('773','g',
-       rec('207','a')
+marc_indicators('777', 0, ' ');
+marc('777','t',
+       rec('423','a'),
 );
 
-marc('773','t',
-       join_with(' : ',
-               rec('225','a'),
-               rec('225','e')
-       ),
+marc_indicators('780', 0, 0);
+marc('780','t',
+       rec('430','a'),
 );
 
-marc('773','w',
-       lookup(
-               sub { 
-                       join_with('', 
-                               uc( config() ),
-                               ' P',
-                               rec('000')
-                       ),
-               },
-               'ffsf','peri',
-               sub { rec('200','a') },
-               sub { rec('225','a') },
-       )
+marc_indicators('785', 0, 0);
+marc('785','t',
+       rec('440','a'),
 );
 
-}
-
 marc('852','j',
        join_with(' ',
                rec('990')
@@ -535,39 +449,38 @@ marc('992','a',
        )
 );
 
-
  
-marc('997','a',
-       sort(
-               lookup(
-                       sub { rec('001') },
-                       'nsk','bbaza',
-                       sub { rec('011','a') },
-                       sub { rec('11') },
-               )
-       )
-);
-
-marc('998','a',
-       sort(
-               lookup(
-                       sub { rec('001') },
-                       'nsk','bbaza',
-                       sub { first(rec('200','a')) . first(rec('200','e')) },
-                       sub { rec('200','a') . rec('200','e') },
-               )
-       )
-);
-
-marc('998','a',
-       sort(
-               lookup(
-                       sub { rec('001') },
-                       'nsk','bbaza',
-                       sub { first(rec('200','a')) },
-                       sub { rec('200','a') },
-               )
-       )
-);
+marc('997','a',
+#      sort(
+#              lookup(
+#                      sub { rec('001') },
+#                      'nsk','bbaza',
+#                      sub { rec('011','a') },
+#                      sub { rec('11') },
+#              )
+#      )
+);
+# 
+marc('998','a',
+#      sort(
+#              lookup(
+#                      sub { rec('001') },
+#                      'nsk','bbaza',
+#                      sub { first(rec('200','a')) . first(rec('200','e')) },
+#                      sub { rec('200','a') . rec('200','e') },
+#              )
+#      )
+);
+# 
+marc('998','a',
+#      sort(
+#              lookup(
+#                      sub { rec('001') },
+#                      'nsk','bbaza',
+#                      sub { first(rec('200','a')) },
+#                      sub { rec('200','a') },
+#              )
+#      )
+);
 
 }
index 666f8a4..3d756e2 100644 (file)
@@ -2,6 +2,10 @@ tag('label',
        rec('035','6')
 );
 
+tag('ISSN',
+       rec('022','a')
+);
+
 tag('Jezik',
        rec('041','a')
 );
@@ -33,7 +37,7 @@ tag('Naslov',
        )
 );
 
-tag('Nakladnièka cjalina',
+tag('Nakladnièka cjelina',
        rec('440','a')
 );
 
@@ -51,15 +55,16 @@ tag('Impresum',
        )
 );
 
-search('Mjesto izdavanja',
+
+tag('Mjesto izdavanja',
        rec('260','a')
 );
 
-search('Izdavaè',
+tag('Izdavac',
        rec('260','b')
 );
 
-search('Godina',
+tag('Godina',
        rec('260','c')
 );
 
@@ -87,4 +92,8 @@ tag('Signatura',
 
 tag('Inv.Br',
        rec('876','a')
-)
+);
+
+tag('Fond',
+       rec('992','a')
+);