From 3cd3a512d73be21dba69e8ed3c0ed98fd1aac815 Mon Sep 17 00:00:00 2001 From: Marijana Glavica Date: Tue, 17 Dec 2013 21:42:49 +0100 Subject: [PATCH] Koha HPM konverzija --- conf/hpm/.knjige.pl.swp | Bin 0 -> 40960 bytes conf/hpm/.modify.pl.swp | Bin 0 -> 12288 bytes conf/hpm/.validate-delimiters.swp | Bin 0 -> 12288 bytes conf/hpm/casopis2marc.pl | 316 ++++++++++ conf/hpm/config-casopisi.yml | 20 + conf/hpm/config-knjige.yml | 18 + conf/hpm/csv_ff-peri.pl | 134 +++++ conf/hpm/inventar2marc.pl | 3 + conf/hpm/knjige.pl | 953 ++++++++++++++++++++++++++++++ conf/hpm/minimal.pl | 3 + conf/hpm/modify.pl | 166 ++++++ conf/hpm/validate-delimiters | 166 ++++++ conf/hpm/validate-delimiters.new | 178 ++++++ conf/hpm/validation | 28 + 14 files changed, 1985 insertions(+) create mode 100644 conf/hpm/.knjige.pl.swp create mode 100644 conf/hpm/.modify.pl.swp create mode 100644 conf/hpm/.validate-delimiters.swp create mode 100644 conf/hpm/casopis2marc.pl create mode 100644 conf/hpm/config-casopisi.yml create mode 100644 conf/hpm/config-knjige.yml create mode 100644 conf/hpm/csv_ff-peri.pl create mode 100644 conf/hpm/inventar2marc.pl create mode 100644 conf/hpm/knjige.pl create mode 100644 conf/hpm/minimal.pl create mode 100644 conf/hpm/modify.pl create mode 100644 conf/hpm/validate-delimiters create mode 100644 conf/hpm/validate-delimiters.new create mode 100644 conf/hpm/validation diff --git a/conf/hpm/.knjige.pl.swp b/conf/hpm/.knjige.pl.swp new file mode 100644 index 0000000000000000000000000000000000000000..84edb9bf5e6d76583dfe22d3681e61b1220da6c7 GIT binary patch literal 40960 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 literal 0 HcmV?d00001 diff --git a/conf/hpm/.validate-delimiters.swp b/conf/hpm/.validate-delimiters.swp new file mode 100644 index 0000000000000000000000000000000000000000..688599f67680e629dfe44d07df50b40c5ad82a5c GIT binary patch literal 12288 zcmeI1Tc}i37{`~9+V)mnFoS~01WB}+z2|afjMS$>=t83Q)P^~8X6(c{dGwq{eF%z7 zs2&O=tOp@dA}R<{e5r(bFe)GH@?ud?NS7BW41CBgzwcXn?LB*D6r`tO9rzvh_pR@? z{%h?yM;$F~-+W(TBZZQciwst<&DLyhaS?o3^#>bj7?R8`AiSfztnfC7KD^~G~UIDMbRV(oLOlMtv zp(#gU>9&=(7M3pAcGV?(f>*#R;1%!+cm=!yUIDLwSHLUq-&SB|YL@w%EnEYy!>k1U z@Lyg5uYgy;E8rFI3U~#)0$u^HfLFjP;1%!+{7)2Uju~^7zw|$IEgRzh|K;BRe!t$B zU*KCf10TZ)I07%hK4`%f*a)}7BDk=~nD5{eoPZ$*^CNr)$KYi+09|Oo{jd>M!;LTpE(GiqPQ&}~4jh6fVHb?SR=67?xC!RL#p~z= zU&04)6kdd0@G2aFXWQK1saVo2y5jq zh@0`K5vv;UZ0eU?D3MSeXq-c2Anvsp?|MP$OX!$aHZ#?x>+-kLAtL zG>iulOE$9l%k+f(Xi3DV#EwPbqC!u47;kS0~as+uyX&lPFDz7ShWyO#-xG+3U>0n0|7DnX%GFi}*s z{kw%btyQi{k+`c%dWLZ)vBD8q>DVOQPus1?LYs*aTT8TUpy-A^wje@^mG;#X*@+Ay z^JX>b*0Q0Yv@=my4XRRLTuNZLbF)TG&(yAzwQWldMi;qfl88giq+BUz)LkHcgw-G! zLgG+KOSTY4WVJqRnz-zOhE@}Qf86>)KHK)A+(1Qj<-IbAotaT(>(oje(opSeUfGv* z<;HNXthgK{UR~(fR~DefduK0MxlP0aw@)q)*N8A)qId^|)J8A0?V`2xS(WWdsLSJ$ z$z`%d#K;v=HFvlGz599(3D+~BP~2r)Es%M#dNLI1rG8wu0$?dHLeJDLqJVZug2N z?v87&((0?rB=&}j^t_=mnSFOfx5T4!xwCQORosVQj~pdErR?}!C6|-*?QnNA%lV^< zOU!nzA0}4+ey7`p-5yq=f-NsLBjl4r6)C1?V7JNrkEKbrG~BPZVtBRe%I8WA36`Py zZa_M%4$u=YWDK{eOX;><;;??nXjWIZ%Yi_tn^TGpmz=G#*?W=9n+TbyVsD32(MggF zX`_4libuCI;7n4>Jq7bII<4mNjk}Y69|&WbzJb!|B`I0Wm%40`zJ+0uWX;kmZLinB z9H}lz%8=rHu3|x67cOt!Z!P;0W-I)F;uV(7%I4A=kD&|F-7RD%s6PslaCZn&&$HFHMy->WO^M3TkqdiCe+`Y%s=^A7ry`i literal 0 HcmV?d00001 diff --git a/conf/hpm/casopis2marc.pl b/conf/hpm/casopis2marc.pl new file mode 100644 index 0000000..553abbc --- /dev/null +++ b/conf/hpm/casopis2marc.pl @@ -0,0 +1,316 @@ +### LEADER + +## LDR 05 - n - new +marc_leader('05','n'); + +## LDR 06 - a - language material +marc_leader('06','a'); + +## LDR 07 - Bibliographic level +marc_leader('07','s'); + +## LDR 17 - Encoding level ; 7 - minimal level, u - unknown +marc_leader('17','u'); + +## LDR 18 - i - isbd +marc_leader('18','i'); + +## LDR 19 - Multipart resource record level ; # - Not specified or not applicable, a - Set, b - Part with independent title, c - Part with dependent title +#marc_leader('19','a'); + +### 005 +marc_fixed('005','00', rec('B')); + +### 008 - All materials + +if ( rec('A') =~ m/20(\d{6})/ ) { + marc_fixed('008','00', $1); # 00-05 - Date entered on file +} + +## za 008 06 treba i lookup u tablicu gdje postoji podatak o tome jel tekuci casopis ili nije? +## c - Continuing resource currently published +## d - Continuing resource ceased publication + +marc_fixed('008','06','c'); + +marc_fixed('008','15', # 15-17 - Place of publication, production, or execution + lc ( rec('Z') ) +); + +marc_fixed('008','35', + rec('Y') # 35-37 - Language +); + # 38 - Modified record + # 39 - Cataloging source + +### 008 - Continuing resources +marc_fixed('008','18', rec('N') ); # 18 - Frequency +marc_fixed('008','19', rec('O') ); # 19 - Regularity + # 20 - Undefined, ontains a blank (#) or fill character (|) + +# 008 21 +marc_fixed('008','21', 'p'); # 21 - Type of continuing resource + + # 22 - Form of original item - blank + # 23 - Form of item + # 24 - Nature of entire work + # 25-27 - Nature of contents + # 28 - Government publication + # 29 - Conference publication + # 30-32 - Undefined + # 33 - Original alphabet or script of title + # 34 - Entry convention + +### 022 +marc('022','a', + rec('P') +); + +marc('030','a', + rec('U') +); + +### 035$6 +# privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku + +marc('035','a', + join_with('', + '(HR-ZaDZI)P', + rec('C') + ) +); + +### 040 +# za sve je isti + +marc('040','a', + 'HR-ZaDZI' +); + +marc('040','b', + 'hrv' +); + +marc('040','e', + 'HR PPIAK' +); + +### 041 - indikatori + +#marc_indicators('041', 0, ' '); + +### 041 + +#marc_repeatable_subfield('041','a', +# rec('Y') +#); + + +#_debug(3); + +### 044 - zemlja izdavanja + +#marc('044','a', +# rec('Z') +#); + +### 080 + +marc('080','a', + rec('V') +); + +### 210 indikatori +# marc_indicators('210', '1',' '); + +### 210 - ABBREVIATED TITLE +marc_indicators('210','1',' '); +marc('210','a', + rec('T') +); + + + +### 222 indikatori +# drugi indikator prema èlanu +# potrebna naknadna kontrola + +marc_indicators('222',' ','0'); + +### 222 - Key title + +marc('222','a', + rec('Q') +); + +### 245 indikatori +# generiraju se prema èlanu, trebalo bi mo¾da i prema jeziku (jezika nema uvijek). +# potrebna naknadna kontrola + +marc_indicators('245', 0, 0); + +if ( ( rec('E') =~ m/^Die /) || + ( rec('E') =~ m/^Das /) || + ( rec('E') =~ m/^Der /) || + ( rec('E') =~ m/^Les /) || + ( rec('E') =~ m/^The /) ) { + marc_indicators('245', 0, 4); + +} + +if ( ( rec('E') =~ m/^Un /) || + ( rec('E') =~ m/^An /) || + ( rec('E') =~ m/^La /) || + ( rec('E') =~ m/^Le /) || + ( rec('E') =~ m/^Il /) ) { + marc_indicators('245', 0, 3); +} + +if ( ( rec('E') =~ m/^A /) || + ( rec('E') =~ m/^L'/) ) { + marc_indicators('245', 0, 2); +} + +### 245 + +my $naslov = '' ; +my $podnaslov = '' ; +my $odgovornost = '' ; + +if ( rec('E') =~ m/\$a(.*)\$e(.*)\$f(.*)/ ) { + $naslov = $1; + $podnaslov = $2; + $odgovornost = $3; +} elsif ( rec('E') =~ m/\$a(.*)\$e(.*)/ ) { + $naslov = $1; + $podnaslov = $2; +} elsif ( rec('E') =~ m/\$a(.*)\$f(.*)/ ) { + $naslov = $1; + $odgovornost = $2; +} elsif ( rec('E') =~ m/\$a(.*)/ ) { + $naslov = $1; +} +marc('245','a', $naslov); +marc('245','b', $podnaslov); +marc('245','c', $odgovornost); + + +### 246 inikatori + +### 246 + +#_debug(0); + + +## 260 - izdavanje + +my $mjesto = '' ; +my $izdavac = '' ; + +if ( rec('H') =~ m/\$a(.*)\$c(.*)/ ) { + $mjesto = $1 . ' :'; + $izdavac = $2 . ', '; +} +marc('260','a', $mjesto); +marc('260','b', $izdavac); +marc('260','c', + rec('G') +); + +## 300 +marc('300','a', ' sv. :'); +marc('300','c', + rec('K') +); + +## 310 + +marc('310','a', + rec('L') +); + +marc('500','a', + rec('AA') +); + +marc_indicators('780',' ','0'); +marc('780','t', + rec('R') +); + +marc_indicators('785',' ','0'); +marc('785','t', + rec('S') +); + +marc('942','c','C'); + +marc('952','a', + lookup( + sub { rec('K') }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); + +marc('952','b', + lookup( + sub { rec('K') }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); + +marc('952','d', + lookup( + sub { rec('I') }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); + +marc('952','h', + lookup( + sub { join_with('', + join_with(':', + rec('E'), + rec('F'), + ), + rec('D') + + ) }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); + +marc('952','r', + lookup( + sub { rec('M') }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); + +marc('952','t', + lookup( + sub { rec('H') }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); + +marc('952','y', + lookup( + sub { rec('P') }, + 'dziv','inventar', + sub { rec('A') }, + sub { rec('C') } + ) +); diff --git a/conf/hpm/config-casopisi.yml b/conf/hpm/config-casopisi.yml new file mode 100644 index 0000000..68fdb3f --- /dev/null +++ b/conf/hpm/config-casopisi.yml @@ -0,0 +1,20 @@ +databases: + dziv: + name: 'casopis' + input: + - name: inventar + module: 'WebPAC::Input::Excel' + path: '/data/DZIV/konverzija/casopisi/inventar.xls' + from: 1 + to: 2685 + normalize: + - path: 'conf/dziv/inventar2marc.pl' + skip: 0 + - name: casopis + module: 'WebPAC::Input::Excel' + path: '/data/DZIV/konverzija/casopisi/casopisi.xls' + from: 1 + to: 170 + normalize: + - path: 'conf/dziv/casopis2marc.pl' + skip: 0 diff --git a/conf/hpm/config-knjige.yml b/conf/hpm/config-knjige.yml new file mode 100644 index 0000000..36e1dfa --- /dev/null +++ b/conf/hpm/config-knjige.yml @@ -0,0 +1,18 @@ +webpac: + delimiters: + - ' ; ' + - ' : ' + - ' / ' + - ' = ' +databases: + hpm: + name: 'isis' + input: + - name: hpm + module: 'WebPAC::Input::ISIS' + path: '/data/HPM/UNIMAR' + normalize: + - path: 'conf/hpm/knjige.pl' +# - path: 'conf/dziv/minimal.pl' + modify_file: 'conf/hpm/modify.pl' + skip: 0 diff --git a/conf/hpm/csv_ff-peri.pl b/conf/hpm/csv_ff-peri.pl new file mode 100644 index 0000000..f9bb095 --- /dev/null +++ b/conf/hpm/csv_ff-peri.pl @@ -0,0 +1,134 @@ +sub csv { to('csv',@_) } + +if ( rec('200','a') ) { + +## 022 + +if ( ! rec('225','a') ) { + csv('A', + rec('11') + ); +} + +csv('B', + join_with('', + uc( config() ), + ' P', + rec('000') + ) +); + +csv('C', + rec('101') +); + + +csv('D', + rec('675','a') +); + +csv('E', + join_with(', ', + rec('700', 'a'), + rec('700', 'b') + ) +); + +csv('F', + rec('710','a') +); + +csv('G', + rec('710','c') +); + +csv('H', + lookup( + sub { rec('530','a') }, + 'nsk','bbaza', + sub { rec('011','a') }, + sub { rec('11') }, + ) +); + +csv('I', + rec('200','a') +); + +csv('J', + rec('200','d') +); + +csv('K', + rec('200','e') +); + + +csv('L', + rec('532') +); + + +csv('M', + join_with(' / ', + rec('205','a'), + rec('205','f') + ) +); + +csv('N', + rec('210','a') +); + +csv('O', + rec('210','c') +); + +csv('P', + rec('210','d') +); + +csv('R', + rec('215','d') +); + +csv('S', + rec('326') +); + +csv('T', + rec('207','a') +); + +csv('U', + rec('300') +); + +csv('V', + rec('610') +); + +csv('W', + join_with(', ', + rec('702','a'), + rec('702','b'), + ), +); + + +csv('Z', + join_with(' ', + rec('990') + ) +); + +csv('X', + rec('991','a') +); + +csv('Y', + join_with(' ; ', + rec('992') + ) +); +} diff --git a/conf/hpm/inventar2marc.pl b/conf/hpm/inventar2marc.pl new file mode 100644 index 0000000..20c9a1a --- /dev/null +++ b/conf/hpm/inventar2marc.pl @@ -0,0 +1,3 @@ +marc('245','a', + rec(I) +); diff --git a/conf/hpm/knjige.pl b/conf/hpm/knjige.pl new file mode 100644 index 0000000..a57cf66 --- /dev/null +++ b/conf/hpm/knjige.pl @@ -0,0 +1,953 @@ +# Ova datoteka sadrzi pravila za generiranje MARC21 ISO 2709 izlazne +# datoteke. Ulazni format je CDS/ISIS izvorni format, sa zapisima u +# UNIMARC formatu, koji sadr¿i visestruka odstupanja od standarda. + +## konvertira se ako postoji polje 200^a +if ( rec('200','a') ) { + +### LEADER + +## LDR 05 - n - new +marc_leader('05','n'); + +## LDR 06 - a - language material +marc_leader('06','a'); + +## LDR 07 - m - Monograph/item +marc_leader('07','m'); + +## LDR 17 - Encoding level ; 7 - minimal level, u - unknown +marc_leader('17','u'); + +## LDR 18 - i - isbd +marc_leader('18','i'); + +## LDR 19 - Multipart resource record level ; # - Not specified or not applicable, a - Set, b - Part with independent title, c - Part with dependent title + +### 003 +marc_fixed('003','00','HR-ZaHPM'); + +### 008 - All materials +## dodati sve moguce slucajeve za datum, popuniti ono sto nedostaje + +if ( rec('100') ) { + marc_fixed('008','00', + regex('s/^\d\d//', + rec('100') + ), + ); + marc_fixed('008','02', + regex('s/^\d\d\d\d//', + rec('100') + ), + ); +} else { + marc_fixed('008','00', + '000000' + ); +} + + +## 008 06 - Type of date/Publication status + +marc_fixed('008','06', + 's' +); + +## 008 07-10 - Date 1 +## 008 11-14 - Date 2 +## 210d kroz modify postaje 210c + +if ( rec('210','c') ) { + my $d1 = ''; + my $d2 = ' '; + if ( rec('210','c') =~ m/(\d{4})-/ ) { + marc_fixed('008','06','m'); + if ( rec('210','c') =~ m/(\d{4})-/ ) { + $d1 = $1; + $d2 = '9999'; + } + if ( rec('210','c') =~ m/-(\d{4})/ ) { + $d2 = $1; + } + } else { + marc_fixed('008','06','s'); + if ( rec('210','c') =~ m/(\d{4})/ ) { + $d1 = $1; + } + if ( rec('210','c') =~ m/(\d{2})(--|__)/ ) { + $d1 = $1.'uu'; + } + if ( rec('210','c') =~ m/(\d{3})(-|_)/ ) { + $d1 = $1.'u'; + } + } + + marc_fixed('008','07',$d1); # 07-10 - Date 1 + marc_fixed('008','11',$d2); # 07-10 - Date 1 + +} else { + marc_fixed('008','06','n'); # 06 - n = unknown date + marc_fixed('008','07','uuuu'); + marc_fixed('008','11',' '); # 07-10 - Date 1 +} + + +## 008 15-17 - Place of publication, production, or execution - ako nema 102, popunjava se s | +marc_fixed('008','15', + rec('102') +); + +## 008 35-37 - Language +if ( frec('101','a') =~ m/(\w\w\w)/ ) { + marc_fixed('008','35', $1 ); +} + +## 008 38 - Modified record +marc_fixed('008','38','|'); + +## 008 39 - Cataloging source - d (other) +marc_fixed('008','39','d'); + +### 008 - Books +## 008 18-21 - Illustrations +if ( rec('215','c') && rec('215','c') =~ m/ilustr/ ) { + marc_fixed('008','18','a') +} + +## 008 22 - Target audience +marc_fixed('008','22','|'); + +## 008 23 - Form of item +marc_fixed('008','23','|'); + +## 008 24-27 - Nature of contents +marc_fixed('008','24','||||'); + +## 008 28 - Government publication +marc_fixed('008','28','|'); + +## 008 29 - Conference publication +marc_fixed('008','29','|'); + +## 008 30 - Festschrift +marc_fixed('008','30','|'); + +## 008 31 - Index +marc_fixed('008','31','|'); + +## 008 32 - Undefined +## 008 33 - Literary form +marc_fixed('008','33','|'); + +## 008 34 - Biography +marc_fixed('008','34','|'); + +### 020 +## postoji modify za polje 10 -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (pr. u sfb) +#if ( frec('10') ne ( frec('290') ) ) { + if ( rec('10','a') !~ /pogre/ ) { + marc('020','a', + # isbn_13( + regex('s/\s\s/ /g', + # regex('s/\(\d\)\(/$1 \(//g', + rec('10','a') + ) + # ) + ); + } + if ( rec('10','a') =~ /pogre/ ) { + marc('020','z', + regex('s/\s\s/ /g', + rec('10','a') + ) + ); + } + marc('020','z', + rec('10','z') + ); +#} + +### 035 +## marc 035a - System Number +## polje mo¾e sadr¾avati slova i razmake +## moguæ problem u pretra¾ivanju ako ima zagrade, kako bi trebalo po standardu + +marc('035','a', +join_with('', + # config('input normalize path'), + # config('name'), + '(HR-ZaHPM)', + # config(), + # config('input name'), + # id(), + # rec('994','a'), + rec('000') + ) +); + +### 040 +## za sve je isti + +marc('040','a', + 'HR-ZaHPM' +); +marc('040','b', + 'hrv' +); +marc('040','c', + 'HR-ZaHPM' +); +marc('040','e', + 'ppiak' +); + +### 041 - indikatori +## pretpostavke o indikatorima +## 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1 +## (Da li je napomena uvijek pisana?) +## 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici. +## 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod +## (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake) +## pr. 821.111-2=163.42 je prijevod engleske drame na HR. +## to ima samo za knji¾evna djela, eseje.... +## ovo treba kasnije ispravljati + +#if ( rec('675') =~ m/\d=\d/ ) ? + +### 041 +## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a) +## koristi se kad ima vi¹e od jednog jezika, ili kad se radi o prijevodu +## nadopuniti + + +if ( ( count( rec('101','a') ) > 1 ) || ( rec('101','b') ) || ( rec('101','h') ) ) { + marc_original_order('041','101'); + if ( ( grep( m/prijevod/i, rec('300') ) ) || ( rec('101','h') ) ) { + marc_indicators('041', 1, ' '); + } else { + marc_indicators('041', ' ', ' '); + } +} + + +### 044 +## koristi se kad ima vise zemalja izdavanja + +### 080 - UDK + +marc('080','a', + rec('675') +); + +### 100 +## I1 = 0 ako je pseudonim (ima 700a, nema 700b) + +if ( rec('700','a') && ! rec('700','b') ) { + marc_indicators('100', 0, ' '); +} else { + marc_indicators('100', 1, ' '); +} + +marc('100','a', + join_with(', ', + rec('700','a'), + rec('700','b') + ) +); + +### formalna odrednica - iz 503 u 110, i1=0, i2=1 + +# nadopuniti nakon konverzije + + +### 111 i 110 +## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja + +if ( ! rec('700') ) { + +if ( rec('710','d') || rec('710','e') || rec('710','f') ) { + + marc_indicators('111', 2, ' '); + + if ( rec('710','d') ) { + marc_compose('111', + 'a', suffix( + ( rec('710','d') || rec('710','f') || rec('710','e') ) ? '' : + '.', + rec('710','a'), + ), + 'n', surround( '(', ' :', + rec('710','d'), + ), + 'd', suffix( + ( ! rec('710','d') ) ? ')' : + ( ! rec('710','e') ) ? ')' : + ' :', + rec('710','f'), + ), + 'c', suffix(')', + rec('710','e'), + ), + ); + } else { + marc_compose('111', + 'a', suffix( + ( rec('710','d') || rec('710','f') || rec('710','e') ) ? '' : + '.', + rec('710','a'), + ), + 'd', surround('(',' :', + rec('710','f'), + ), + 'c', suffix(')', + rec('710','e'), + ), + ); + } +} else { + marc_indicators('110', 2, ' '); + marc('110','a', + rec('710','a') + ); + marc('110','b', + rec('710','b') + ); + if ( rec('710','c') ) { + marc('110','c', + surround('(', ')', rec('710','c')) + ); + } +} + +} + +### 245 indikatori +## i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710 +## i2 = pretpostavlja se na temelju clana na pocetku naslova i jezika + +my $titleind1; + +if ( rec('700') || rec('710') ) { + $titleind1 = 1; +} else { + $titleind1 = 0; +} + +marc_indicators('245', $titleind1, 0); + +if ( rec('200','a') =~ m/^Einen / ) { + marc_indicators('245', $titleind1, 6); +} +if ( rec('200','a') =~ m/^Eine / ) { + marc_indicators('245', $titleind1, 5); +} +if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|Los|The) / ) { + marc_indicators('245', $titleind1, 4); +} +if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Lo|Il) / ) { + marc_indicators('245', $titleind1, 3); +} +if ( ( rec('101') =~ m/eng/ ) && ( rec('200','a') =~ m/^A / ) ) { + marc_indicators('245', $titleind1, 2); +} +if ( rec('200','a') =~ m/^L / ) { + marc_indicators('245', $titleind1, 2); +} +if ( rec('200','a') =~ m/^L'/ ) { + marc_indicators('245', $titleind1, 2); +} + + +### 245 +## postoji modify +## da li treba makivati razmake u inicijalima? + +#_debug(3); + +marc_compose('245', + 'a', suffix( + ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' : + ( rec('200','d') ) ? ' =' : + ( rec('200','e') ) ? ' :' : + ( rec('200','k') ) ? ' ;' : + '.', + rec('200','a'), + ), + 'b', suffix( + ( rec('200','d') && rec('200','f') ) ? ' /' : + ( rec('200','d') && rec('200','c') ) ? '.' : + '', + rec('200','d'), + ), + 'b', suffix( + ( rec('200','e') && rec('200','f') ) ? ' /' : + ( rec('200','e') && rec('200','c') ) ? '.' : + '', + rec('200','e'), + ), + 'b', suffix( + ( rec('200','k') && rec('200','f') ) ? ' /' : + ( rec('200','k') && rec('200','c') ) ? '.' : + '', + rec('200','k'), + ), + 'c', suffix( + ( rec('200','f') && rec('200','c') ) ? '. ' : + '', + join_with(' ; ', + regex('s/(\S\.)\s(\S\.\s)/$1$2/g', + rec('200','f'), + ), + regex('s/(\S\.)\s(\S\.\s)/$1$2/g', + rec('200','g') + ) + ) + ), + ## append to last subfield + '+', suffix('.', + join_with(' / ', + rec('200','c'), + rec('200','x') + ) + ), +); + +#_debug(0); + +### 250 +## zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti za svaku bazu +marc_compose('250', + 'a',suffix( + rec('205','f') ? ' / ' : + '', + rec('205','a') + ), + 'b', rec('205','f'), +); + +### 260 +## ponovljiva potpolja u originalnom redosljedu - priprema u modify +marc_original_order('260', '210'); + + +### 300 +## urediti interpunkcije za sve kombinacije +marc('300','a', + suffix( + rec('215','c') ? ' :' : + rec('215','d') ? ' ;' : + rec('215','e') ? ' +' : + '', + rec('215','a') + ) +); +marc('300','b', + suffix( + ( rec('215','c') && rec('215','d') ) ? ' ;' : + ( rec('215','c') && rec('215','e') ) ? ' +' : + '', + rec('215','c') + ) +); +marc('300','c', + suffix( + rec('215','e') ? ' +' : + '', + rec('215','d') + ) +); +marc('300','e', + rec('215','e') +); + + +if ( rec('225') ) { + marc_indicators('490', 0, ' '); + marc('490','a', + rec('225','a') + ); + marc('490','v', + rec('225','v') + ); +} + +# marc_indicators('830',' ','0'); +# i2 ovisi èlanu - popraviti +# +# marc('830','a', +# regex('s/(^.*)\s\/\s(.*)/$1 ($2)/g', +# rec('225','a') +# ) +# ); + + +### 830 - indikatori +## 2.ind. prema jeziku i clanu, uskladiti s 245 + +#marc_indicators('440', ' ', '0'); +# +#if ( rec('225','a') =~ m/^Einen / ) { +# marc_indicators('440', ' ', 6); +#} +# +#if ( rec('225','a') =~ m/^Eine / ) { +# marc_indicators('440', ' ', 5); +#} +# +#if ( rec('225','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) { +# marc_indicators('440', ' ', 4); +#} +# +#if ( rec('225','a') =~ m/^(Um|Un|An|La|Le|Il) / ) { +# marc_indicators('440', ' ', 3); +#} +# +#if ( rec('225','a') =~ m/^(A|L') / ) { +# marc_indicators('440', ' ', 2); +#} + +#if ( +# count( lookup( +# sub { 1 }, +# 'ffps','libri', +# sub { rec('225','a') } +# ) ) > 1 +#) { + + +#_debug(0); + + +### 500 + +marc('500','a', + rec('300') +); + +### 502 - bilje¹ka o disertacijama +## odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti? + +### 504 +marc('504','a', + rec('320') +); + + +### 653 - Index Term-Uncontrolled +## da li ponovljivo polje ili potpolje, pogledati u Koha tags +marc_indicators('653', ' ', ' '); +marc('653','a', + rec('610') +); + + +#_debug(2); + + +### 700 +## ako je u originalu ponovljivo polje treba bioti i konvertirano u ponovljivo !! +## ako ima samo podpolje a onda je pseudonim - nakon konverzije treba provjeriti + +if ( rec('700','c') ) { + if ( rec('700','c') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('700','c'), + '4', 'aut' + ); +} + +if ( rec('700','e') ) { + if ( rec('700','e') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('700','e'), + '4', 'aut' + ); +} + +if ( rec('700','g') ) { + if ( rec('700','g') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('700','g'), + '4', 'aut' + ); +} + +if ( rec('700','i') ) { + if ( rec('700','i') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('700','i'), + '4', 'aut' + ); +} + +if ( rec('700','k') ) { + if ( rec('700','k') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('700','k'), + '4', 'aut' + ); +} + + +if ( rec('701','a') ) { + marc_indicators('700', 1, ' '); + marc('700','a', + rec('701','a') + ); +} + +if ( rec('701','c') ) { + if ( rec('701','c') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('701','c'), + '4', 'aut' + ); +} + +if ( rec('701','e') ) { + if ( rec('701','e') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('701','e'), + '4', 'aut' + ); +} + +if ( rec('701','g') ) { + if ( rec('701','g') =~ m/, / ) { + marc_indicators('700', 1, ' '); + } else { + marc_indicators('700', 0, ' '); + } + marc_compose('700', + 'a', rec('701','g'), + '4', 'aut' + ); +} + +if ( rec('702','a') ) { + marc_indicators('700', 1, ' '); + marc('700','a', + rec('702','a'), + ); +} + +if ( rec('702','c') ) { + marc_indicators('700', 1, ' '); + marc('700','a', + rec('702','c'), + ); +} + +if ( rec('702','e') ) { + marc_indicators('700', 1, ' '); + marc('700', + 'a', rec('702','e'), + ); +} + + +#_debug(0); + +## eventualno nadopuniti 710 i 711 - provjetiti da li u podacima postoji u ISIS-u + +if ( rec('700') ) { + +if ( rec('710','d') || rec('710','e') || rec('710','f') ) { + +marc_indicators('711', 2, ' '); + +marc_compose('711', + 'a', suffix( + rec('710','b') ? '.' : + '', + rec('710','a'), + ), + 'e', rec('710','b'), + 'n', prefix( + rec('710','d') ? '(' : + '', + rec('710','d') + ), + 'd', prefix( + ( ! rec('710','d') ) ? '(' : + ( ! rec('710','e') ) ? '(' : + '; ', + rec('710','f'), + ), + 'c', prefix( + ( rec('710','e') && ( rec('710','d') || rec('710','f') ) ) ? '; ' : + ( ! rec('710','d') && ! rec('710','f') ) ? '(' : + '', + rec('710','e'), + ), + '+',')', +); +} else { + marc_indicators('710', 2, ' '); + marc('710','a', + rec('710','a') + ); + marc('710','b', + rec('710','b') + ); + if ( rec('710','c') ) { + marc('710','c', + surround('(', ')', rec('710','c')) + ); + } +} + +} + + +### 740 - Added Entry - Uncontrolled Related/Analytical Title +## raspraviti +## nadopuniti prvi indikator prema èlanovima +marc_indicators('740', '0', ' '); + +# if ( ! rec('464') ) { +# marc('740','a', +# rec('200','c') +# ); + +#marc('740','a', +# rec('200','k') +#); + +# } else { + +#marc('740','a', +# rec('464','a') +#); + +# }; + +### 760 w --------------------------------------------- +## generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim + +#if ( +# rec('225','a') # da li je nakladnièka cjelina? +#) { + +#my $series_key = +#join_with('', +# rec('225','a'), +# rec('210','a'), +# rec('210','b'), +#); +# +#my $series = get( $series_key ); +# +#if ($series) { +# warn "nije novi"; +#} else { +# +#$series = join_with('', +# uc( config() ), +# ' LS', +# rec('000') +#); +# +#set( $series_key => $series ); +# +#} # $series +#} # nakladnièka cjelina +# +#my $series_key = join_with('', +# rec('225','a'), +# rec('210','a'), +# rec('210','b'), +#); +# +#if ($series_key) { +# +# marc_indicators('760', 0, ' '); +# +# marc('760','t', +# rec('225','a') +# ); +# marc('760','w', +# get( $series_key ) +# ); +#} + +# ## testing +# +# my $dup_key = join_with('', +# rec('200','a'), +#); +# +#if ($dup_key) { +# marc('995','a', +# get( $dup_key ) +# ); +#} +# +# +# marc_indicators('776', 0, ' '); +# +# marc('776','a', +# rec('452','1') +# ); +# +# ------------------------------------------------------------------- + +### 774 - Constituent Item Entry - to bi trebali koristiti ali ne koristimo jer NSK to koristi za ne¹to drugo +### 787 - Nonspecific Relationship Entry + +#marc_indicators('787','0',' '); +# +#marc_compose('787', +# 'g', rec('230','v'), +# 't', rec('230','a'), +# 'b', rec('240','a'), +# 'd', rec('250','a'), +# 'd', rec('250','d'), +# 'h', rec('260','a'), +# 'k', rec('270','a'), +# 'n', join_with('. - ', +# rec('280'), +# ), +# 'x', join_with(', ', +# rec('290'), +# ) +#); +#marc_compose('787', +# 'g', rec('231','v'), +# 't', rec('231','a'), +# 'b', rec('241','a'), +# 'd', rec('251','a'), +# 'd', rec('251','d'), +# 'h', rec('261','a'), +# 'k', rec('271','a'), +# 'n', join_with('. - ', +# rec('281'), +# ), +# 'x', join_with(', ', +# rec('291'), +# ) +#); +#marc_compose('787', +# 'g', rec('232','v'), +# 't', rec('232','a'), +# 'b', rec('242','a'), +# 'd', rec('252','a'), +# 'd', rec('252','d'), +# 'h', rec('262','a'), +# 'k', rec('272','a'), +# 'n', join_with('. - ', +# rec('282'), +# ), +# 'x', join_with(', ', +# rec('292'), +# ) +#); +#marc_compose('787', +# 'g', rec('233','v'), +# 't', rec('233','a'), +# 'b', rec('243','a'), +# 'd', rec('253','a'), +# 'h', rec('263','a'), +# 'k', rec('273','a'), +# 'n', join_with('. - ', +# rec('283'), +# ), +# 'x', join_with(', ', +# rec('293'), +# ) +#); + + +### 852 - ne koristimo, koristimo 942 i 952 + +### 876 - item information - basic bibliographic unit (R) +## da li ovdje zapisati stare inventarne brojeve? +#marc('876','a', +# rec('991','t'), +#); + +### 886 - former marc +# inicijale treba prebaciti u neko lokalno polje, a ovo polje nam ne treba +# +# marc_indicators('886', 2, ' '); +# marc('886','2', +# 'ffmarc' +# ); +# marc('886','a', +# '994' +# ); +# marc('886','b', +# join_with(''. +# '##^a', +# join_with('', +# prefix('^a', +# rec('994','a'), +# ), +# prefix('^b', +# rec('994','b') +# ) +# ) +# ) +#); + +### KOHA items + +marc('942','b', + 'LIB' +); + +marc('942','c', + 'K' +); + +marc('952','a', + 'HPM' +); +marc('952','b', + 'HPM' +); +marc('952','e', + rec('991','a') +); +marc('952','t', + rec('991','b') +); +marc('952','o', + rec('990') +); + + + + + + +} # polje 200a diff --git a/conf/hpm/minimal.pl b/conf/hpm/minimal.pl new file mode 100644 index 0000000..4e4e92f --- /dev/null +++ b/conf/hpm/minimal.pl @@ -0,0 +1,3 @@ +marc('245','a', + join ( rec('200','a') ) +); diff --git a/conf/hpm/modify.pl b/conf/hpm/modify.pl new file mode 100644 index 0000000..878b0f5 --- /dev/null +++ b/conf/hpm/modify.pl @@ -0,0 +1,166 @@ +# this is pseudo hash/yaml format for regex mappings + + +10 + '*' + 'regex:^' => '^a' + '-' => '' + 'regex:\(' => ' (' + 'regex: ' => ' ' + +101 + '^a' + ' ' => '^a' + ' ' => '^a' + '^c' + ' ' => '^c' + '^d' + ' ' => '^d' + '*' + 'regex:\s*$' => '' + '^c' => '^h' + '^d' => '^b' + +102 + '*' + 'AT' => 'au' + 'AU' => 'au' + 'BG' => 'bu' + 'CA' => 'xxc' + 'Ch' => 'sz' + 'CH' => 'sz' + 'De' => 'gw' + 'DE' => 'gw' + 'FR' => 'fr' + 'GB' => 'xxk' + 'Hr' => 'hr' + 'HR' => 'hr' + 'HU' => 'hu' + 'IR' => 'ie' + 'KO' => 'ko' + 'MK' => 'xn' + 'NL' => 'ne' + 'RS' => 'rb' + 'RU' => 'ru' + 'SG' => 'xxu' + 'SI' => 'si' + 'SK' => 'so' + 'SL' => 'xv' + 'SR' => 'rb' + 'TA' => 'ch' + 'UK' => 'xxk' + 'us' => 'xxu' + 'US' => 'xxu' + +200 + '*' + '[A]' => 'A' + '[An]' => 'An' + '[The]' => 'The' + '[Der]' => 'Der' + '[Le]' => 'Le' + '<' => '' + '>' => '' + '^a' + ' = ' => '^d' + ' : ' => '^e' + ' ; ' => '^k' + '^g' => '^f' + '^d' + '^e' => ' : ' + '^k' => ' ; ' + '^e' => ' : ' + '^k' + '^d' => ' = ' + '^k' => ' ; ' + '^e' => ' : ' + '^e' + '^d' => ' = ' + '^k' => ' ; ' + '^g' => '^f' + '^e' => ' : ' + '^e' => ' : ' + '^f' + '^f' => ' ; ' + '^d' => ' = ' + '^e' => ' ; ' + '*' + '^g' => ' ; ' + +205 + '*' + 'regex:^' => '^a' + '^a' + ' / ' => '^f' + +210 + '*' + '^b' => '^a' + '^g' => '^c' + ' ; ' => '^a' + ' : ' => '^c' + '*' + '^c' => ' :^b' + '^d' => '^c' + '^a' + '^a' => ' ;^x' + '^c' => ',^c' + '^x' + '^a' => ' ;^x' + '^a' => ' ;^x' + '^a' => ' ;^x' + '^a' => ' ;^x' + '^b' + '^a' => ' ;^x' + '^a' => ' ;^x' + '^a' => ' ;^x' + '^a' => ' ;^x' + '^c' => ',^c' + '*' + '^x' => '^a' + '^y' => '^a' + '^c' + '. (' => '.^e(' + '^e' + ' : ' => ' :^f' + '*' + 'regex:$' => '.' + +225 + '^a' + '^d' => ' = ' + '^e' => ' : ' + '^f' => ' / ' + '^i' => ' ;^v' + '^v' => ' ;^v' + ' ; ' => ' ;^v' + '*' + '^h' => ' ;^v' + +#610 +# '*' +# '_ _' => ' -- ' + +503 + 'regex:^' => '^a' + +700 + '*' + '^d' => ', ' + '^f' => ', ' + '^h' => ', ' + '^j' => ', ' + +701 + '*' + '^b' => ', ' + '^d' => ', ' + '^f' => ', ' + '^h' => ', ' + +702 + '*' + '^b' => ', ' + '^d' => ', ' + '^f' => ', ' + diff --git a/conf/hpm/validate-delimiters b/conf/hpm/validate-delimiters new file mode 100644 index 0000000..8020c40 --- /dev/null +++ b/conf/hpm/validate-delimiters @@ -0,0 +1,166 @@ +101 1180 ^a +101 8 ^a^a +101 70 ^a^c +101 121 ^a^d +200 3 ^a +200 1 ^a : : ^f +200 1 ^a : : ^f^g +200 1 ^a : ^f +200 1 ^a = = = = ^e : ^f +200 1 ^a = = ^e : ^f +200 2 ^a = = ^f +200 2 ^a = = ^f^g +200 1 ^a = = ^f^g ; +200 1 ^a = ^e / ^f = ^g = +200 2 ^a = ^e : ^f = ^g = +200 1 ^a = ^e = ^f^g +200 1 ^a = ^e = ^f^g = +200 1 ^a = ^e^f +200 1 ^a = ^e^f = +200 1 ^a = ^e^f = ^g ; +200 2 ^a = ^e^f = ^g = +200 2 ^a = ^e^f^g ; +200 45 ^a = ^f +200 3 ^a = ^f = +200 1 ^a = ^f = ; = +200 2 ^a = ^f = ^g +200 12 ^a = ^f = ^g = +200 3 ^a = ^f = ^g = ; = +200 3 ^a = ^f^g +200 7 ^a = ^f^g ; +200 3 ^a = ^f^g ; ; +200 1 ^a = ^f^g = ; = +200 1 ^a^d +200 19 ^a^e +200 1 ^a^e : +200 1 ^a^e : / / ^f^g +200 1 ^a^e : : ^f +200 3 ^a^e : : ^f^g +200 2 ^a^e : : ^f^g ; +200 1 ^a^e : : ^f^g ; ; +200 1 ^a^e : : ^f^v +200 1 ^a^e : = : : ^f +200 1 ^a^e : = : : ^f = ^g = ; = +200 1 ^a^e : = : : ^f^g ; +200 1 ^a^e : = ^f = ^g = ; = ; = +200 35 ^a^e : ^f +200 1 ^a^e : ^f ; +200 1 ^a^e : ^f = ^g +200 23 ^a^e : ^f^g +200 5 ^a^e : ^f^g ; +200 1 ^a^e : ^f^g ; ; +200 1 ^a^e : ^f^v +200 1 ^a^e ; ^f +200 1 ^a^e = : = ^f +200 6 ^a^e = : ^f +200 1 ^a^e = : ^f ; +200 3 ^a^e = : ^f = +200 2 ^a^e = : ^f = ^g = +200 1 ^a^e = : ^f = ^g = ; +200 1 ^a^e = : ^f = ^g = ; = +200 2 ^a^e = : ^f^g +200 1 ^a^e = : ^f^g ; +200 2 ^a^e = : ^f^g ; ; +200 2 ^a^e = : ^f^g = +200 1 ^a^e = : ^f^g = ; +200 1 ^a^e = ^e^f +200 3 ^a^e = ^f +200 1 ^a^e = ^f = +200 1 ^a^e = ^f^g ; +200 246 ^a^e^f +200 1 ^a^e^f / ^g ; ; +200 4 ^a^e^f ; +200 106 ^a^e^f^g +200 49 ^a^e^f^g ; +200 5 ^a^e^f^g ; ; +200 24 ^a^e^f^g^v +200 42 ^a^e^f^v +200 1 ^a^e^v +200 3 ^a^e^v = : ^f = +200 2 ^a^e^v = : ^v^f +200 2 ^a^e^v^f +200 462 ^a^f +200 1 ^a^f : ^g +200 5 ^a^f ; +200 2 ^a^f ; ; ; +200 1 ^a^f = ^g = ; = +200 118 ^a^f^g +200 1 ^a^f^g : ; +200 27 ^a^f^g ; +200 8 ^a^f^g ; ; +200 1 ^a^f^g ; ; ; +200 1 ^a^f^g ; ; ; ; +200 1 ^a^f^g = ^f^g +200 2 ^a^f^g^v +200 2 ^a^f^g^v : +200 16 ^a^f^v +200 1 ^a^g^f +200 1 ^a^v^e^f^g ; +200 1 ^a^v^f +200 8 ^a^v^f^g +200 12 ^e^f +200 2 ^e^f^g +200 1 ^e^f^g ; +205 5 / +205 1 ^a +210 1 ^a : ; : ^d +210 1 ^a : ^d +210 7 ^a ; ; ^c^d +210 1 ^a ; ^c : : ^d +210 3 ^a ; ^c : ^d +210 1 ^a ; ^c = ^d +210 95 ^a ; ^c^d +210 1 ^a = ^c^d +210 1 ^a^c : : : ^d +210 10 ^a^c : : ^d +210 1 ^a^c : ; : ^d +210 51 ^a^c : ^d +210 1 ^a^c ; : ; : +210 42 ^a^c ; : ^d +210 8 ^a^c = ^d +210 980 ^a^c^d +215 3 ^a +215 999 ^a^c^d +215 30 ^a^c^d^e +215 162 ^a^d +215 1 ^a^d^e +215 5 ^a^i^d +225 113 ^a +225 8 ^a = +225 2 ^a = ^v +225 1 ^a = ^v = +225 11 ^a^d +225 10 ^a^d^v +225 4 ^a^e +225 1 ^a^e = ^v +225 13 ^a^e^v +225 17 ^a^f +225 52 ^a^f^v +225 354 ^a^v +225 1 ^a^v ; +300 4 / +300 3 : +300 2 = +500 2 ^a +500 4 ^a : ^m +500 59 ^a^m +610 865 = +700 1086 ^a^b +700 1 ^a^b^4 +701 389 ^a^b +702 1 ^a^4 +702 166 ^a^b +702 943 ^a^b^4 +710 22 ^a +710 1 ^a = +710 23 ^a^d^e^f +710 19 ^a^e^f +711 10 ^a +712 2 ^a +712 1 ^a^b +712 1 ^a^d^e^f +712 2 ^a^e^f +801 1 ^a +801 1379 ^a^b +991 52 ^a +991 1631 ^a^b diff --git a/conf/hpm/validate-delimiters.new b/conf/hpm/validate-delimiters.new new file mode 100644 index 0000000..dedf895 --- /dev/null +++ b/conf/hpm/validate-delimiters.new @@ -0,0 +1,178 @@ +101 1180 ^a +101 8 ^a^a +101 70 ^a^c +101 121 ^a^d +101 1 ^d +200 3 ^a +200 1 ^a : : ^f +200 1 ^a : : ^f^g +200 1 ^a : ^f +200 1 ^a = = = = ^e : ^f +200 1 ^a = = ^e : ^f +200 2 ^a = = ^f +200 2 ^a = = ^f^g +200 1 ^a = = ^f^g ; +200 1 ^a = ^e / ^f = ^g = +200 2 ^a = ^e : ^f = ^g = +200 1 ^a = ^e = ^f^g +200 1 ^a = ^e = ^f^g = +200 1 ^a = ^e^f +200 1 ^a = ^e^f = +200 1 ^a = ^e^f = ^g ; +200 2 ^a = ^e^f = ^g = +200 2 ^a = ^e^f^g ; +200 45 ^a = ^f +200 3 ^a = ^f = +200 1 ^a = ^f = ; = +200 2 ^a = ^f = ^g +200 12 ^a = ^f = ^g = +200 3 ^a = ^f = ^g = ; = +200 3 ^a = ^f^g +200 7 ^a = ^f^g ; +200 3 ^a = ^f^g ; ; +200 1 ^a = ^f^g = ; = +200 1 ^a^d +200 4 ^a^e +200 1 ^a^e : +200 1 ^a^e : / / ^f^g +200 1 ^a^e : : ^f +200 3 ^a^e : : ^f^g +200 2 ^a^e : : ^f^g ; +200 1 ^a^e : : ^f^g ; ; +200 1 ^a^e : : ^f^v +200 1 ^a^e : = : : ^f +200 1 ^a^e : = : : ^f = ^g = ; = +200 1 ^a^e : = : : ^f^g ; +200 1 ^a^e : = ^f = ^g = ; = ; = +200 38 ^a^e : ^f +200 1 ^a^e : ^f ; +200 1 ^a^e : ^f = ^g +200 24 ^a^e : ^f^g +200 6 ^a^e : ^f^g ; +200 1 ^a^e : ^f^g ; ; +200 1 ^a^e : ^f^v +200 1 ^a^e ; ^f +200 1 ^a^e = : = ^f +200 6 ^a^e = : ^f +200 1 ^a^e = : ^f ; +200 3 ^a^e = : ^f = +200 2 ^a^e = : ^f = ^g = +200 1 ^a^e = : ^f = ^g = ; +200 1 ^a^e = : ^f = ^g = ; = +200 2 ^a^e = : ^f^g +200 1 ^a^e = : ^f^g ; +200 2 ^a^e = : ^f^g ; ; +200 2 ^a^e = : ^f^g = +200 1 ^a^e = : ^f^g = ; +200 1 ^a^e = ^e^f +200 3 ^a^e = ^f +200 1 ^a^e = ^f = +200 1 ^a^e = ^f^g ; +200 1 ^a^e^e^f^g +200 246 ^a^e^f +200 1 ^a^e^f / ^g ; ; +200 4 ^a^e^f ; +200 106 ^a^e^f^g +200 49 ^a^e^f^g ; +200 5 ^a^e^f^g ; ; +200 24 ^a^e^f^g^v +200 42 ^a^e^f^v +200 1 ^a^e^h^f +200 1 ^a^e^i^f +200 1 ^a^e^v +200 3 ^a^e^v = : ^f = +200 2 ^a^e^v = : ^v^f +200 2 ^a^e^v^f +200 462 ^a^f +200 1 ^a^f : ^g +200 5 ^a^f ; +200 2 ^a^f ; ; ; +200 1 ^a^f = ^g = ; = +200 118 ^a^f^g +200 1 ^a^f^g : ; +200 27 ^a^f^g ; +200 8 ^a^f^g ; ; +200 1 ^a^f^g ; ; ; +200 1 ^a^f^g ; ; ; ; +200 1 ^a^f^g = ^f^g +200 2 ^a^f^g^v +200 2 ^a^f^g^v : +200 16 ^a^f^v +200 1 ^a^g^f +200 1 ^a^h +200 2 ^a^h^i : ^f +200 4 ^a^h^i^f +200 1 ^a^v^e^f^g ; +200 1 ^a^v^f +200 8 ^a^v^f^g +200 1 ^i^f +205 5 / +205 1 ^a +210 1 ^a : ; : ^d +210 1 ^a : ^d +210 7 ^a ; ; ^c^d +210 1 ^a ; ^c : : ^d +210 3 ^a ; ^c : ^d +210 1 ^a ; ^c = ^d +210 95 ^a ; ^c^d +210 1 ^a = ^c^d +210 1 ^a^c : : : ^d +210 10 ^a^c : : ^d +210 1 ^a^c : ; : ^d +210 51 ^a^c : ^d +210 1 ^a^c ; : ; : +210 42 ^a^c ; : ^d +210 8 ^a^c = ^d +210 980 ^a^c^d +215 3 ^a +215 999 ^a^c^d +215 30 ^a^c^d^e +215 162 ^a^d +215 1 ^a^d^e +215 5 ^a^i^d +225 113 ^a +225 2 ^a : ^d^e^h^i / ^v +225 8 ^a = +225 2 ^a = ^v +225 1 ^a = ^v = +225 11 ^a^d +225 1 ^a^d^h = ^i : / = ^v = +225 10 ^a^d^v +225 4 ^a^e +225 1 ^a^e = ^v +225 13 ^a^e^v +225 17 ^a^f +225 1 ^a^f = / ^h^i^v +225 1 ^a^f = ^f^v +225 1 ^a^f^h^v +225 52 ^a^f^v +225 1 ^a^i^v +225 354 ^a^v +225 1 ^a^v ; +300 4 / +300 3 : +300 2 = +500 2 ^a +500 4 ^a : ^m +500 59 ^a^m +610 865 = +700 1086 ^a^b +700 1 ^a^b^4 +701 389 ^a^b +702 1 ^a^4 +702 166 ^a^b +702 943 ^a^b^4 +710 22 ^a +710 1 ^a = +710 1 ^a = ^d^e^f +710 23 ^a^d^e^f +710 19 ^a^e^f +711 10 ^a +712 2 ^a +712 1 ^a^b +712 1 ^a^d^e^f +712 2 ^a^e^f +801 1 ^a +801 1379 ^a^b +991 52 ^a +991 1631 ^a^b diff --git a/conf/hpm/validation b/conf/hpm/validation new file mode 100644 index 0000000..a244b44 --- /dev/null +++ b/conf/hpm/validation @@ -0,0 +1,28 @@ +0 +10 +100 +101 a* c d +102 +200 a d e* f* g* v* +205 +210 a c* d +215 a* c d* e i +225 a d e f* h i v +300 +320 +500 a* c g m +503 +610 +675 +700 4 a b +701 a b g +702 4 a* b* d +710 a d* e* f +711 a +712 a b d e f +801 a b +990 +991 a* b* +992 +999 + -- 2.20.1