[Koha-cvs] koha/misc benchmark.pl fines.pl zebra/bib1_auth...

paul poulain paul at koha-fr.org
Fri Mar 9 16:47:25 CET 2007


CVSROOT:	/sources/koha
Module name:	koha
Changes by:	paul poulain <tipaul>	07/03/09 15:47:25

Added files:
	misc           : benchmark.pl fines.pl 
	misc/zebra     : bib1_authorities.att bib1_biblios.att 
	                 ccl.properties default.idx pqf.properties 
	                 record_authorities_unimarc.abs 
	                 record_authorities_usmarc.abs 
	                 record_biblios_unimarc.abs 
	                 record_biblios_usmarc.abs 
	                 sort-string-utf_french.chr 

Log message:
	rel_3_0 moved to HEAD (introducing new files)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/misc/benchmark.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/fines.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/bib1_authorities.att?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/bib1_biblios.att?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/ccl.properties?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/default.idx?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/pqf.properties?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/record_authorities_unimarc.abs?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/record_authorities_usmarc.abs?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/record_biblios_unimarc.abs?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/record_biblios_usmarc.abs?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/misc/zebra/sort-string-utf_french.chr?cvsroot=koha&rev=1.2

Patches:
Index: benchmark.pl
===================================================================
RCS file: benchmark.pl
diff -N benchmark.pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ benchmark.pl	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,164 @@
+#!/usr/bin/perl
+
+use HTTPD::Bench::ApacheBench;
+use C4::Context;
+use strict;
+
+# 1st, find some maximal values
+my $dbh=C4::Context->dbh();
+my $sth = $dbh->prepare("select max(borrowernumber) from borrowers");
+$sth->execute;
+my ($borrowernumber_max) = $sth->fetchrow;
+
+$sth = $dbh->prepare("select max(biblionumber) from biblio");
+$sth->execute;
+my ($biblionumber_max) = $sth->fetchrow;
+
+$sth = $dbh->prepare("select max(itemnumber) from items");
+$sth->execute;
+my ($itemnumber_max) = $sth->fetchrow;
+
+my $baseurl= "http://i17.bureau.paulpoulain.com/cgi-bin/koha";
+my $max_tries = 200;
+my $concurrency = 5;
+
+$|=1;
+#
+# the global benchmark we do at the end...
+#
+my $b = HTTPD::Bench::ApacheBench->new;
+$b->concurrency( $concurrency );
+#
+# mainpage : (very) low mySQL dependancy
+#
+my $b0 = HTTPD::Bench::ApacheBench->new;
+$b0->concurrency( $concurrency );
+
+my @mainpage;
+print "--------------\n";
+print "Koha benchmark\n";
+print "--------------\n";
+print "benchmarking with $max_tries occurences of each operation\n";
+print "mainpage (no mySQL) ";
+for (my $i=1;$i<=$max_tries;$i++) {
+    push @mainpage,"$baseurl/mainpage.pl";
+}
+my $run0 = HTTPD::Bench::ApacheBench::Run->new
+    ({ urls => \@mainpage,
+    });
+$b0->add_run($run0);
+$b->add_run($run0);
+
+# send HTTP request sequences to server and time responses
+my $ro = $b0->execute;
+# calculate hits/sec
+print ("\t".$b0->total_time."ms\t".(1000*$b0->total_requests/$b0->total_time)." pages/sec\n");
+print "ALERT : ".$b0->total_responses_failed." failures\n" if $b0->total_responses_failed;
+
+#
+# biblios
+#
+my $b1 = HTTPD::Bench::ApacheBench->new;
+$b1->concurrency( $concurrency );
+
+my @biblios;
+print "biblio (MARC detail)";
+for (my $i=1;$i<=$max_tries;$i++) {
+    my $rand_biblionumber = int(rand($biblionumber_max)+1);
+    push @biblios,"$baseurl/catalogue/MARCdetail.pl?biblionumber=$rand_biblionumber";
+}
+my $run1 = HTTPD::Bench::ApacheBench::Run->new
+    ({ urls => \@biblios,
+    });
+$b1->add_run($run1);
+$b->add_run($run1);
+
+# send HTTP request sequences to server and time responses
+my $ro = $b1->execute;
+# calculate hits/sec
+print ("\t".$b1->total_time."ms\t".(1000*$b1->total_requests/$b1->total_time)." biblios/sec\n");
+print "ALERT : ".$b1->total_responses_failed." failures\n" if $b1->total_responses_failed;
+
+#
+# borrowers
+#
+my $b2 = HTTPD::Bench::ApacheBench->new;
+$b2->concurrency( $concurrency );
+
+my @borrowers;
+print "borrower detail        ";
+for (my $i=1;$i<=$max_tries;$i++) {
+    my $rand_borrowernumber = int(rand($borrowernumber_max)+1);
+#     print "$baseurl/members/moremember.pl?borrowernumber=$rand_borrowernumber\n";
+    push @borrowers,"$baseurl/members/moremember.pl?borrowernumber=$rand_borrowernumber";
+}
+my $run2 = HTTPD::Bench::ApacheBench::Run->new
+    ({ urls => \@borrowers,
+    });
+$b2->add_run($run2);
+$b->add_run($run2);
+
+# send HTTP request sequences to server and time responses
+my $ro = $b2->execute;
+# calculate hits/sec
+print ("\t".$b2->total_time."ms\t".(1000*$b2->total_requests/$b2->total_time)." borrowers/sec\n");
+
+
+#
+# issue (& then return) books
+#
+my $b3 = HTTPD::Bench::ApacheBench->new;
+$b3->concurrency( $concurrency );
+my $b4 = HTTPD::Bench::ApacheBench->new;
+$b4->concurrency( $concurrency );
+
+my @issues;
+my @returns;
+print "Issues detail          ";
+my $sth = $dbh->prepare("SELECT barcode FROM items WHERE itemnumber=?");
+my $sth2 = $dbh->prepare("SELECT borrowernumber FROM borrowers WHERE borrowernumber=?");
+for (my $i=1;$i<=$max_tries;$i++) {
+    my $rand_borrowernumber;
+    # check that the borrowernumber exist
+    until ($rand_borrowernumber) {
+        $rand_borrowernumber = int(rand($borrowernumber_max)+1);
+        $sth2->execute($rand_borrowernumber);
+        ($rand_borrowernumber) = $sth2->fetchrow;
+    }
+    # find a barcode & check it exists
+    my $rand_barcode;
+    until ($rand_barcode) {
+        my $rand_itemnumber = int(rand($itemnumber_max)+1);
+        $sth->execute($rand_itemnumber);
+        ($rand_barcode) = $sth->fetchrow();
+#         print "$baseurl/circ/circulation.pl?borrowernumber=$rand_borrowernumber&barcode=$rand_barcode&issueconfirmed=1&year=2010&month=01&day=01\n";
+    }
+    push @issues,"$baseurl/circ/circulation.pl?borrowernumber=$rand_borrowernumber&barcode=$rand_barcode&issueconfirmed=1";
+    push @returns,"$baseurl/circ/returns.pl?barcode=$rand_barcode";
+}
+my $run3 = HTTPD::Bench::ApacheBench::Run->new
+    ({ urls => \@issues,
+    });
+$b3->add_run($run3);
+$b->add_run($run3);
+
+# send HTTP request sequences to server and time responses
+my $ro = $b3->execute;
+# calculate hits/sec
+print ("\t".$b3->total_time."ms\t".(1000*$b3->total_requests/$b3->total_time)." issues/sec\n");
+
+print "Returns detail         ";
+my $run4 = HTTPD::Bench::ApacheBench::Run->new
+    ({ urls => \@returns,
+    });
+$b4->add_run($run4);
+$b->add_run($run4);
+
+# send HTTP request sequences to server and time responses
+my $ro = $b4->execute;
+# calculate hits/sec
+print ("\t".$b4->total_time."ms\t".(1000*$b4->total_requests/$b4->total_time)." returns/sec\n");
+
+print "Benchmarking everything";
+my $ro = $b->execute;
+print ("\t".$b->total_time."ms\t".(1000*$b->total_requests/$b->total_time)." operations/sec\n");

Index: fines.pl
===================================================================
RCS file: fines.pl
diff -N fines.pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ fines.pl	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,180 @@
+#!/usr/bin/perl
+
+#  This script loops through each overdue item, determines the fine,
+#  and updates the total amount of fines due by each user.  It relies on
+#  the existence of /tmp/fines, which is created by ???
+# Doesnt really rely on it, it relys on being able to write to /tmp/
+# It creates the fines file
+#
+#  This script is meant to be run nightly out of cron.
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: fines.pl,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+
+use C4::Context;
+use C4::Circulation::Circ2;
+use C4::Circulation::Fines;
+use Date::Manip qw/Date_DaysSince1BC/;
+use C4::Biblio;
+
+open (FILE,'>/tmp/fines') || die;
+# FIXME
+# it looks like $count is just a counter, would it be
+# better to rely on the length of the array @$data and turn the
+# for loop below into a foreach loop?
+#
+my ($numOverdueItems,$data)=Getoverdues();
+print $numOverdueItems if $DEBUG;
+my $overdueItemsCounted=0 if $DEBUG;
+# FIXME - There's got to be a better way to figure out what day
+# today is.
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time);
+$mon++;
+$year=$year+1900;
+my $date=Date_DaysSince1BC($mon,$mday,$year);
+print $date if $DEBUG;
+if ($mon < '10'  ){
+$mon="0".$mon;
+}
+if ($mday < '10'  ){
+$mday="0".$mday;
+}
+my $reference = $year."".$mon;
+my $borrowernumber;
+
+for (my $i=0;$i<$numOverdueItems;$i++){
+  my @dates=split('-',$data->[$i]->{'date_due'});
+  my $date2=Date_DaysSince1BC($dates[1],$dates[2],$dates[0]);
+  my $datedue=$data->[$i]->{'date_due'};
+  my $due="$dates[2]/$dates[1]/$dates[0]";
+  my $borrower=BorType($data->[$i]->{'borrowernumber'});
+  my $starter;    
+      
+ if ($date2 <= $date){
+    $overdueItemsCounted++ if $DEBUG;
+    my $difference=$date-$date2;
+    my ($amount,$type,$printout,$daycounttotal,$daycount)=
+    CalcFine($data->[$i]->{'itemnumber'},
+        $borrower->{'categorycode'},
+        $difference,
+        $datedue);
+    
+    my ($delays1,$delays2,$delays3)=GetOverdueDelays($borrower->{'categorycode'});
+    my $issuingrules=GetIssuingRules($data->[$i]->{'itemnumber'},$borrower->{'categorycode'});
+ 
+if($delays1  and $delays2  and $delays3)  {
+    
+    my $debarredstatus=CheckBorrowerDebarred($borrower->{'borrowernumber'});
+     
+    if (($issuingrules->{'fine'} > 0) || ($issuingrules->{'fine'} ne '' )){
+
+        #DELAYS 1##########################################
+        if ($amount > 0 && $daycount >= $delays1 && $daycount < $delays2){
+        my $debarred1=GetOverduerules($borrower->{'categorycode'},1);
+        (UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred1 eq '1' ) and ($debarredstatus eq '0'));
+        UpdateFine($data->[$i]->{'itemnumber'},$data->[$i]->{'borrowernumber'},$amount,$type,$due);
+        my $getnotifyid=CheckExistantNotifyid($borrower->{'borrowernumber'},$datedue);
+    
+        my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},1);
+            if ($update eq '0'){
+                        if ($getnotifyid eq '0'){
+                            $starter=GetNextIdNotify($reference,$borrower->{'borrowernumber'});
+    
+                        }
+                        else{
+                            $starter=$getnotifyid;
+                        }
+    
+            }
+        UpdateAccountLines($starter,1,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
+        }
+        ###############################################
+    
+        if ($daycount>=$delays2) {
+    
+            $amount=$issuingrules->{'fine'} * ($delays2);
+            UpdateFine($data->[$i]->{'itemnumber'},$data->[$i]->{'borrowernumber'},$amount,$type,$due);
+    
+        }
+    
+        #DELAYS 2#################################
+    
+        if ($daycount >= $delays2 && $daycount < $delays3){
+        my $debarred2=GetOverduerules($borrower->{'categorycode'},2);
+        (UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred2 eq '1' ) and ($debarredstatus eq '0'));
+        my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},2);
+        if ($update eq '0'){
+        UpdateAccountLines(undef,2,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
+        }
+        }
+        ###############################################
+    
+        #DELAYS 3###################################
+        if ($daycount >= $delays3  ){
+            my $debarred3=GetOverduerules($borrower->{'categorycode'},3);
+            (UpdateBorrowerDebarred($borrower->{'borrowernumber'}))if(($debarred3 eq '1' ) and ($debarredstatus eq '0'));
+            my $update=CheckAccountLineLevelInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},3);
+            if ($update eq '0'){
+                    UpdateAccountLines(undef,3,$borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
+            }
+            my $items=GetItems($data->[$i]->{'itemnumber'});
+            my $todaydate=$year."-".$mon."-".$mday;
+            my $description="Item Price";
+            my $typeaccount="IP";
+            my $level="3";
+            my $notifyid=GetNotifyId($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'});
+            my $timestamp=$todaydate." ".$hour."\:".$min."\:".$sec;
+            my $create=CheckAccountLineItemInfo($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},$typeaccount,$notifyid);
+            if ($create eq '0'){
+    
+            CreateItemAccountLine($borrower->{'borrowernumber'},$data->[$i]->{'itemnumber'},$todaydate,$items->{'price'},$description,$typeaccount,
+            $items->{'price'},$timestamp,$notifyid,$level);
+            }
+        }
+        ###############################################
+    }
+}
+
+
+
+if ($borrower->{'category_type'} eq 'C'){  
+        my $query=qq|    SELECT *
+                FROM borrowers
+                WHERE borrowernumber=?|;
+        my $dbh = C4::Context->dbh;
+        my $sth=$dbh->prepare($query);
+        $sth->execute($borrower->{'guarantorid'});
+        my $tdata=$sth->fetchrow_hashref;
+        $sth->finish;
+        $borrower->{'phone'}=$tdata->{'phone'};
+       }
+ print "$printout\t$borrower->{'cardnumber'}\t$borrower->{'category_type'}\t$borrower->{'firstname'}\t$borrower->{'surname'}\t$data->[$i]->{'date_due'}\t$type\t$difference\t$borrower->{'email'}\t$borrower->{'phone'}\t$borrower->{'address'}\t$borrower->{'city'}\t$amount\n";
+ }
+}
+
+if ($DEBUG) {
+   print <<EOM
+
+Number of Overdue Items counted $overdueItemsCounted
+Number of Overdue Items reported $numOverdueItems
+
+EOM
+}
+
+close FILE;

Index: zebra/bib1_authorities.att
===================================================================
RCS file: zebra/bib1_authorities.att
diff -N zebra/bib1_authorities.att
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/bib1_authorities.att	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,173 @@
+# $Id: bib1_authorities.att,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+# auth1 Attribute Set
+name auth1
+reference Bib-1
+include bib1.att
+include gils.att
+
+
+# Koha Specific Stuff
+
+att 8900			Call-Number
+att 8800			date-entered-on-file
+att 8801			date1
+att 8802			date2
+att 8805			language
+att 8822			ff8-22
+att 8833			ff8-33
+att 8834			ff8-34
+
+att 8700			ff7-00
+att 8701			ff7-01
+att 8702			ff7-02
+
+######################################################################
+######################################################################
+#Authorities
+######################################################################
+######################################################################
+
+#######################################
+#Coded Entries
+#######################################
+
+#used in $5 for relationships
+#Coded field
+
+att 9200               Auth-RelationShip
+
+#used in $2 should contain authtypecode if authority is an other type
+#Coded field
+att 9210               Auth-Internal-authtype
+
+#used in $3 should contain authid if authority is an other type
+#Coded field
+att 9220               Auth-Internal-LN
+
+#used in $7 should contain Script language 
+#Coded field (Greek, and other alphabets)
+att 9230               Auth-Script
+
+#used in $8 should contain Entity language 
+#Coded field (Greek, and other alphabets)
+att 9240               Auth-Language
+
+#BUGFIX ??
+# Maybe there could be a problem to define so few types.
+# We could have MANY undesired results not to have a specialization by Authtype
+# It can be added
+
+#used in $2 should contain authtypecode if authority is an other type
+#Coded field
+#Can be found also by Authority/format-id
+att 9250               Authority/format-id
+
+
+######################################################
+# Global search (Any AuthorityType)
+######################################################
+att 9001               Heading
+att 9002               See
+att 9003               See-also
+att 9004               Parallel
+att 9005               Heading-entity
+att 9006               See-Entity
+att 9007               See-also-Entity
+att 9008               Parallel-Entity
+#att 9009               Subject-heading is already defined
+#att 9000               Name-geographic
+
+######################################################
+# Main Entries
+######################################################
+
+att 9011               Personal-heading
+att 9012               Corporate-heading
+att 9013               Conference-heading
+att 9014               Place-heading
+att 9015               Trademark-heading
+att 9016               Title-uniform
+att 9017               Collective-Title-uniform
+att 9018               Place-Access
+#att 9019               Subject-heading is already defined
+#att 9010               Name-geographic
+
+att 9021               Personal-see
+att 9022               Corporate-see
+att 9023               Conference-see
+att 9024               Place-see
+att 9025               Trademark-see
+att 9026               Title-uniform-see
+att 9027               Collective-Title-uniform-see
+att 9028               Place-Access-see
+att 9029               Subject-see
+att 9020               Name-geographic-see
+
+att 9031               Personal-see-also
+att 9032               Corporate-see-also
+att 9033               Conference-see-also
+att 9034               Place-see-also
+att 9035               Trademark-see-also
+att 9036               Title-uniform-see-also
+att 9037               Collective-Title-uniform-see-also
+att 9038               Place-Access-see-also
+att 9039               Subject-see-also
+att 9030               Name-geographic-see-also
+
+att 9041               Personal-parallel
+att 9042               Corporate-parallel
+att 9043               Conference-parallel
+att 9044               Place-parallel
+att 9045               Trademark-parallel
+att 9046               Title-uniform-parallel
+att 9047               Collective-Title-uniform-parallel
+att 9048               Place-Access-parallel
+att 9049               Subject-parallel
+att 9040               Name-geographic-parallel
+
+
+######################################
+#Whole record
+######################################
+att 9101               Personal-heading-entity
+att 9102               Corporate-heading-entity
+att 9103               Conference-heading-entity
+att 9104               Place-heading-entity
+att 9105               Trademark-heading-entity
+att 9106               Title-uniform-entity
+att 9107               Collective-Title-uniform-entity
+att 9108               Place-Access-entity
+att 9109               Subject-heading-entity
+att 9130               Name-geographic-entity
+
+att 9111               Personal-see-entity
+att 9112               Corporate-see-entity
+att 9113               Conference-see-entity
+att 9114               Place-see-entity
+att 9115               Trademark-see-entity
+att 9116               Title-see-entity
+att 9117               Collective-Title-uniform-see-entity
+att 9118               Place-Access-see-entity
+att 9119               Subject-see-entity
+
+att 9121               Personal-see-also-entity
+att 9122               Corporate-see-also-entity
+att 9123               Conference-see-also-entity
+att 9124               Place-see-also-entity
+att 9125               Trademark-see-also-entity
+att 9126               Title-see-also-entity
+att 9127               Collective-Title-uniform-see-also-entity
+att 9128               Place-Access-see-also-entity
+att 9129               Subject-see-also-entity
+
+att 9131               Personal-parallel-entity
+att 9132               Corporate-parallel-entity
+att 9133               Conference-parallel-entity
+att 9134               Place-parallel-entity
+att 9135               Trademark-parallel-entity
+att 9136               Title-parallel-entity
+att 9137               Collective-Title-uniform-parallel-entity
+att 9138               Place-Access-parallel-entity
+att 9139               Subject-parallel-entity
+
+

Index: zebra/bib1_biblios.att
===================================================================
RCS file: zebra/bib1_biblios.att
diff -N zebra/bib1_biblios.att
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/bib1_biblios.att	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,122 @@
+# $Id: bib1_biblios.att,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+# Bib-1 Attribute Set
+name bib1
+reference Bib-1
+
+att 1               Personal-name
+att 2               Corporate-name
+att 3               Conference-name
+att 4               Title
+att 5               Title-series
+att 6               Title-uniform
+att 7               ISBN
+att 8               ISSN
+att 9               LC-card-number
+att 10              BNB-card-number
+att 11              BGF-number
+att 12              Local-number
+att 13              Dewey-classification
+att 14              UDC-classification
+att 15              Bliss-classification
+att 16              LC-call-number
+att 17              NLM-call-number
+att 18              NAL-call-number
+att 19              MOS-call-number
+att 20              Local-classification
+att 21              Subject-heading
+att 22              Subject-Rameau
+att 23              BDI-index-subject
+att 24              INSPEC-subject
+att 25              MESH-subject
+att 26              PA-subject
+att 27              LC-subject-heading
+att 28              RVM-subject-heading
+att 29              Local-subject-index
+att 30              Date
+att 31              Date-of-publication
+att 32              Date-of-acquisition
+att 33              Title-key
+att 34              Title-collective
+att 35              Title-parallel
+att 36              Title-cover
+att 37              Title-added-title-page
+att 38              Title-caption
+att 39              Title-running
+att 40              Title-spine
+att 41              Title-other-variant
+att 42              Title-former
+att 43              Title-abbreviated
+att 44              Title-expanded
+att 45              Subject-precis
+att 46              Subject-rswk
+att 47              Subject-subdivision
+att 48              Number-natl-biblio
+att 49              Number-legal-deposit
+att 50              Number-govt-pub
+att 51              Number-music-publisher
+att 52              Number-db
+att 53              Number-local-call
+att 54              Code-language
+att 55              Code-geographic
+att 56              Code-institution
+att 57              Name-and-title
+att 58              Name-geographic
+att 59              Place-publication
+att 60              CODEN
+att 61              Microform-generation
+att 62              Abstract
+att 63              Note
+att 1000            Author-title
+att 1001            Record-type
+att 1002            Name
+att 1003            Author
+att 1004            Author-name-personal
+att 1005            Author-name-corporate
+att 1006            Author-name-conference
+att 1007            Identifier-standard
+att 1008            Subject-LC-childrens
+att 1009            Subject-name-personal
+att 1010            Body-of-text
+att 1011            Date/time-added-to-db
+att 1012            Date/time-last-modified
+att 1013            Authority/format-id
+att 1014            Concept-text
+att 1015            Concept-reference
+att 1016            Any
+att 1017            Server-choice
+att 1018            Publisher
+att 1019            Record-source
+att 1020            Editor
+att 1021            Bib-level
+att 1022            Geographic-class
+att 1023            Indexed-by
+att 1024            Map-scale
+att 1025            Music-key
+att 1026            Related-periodical
+att 1027            Report-number
+att 1028            Stock-number
+att 1030            Thematic-number
+att 1031            Material-type
+att 1032            Doc-id
+att 1033            Host-item
+att 1034            Content-type
+att 1035            Anywhere
+att 1036            Author-Title-Subject
+
+# Koha Specific Stuff
+
+att 8900			Call-Number
+att 8910			Koha-Auth-Number
+att 8800			date-entered-on-file
+att 8801			date1
+att 8802			date2
+att 8805			language
+att 8822			ff8-22
+att 8833			ff8-33
+att 8834			ff8-34
+
+att 8700			ff7-00
+att 8701			ff7-01
+att 8702			ff7-02
+
+att 9523            popularity

Index: zebra/ccl.properties
===================================================================
RCS file: zebra/ccl.properties
diff -N zebra/ccl.properties
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/ccl.properties	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,1043 @@
+# CCL field mappings
+# $Id: ccl.properties,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+# There are four types of lines in a CCL profile: 
+#  1. qualifier specification
+#	qualifier-name   [  attributeset   ,]  type   =   val   [  attributeset   ,]  type   =   val   ...
+# 
+#  2. qualifier alias
+#	q q1 q2 q3
+#
+#  3. comments
+#	comments begin with 
+#
+#  4. directives
+#	@   directive    value
+#
+# see http://indexdata.dk/yaz/doc/tools.tkl#CCL for more details
+#
+# The rule below is used when no fields are specified
+term t=l,r  s=al
+#
+# Simple rule for a field called "clean"
+clean t=l,r
+
+### 1. BIB1 USE ATTRIBUTES MAPPED TO CCL QUALIFIERS
+#
+# SEE http://www.loc.gov/z3950/agency/bib1.html
+#
+# The notation '$' following a USMARC tag refers to a
+# subfield of the named field.  The notation 'i' following a
+# USMARC tag refers to values of the second indicator in the named
+# field; when the second indicator of the field has the value
+# , the data in the field is associated with that Use
+# attribute.
+#
+#Use                  Value Definition                      USMARC tag(s)
+#-------------------- ----- ------------------------------  ------------------
+#Abstract               62  An abbreviated, accurate        520
+#                           representation of a work,
+#                           usually without added
+#                           interpretation or criticism.
+Abstract 1=62
+ab Abstract
+
+#Any                  1016  The record is selected if there
+#                           exists a Use attribute that the
+#                           target supports (and considers
+#                           appropriate - see note 1) such
+#                           that the record would be
+#                           selected if the target were to
+#                           substitute that attribute.
+#       Notes:
+#        (1) When the origin uses 'any' the intent is that the target
+#            locate records via commonly used access points. The target
+#            may define 'any' to refer to a selected set of Use
+#            attributes corresponding to its commonly used access points.
+#        (2) In set terminology: when Any is the Use attribute, the set
+#            of records selected is the union of the sets of records
+#            selected by each of the (appropriate) Use attributes that
+#            the target supports.
+Any 1=1016
+kw Any
+
+#Anywhere             1035  The record is selected if the
+#                           term value (as qualified by the
+#                           other attributes) occurs anywhere
+#                           in the record.
+#
+#            Note: A target might choose to support 'Anywhere' only in
+#            combination with specific (non-Use) attributes. For example, a
+#            target might support 'Anywhere' only in combination with the
+#            Relation attribute 'AlwaysMatches' (see below), to locate all
+#            records in a database.
+#
+#       Notes on relationship of Any and Anywhere:
+#        (1) A target may support Any but not Anywhere, or vice versa, or
+#            both.  However, if a target supports both, then it should
+#            exclude 'Anywhere' from the list of Use attributes
+#            corresponding to 'Any' (if it does not do so, then the set
+#            of records located by 'Any' will be a superset of those
+#            located by 'Anywhere').
+#        (2) A distinction between the two attributes may be informally
+#            expressed as follows: 'anywhere' might result in more
+#            expensive searching than 'any'; if the target (and origin)
+#            support both 'any' and 'anywhere', if the origin uses 'Any'
+#            (rather than 'Anywhere') it is asking the target to locate
+#            the term only if it can do so relatively inexpensively.
+#Anywhere 1=1035
+
+#Author-name          1003  A personal or corporate author, 100, 110, 111, 400
+#                           or a conference or meeting      410, 411, 700, 710,
+#                           name.  (No subject name         711, 800, 810, 811
+#                           headings are included.)
+Author 5=1 1=1003 s=pw
+au Author
+
+#Author-name-and-     1000  A personal or corporate author, 100/2XX, 110/2XX,
+#title                      or a conference or meeting      111/2XX, subfields
+#                           name, and the title of the      $a & $t in
+#                           item.  (No subject name         following: 400,410,
+#                           headings are included.)  The    411, 700, 710, 711,
+#                           syntax of the name-title        800, 810, 811
+#                           combination is up to the
+#                           target, unless used with the
+#                           Structure attribute Key (see
+#                           below).
+#Author-title 1=1000
+
+#Author-name-         1005  An organization or a group      110, 410, 710, 810
+#corporate                  of persons that is identified
+#                           by a particular name. (Differs
+#                           from attribute "name-corporate
+#                           (2)" in that corporate name
+#                           subject headings are not
+#                           included.)
+#Author-name-corporate 1=1005
+
+#Author-name-         1006  A meeting of individuals or     111, 411, 711, 811
+#conference                 representatives of various
+#                           bodies for the purpose of
+#                           discussing topics of common
+#                           interest. (Differs from
+#                           attribute "name-conference
+#                           (3)" in that conference name
+#                           subject headings are not
+#                           included.)
+#Author-name-conference 1=1006
+#af Author-name-conference
+
+#Author-name-personal 1004  A person's real name,           100, 400, 700, 800
+#                           pseudonym, title of nobility
+#                           nickname, or initials.
+#                           (Differs from attribute
+#                           "name-personal (1)" in that
+#                           personal name subject headings
+#                           are not included.)
+#Author-name-personal 1=1004
+
+#Author-Title-Subject 1036  An author or a title or a        1XX, 2XX, 4XX,
+#                           subject.                         6XX, 7XX, 8XX
+#
+#            Note: When the Use attribute is Author-name-and-title (1000)
+#            the term contains both an author name and a title.  When the
+#            Use attribute is Author-Title-Subject (1036), the term
+#            contains an author name or a title or a subject.
+#Author-Title-Subject 1=1036
+
+#Body of text         1010  Used in full-text searching to
+#                           indicate that the term is to
+#                           be searched only in that
+#                           portion of the record that the
+#                           target considers the body of
+#                           the text, as opposed to some
+#                           other discriminated part such
+#                           as a headline, title, or
+#                           abstract.
+#Body-of-text 1=1010
+
+#Classification-Bliss   15  A classification number from
+#                           the Bliss Classification,
+#                           developed by Henry Evelyn
+#                           Bliss.
+#Bliss-classification 1=15
+
+#Classification-Dewey   13  A classification number from    082
+#                           the Dewey Decimal
+#                           Classification, developed by
+#                           Melvyl Dewey.
+#Dewey-classification 1=13
+
+#Classification-        50  A classification number         086
+#government-publication     assigned to a government
+#                           document by a government
+#                           agency at any level (e.g.,
+#                           state, national,
+#                           international).
+#Number-govt-pub 1=50
+
+#Classification-LC      16  A classification number from    050
+#                           the US Library of Congress
+#                           Classification.
+#LC-call-number 1=16
+#
+#Classification-local   20  A local classification
+#                           number from a system not
+#                           specified elsewhere in this
+#                           list of attributes.
+Local-classification 1=20
+lcn Local-classification
+callnum Local-classification
+#Local-classification cc callnum dewey
+#
+#Classification-NAL     18  A classification number from    070
+#                           the US National Agriculture
+#                           Library Classification.
+#NAL-call-number 1=18
+#
+#Classification-NLM     17  A classification number from    060
+#                           the US National Library of
+#                           Medicine Classification.
+#NLM-call-number 1=17
+#
+#Classification-MOS     19  A classification number from
+#                           Mathematics Subject
+#                           Classification, compiled
+#                           in the Editorial Offices of
+#                           Mathematical Reviews and
+#                           Zentralblatt fur Mathematik.
+#MOS-call-number 1=19
+#
+#Classification-UDC     14  A classification number from    080
+#                           Universal Decimal
+#                           Classification, a system based
+#                           on the Dewey Decimal
+#                           Classification.
+#UDC-classification 1=14
+#
+#Code-bib-level       1021  A one-character alphabetic       Leader/07
+#                           code indicating the
+#                           bibliographic level such as
+#                           monograph, serial or collection
+#                           of the record.
+#Bib-level 1=1021
+#
+#Code-geographic-area   55  A code that indicates the       043
+#                           geographic area(s) that appear
+#                           or are implied in the headings
+#                           assigned to the item during
+#                           cataloging.
+#Code-geographic 1=55
+#
+#Code-geographic-     1022  A code that represents the      052
+#class                      geographic area and if
+#                           applicable the geographic
+#                           subarea covered by an item.
+#                           The codes are derived from
+#                           the LC Classification-Class G
+#                           and the expanded Cutter number
+#                           list.
+#Geographic-class 1=1022
+#
+#Code-institution       56  An authoritative-agency         040, 852$a
+#                           symbol for an institution
+#                           that is the source of the
+#                           record or the holding
+#                           location.  The code space is
+#                           defined by the target.
+#Code-institution 1=56
+#
+#Code-language          54  A code that indicates the       008/35-37, 041
+#                           language of the item.
+#                           The codes are defined by the
+#                           target.
+language          1=54
+ln language
+
+#Code-map-scale       1024  Coded form of cartographic      034
+#                           mathematical data, including
+#                           scale, projection and/or
+#                           coordinates related to the
+#                           item.
+#Map-scale 1=1024
+
+#Code-microform-        61  The code specifying the         007/11
+#generation                 generation of a microform.
+#Microform-generation 1=61
+#material-designation Microform-generation
+
+#Code-record-type     1001  A code that specifies the       Leader/06
+#                           characteristics and defines
+#                           the components of the record.
+#                           The codes are target-specific.
+Record-type 1=1001
+rtype Record-type
+mc-rtype Record-type
+mus 1=1001
+
+#Concept-reference    1015  Used within Z39.50-1988;
+#                           included here for historical
+#                           reasons but its use is
+#                           deprecated.
+#Concept-reference 1=1015
+
+#Concept-text         1014  Used within Z39.50-1988;
+#                           included here for historical
+#                           reasons but its use is
+#                           deprecated.
+#Concept-text        1=1014
+
+#Content-type         1034  The type of materials           derived value
+#                           contained in the item or        from 008/24-27
+#                           publication.  For example:
+#                           review, catalog, encyclopedia,
+#                           directory.
+Content-type         1=1034 t=b
+ctype Content-type
+
+#Control number-BNB     10  Character string that uniquely  015
+#                           identifies a record in the
+#                           British National Bibliography.
+#BNB-card-number 1=10
+
+#Control number-BNF     11  Character string that uniquely  015
+#                           identifies a record in the
+#                           Bibliotheque Nationale Francais.
+#BGF-number 1=11
+
+#Control number-DB      52  Character string that uniquely  015
+#                           identifies a record in the
+#                           Deutsche Bibliothek.
+#Number-db 1=52
+
+#Control number-LC       9  Character string that uniquely  010, 011
+#                           identifies a record in the
+#                           Library of Congress database.
+#LC-card-number 1=9
+#lc-card LC-card-number
+
+#Control number-local   12  Character string that uniquely  001, 035
+#                           identifies a record in a local
+#                           system (i.e., any system that
+#                           is not one of the four listed
+#                           above).
+Local-number 1=12
+
+#Date                   30  The point of time at which      005, 008/00-05,
+#                           a transaction or event          008/07-10, 260$c,
+#                           takes place.                    008/11-14, 033,etc.
+Date 1=30 4=109 r=r
+#yr Date
+
+#Date-publication       31  The date (usually year) in      008/07-10, 260$c
+#                           which a document is published.  046, 533$d
+Date-of-publication 1=31 4=109 r=r
+#dp Date-of-publication
+yr Date-of-publication
+
+#Date-acquisition       32  The date when a document was    541$d
+#                           acquired.
+Date-of-acquisition 1=32
+acqdate Date-of-acquisition
+#da Date-of-acquisition
+
+#Date/time added to   1011  The date and time that a        008/00-05
+#database                   record was added to the
+#                           database.
+#Date-time-added-to-db 1=1011
+
+#Date/time last       1012  The date and time a record      005
+#modified                   was last updated.
+#Date-time-last-modified       1=1012
+
+#Identifier--         1013  Used in full-text searching
+#authority/format           to indicate to the target
+#                           system the format of the
+#                           document that should be
+#                           returned to the originating
+#                           system.  The attribute carries
+#                           not only the format code, but
+#                           also the authority (e.g.,
+#                           system) that assigned that
+#                           code.
+#Authority/format-id 1=1013
+
+#Identifier-CODEN       60  A six-character, unique,        030
+#                           alphanumeric code assigned
+#                           to serial and monographic
+#                           publications by the CODEN
+#                           section of the Chemical
+#                           Abstracts Service.
+#CODEN 1=60
+
+#Identifier-document  1032  An identifier or Doc-ID,  
+#                           assigned by a server, that 
+#                           uniquely identifies a document 
+#                           on that server. May or may 
+#                           not be persistent. May be, 
+#                           for example, a URL.
+#            Note: this definition was modified October 1997.
+#Doc-id 1=1032
+
+#Identifier-ISBN         7  International Standard Book     020
+#                           Number -- internationally
+#                           agreed upon number that
+#                           identifies a book uniquely.
+#                           Cf. ANSI/NISO Z39.21 and
+#                           ISO 2108.
+ISBN         1=7
+nb ISBN
+
+#Identifier-ISSN         8  International Standard Serial   022, 4XX$x,
+#                           Number -- internationally       7XX$x
+#                           agreed upon number that
+#                           identifies a serial uniquely.
+#                           Cf. ANSI/NISO z39.9 and
+#                           ISO 3297.
+ISSN         1=8
+ns ISSN
+
+#Identifier-legal-      49  The copyright registration      017
+#deposit                    number that is assigned to
+#                           an item when the item is
+#                           deposited for copyright.
+#Number-legal-deposit 1=49
+
+#Identifier-local-call  53  Call number (e.g., shelf location)
+#                           assigned by a local system
+#                           (not a classification number).
+#Number-local-call 1=53
+
+#Identifier-national-   48  Character string that uniquely  015
+#bibliography               identifies a record in a
+#                           national bibliography.
+#Number-natl-biblio 1=48
+
+#Identifier-publisher-  51  A formatted number assigned     028
+#for-music                  by a publisher to a sound
+#                           recording or to printed music.
+#Number-music-publisher 1=51
+
+#Identifier-report    1027  A report number assigned to     027, 088
+#                           the item. This number could be
+#                           the STRN (Standard Technical
+#                           Report Number) or another
+#                           report number.
+#                           Cf. ANSI/NISO Z39.23 and
+#                           ISO 10444.
+#Report-number 1=1027
+
+#Identifier-standard  1007  Standard numbers such as ISBN,  010, 011, 015, 017,
+#                           ISSN, music publishers          018, 020, 022, 023,
+#                           numbers, CODEN, etc., that      024, 025, 027, 028,
+#                           are indexed together in many    030, 035, 037
+#                           online public-access catalogs.
+#Identifier-standard  1=1007 4=6
+Local-number  1=12
+#sn Identifier-standard
+sn Local-number
+#
+#Identifier-stock     1028  A stock number that could be    037
+#                           used for ordering the item.
+Stock-number 1=1028
+bc Stock-number
+
+#Identifier-thematic  1030  The numeric designation for a   $n in the following:
+#                           part/section of a work such as  130, 240, 243, 630,
+#                           the serial, opus or thematic    700, 730
+#                           index number.
+#Thematic-number 1=1030
+
+#Indexed-by           1023  For serials, a publication      510
+#                           in which the serial has been
+#                           indexed and/or abstracted.
+#Indexed-by          1=1023
+
+#Material-type        1031  A free-form string, more        derived value from
+#                           specific than the one-letter    Leader/06-07, 007,
+#                           code in Leader/06, that         008, and 502
+#                           describes the material type
+#                           of the item, e.g., cassette,
+#                           kit, computer database,
+#                           computer file.
+Material-type	1=1031
+#itemtype Material-type
+#collection Material-type
+collection-code Material-type
+mt Material-type
+mc-collection Material-type
+#dt-lh Material-type
+
+#Music-key            1025  A statement of the key in       $r in the following:
+#                           which the music is written.     130, 240, 243, 630,
+#                                                           700, 730
+#Music-key            1=1025
+
+#Name                 1002  The name of a person, corporate 100, 110, 111, 400,
+#                           body, conference, or meeting.   410, 411, 600, 610,
+#                           (Subject name headings are      611, 700, 710, 711,
+#                           included.)                      800, 810, 811
+#Name                 1=1002
+
+#Name-and-title         57  The name of a person, corporate 100/2XX, 110/2XX,
+#                           body, conference, or meeting,   111/2XX, subfields
+#                           and the title of an item.       $a & $t in
+#                           (Subject name headings are      following: 400,410,
+#                           included.)  The syntax of the   411, 600, 610, 611,
+#                           name-title combination is up    700, 710, 711, 800,
+#                           to the target, unless used      810, 811
+#                           with the Structure attribute
+#                           Key (see below).
+#Name-and-title         1=57
+
+#Name-corporate          2  An organization or a group      110, 410, 610, 710,
+#                           of persons that is identified   810
+#                           by a particular name. (Subject
+#                           name headings are included.)
+#Corporate-name 1=2
+#cpn Corporate-name
+
+#Name-conference         3  A meeting of individuals or     111, 411, 611, 711
+#                           representatives of various      811
+#                           bodies for the purpose of
+#                           discussing topics of common
+#                           interest.  (Subject name
+#                           headings are included.)
+#Conference-name 1=3
+#cfn Conference-name
+
+#Name-editor          1020  A person who prepared for       100 $a or 700 $a when
+#                           publication an item that is     the corresponding $e
+#                           not his or her own.             contains value 'ed.'
+#Editor 1=1020
+
+#Name-geographic        58  Name of a country,              651
+#                           jurisdiction, region, or
+#                           geographic feature.
+#Name-geographic        1=58
+
+#Name-geographic-place- 59  City or town where an item      008/15-17, 260$a
+#publication                was published.
+
+#Name-personal           1  A person's real name,           100, 400, 600, 700,
+#                           pseudonym, title of nobility    800
+#                           nickname, or initials.
+#Personal-name 1=1
+#pn Personal-name
+
+#Name-publisher       1018  The organization responsible    260$b
+#                           for the publication of the
+#                           item.
+Publisher 1=1018
+pb Publisher
+
+#Note                   63  A concise statement in which    5XX
+#                           such information as extended
+#                           physical description,
+#                           relationship to other works,
+#                           or contents may be recorded.
+Note                   1=63
+nt Note
+
+#Record-source        1019  The USMARC code or name of the  008/39, 040
+#                           organization(s) that created
+#                           the original record, assigned
+#                           the USMARC content designation
+#                           and transcribed the record into
+#                           machine-readable form, or
+#                           modified the existing USMARC
+#                           record; the cataloging source.
+#Record-source        1=1019
+
+#Server-choice        1017  The target substitutes one or
+#                           more access points.  The origin
+#                           leaves the choice to the target.
+#
+#
+#       Notes on relationship of Any and Server-choice:
+#        (1) When the origin uses 'Server-choice' it is asking the target
+#            to select one or more access points, and to use its best
+#            judgment in making that selection.  When 'Any' is used,
+#            there is no selection process involved; the target is to
+#            apply all of the (appropriate) supported Use attributes.
+#            The origin is asking the target to make a choice of access
+#            points.
+#        (2) The target might support 'Any' and not 'Server-choice', or
+#            vice versa, or both.  If the target supports both, when the
+#            origin uses 'Server-choice', the target might choose 'Any';
+#            however, it might choose any other Use attribute.
+#Server-choice        1=1017
+
+#Subject                21  The primary topic on which a    600, 610, 611, 630,
+#                           work is focused.                650, 651, 653, 654,
+#                                                           655, 656, 657, 69X
+Subject                1=21
+su Subject
+su-to Subject
+su-geo Subject
+su-ut Subject
+#Subject-BDI            23  Subject headings from
+#                           Bibliotek Dokumentasjon
+#                           Informasjon -- a controlled
+#                           subject vocabulary used and
+#                           maintained by the five Nordic
+#                           countries (Denmark, Finland,
+#                           Iceland, Norway, and Sweden).
+#BDI-index-subject 1=23
+
+#Subject-INSPEC         24  Subject headings from           600i2, 610i2,
+#                           Information Services for the    611i2, 630i2,
+#                           Physics and Engineering         650i2, 651i2
+#                           Communities -- the Information
+#                           Services Division of the
+#                           Institution of Electrical
+#                           Engineers.
+#INSPEC-subject 1=24
+
+#Subject-LC             27  Subject headings from           600i0, 610i0,
+#                           US Library of Congress          611i0, 630i0,
+#                           Subject Headings.               650i0, 651i0
+#LC-subject-heading 1=27
+
+#Subject-LC-          1008  Subject headings, for use       600i1, 610i1,
+#children's                 with children's literature,     611i1, 630i1,
+#                           that conform to the             650i1, 651i1
+#                           formulation guidelines in
+#                           the "AC Subject Headings"
+#                           section of the Library of
+#                           Congress Subject Headings.
+#Subject-LC-childrens 1=1008
+
+#Subject-local          29  Subjects headings defined
+#                           locally.
+#Local-subject-index 1=29
+
+#Subject-MESH           25  Subject headings from           600i2, 610i2,
+#                           Medical Subject Headings --     611i2, 630i2,
+#                           maintained by the US National   650i2, 651i2
+#                           Library of Medicine.
+#MESH-subject 1=25
+
+#Subject-name-        1009  A person's real name,           600
+#personal                   pseudonym, title of nobility
+#                           nickname, or initials that
+#                           appears in a subject heading.
+Subject-name-personal 1=1009
+su-na 1=1009
+#Subject-name-personal
+#Subject-PA             26  Subject headings from           600i2, 610i2,
+#                           Thesaurus of Psychological      611i2, 630i2,
+#                           Index Terms -- maintained       650i2, 651i2
+#                           by the Retrieval Services Unit
+#                           of the American Psychological
+#                           Association.
+#PA-subject 1=26
+
+#Subject-PRECIS         45  Subject headings from
+#                           PREserved Context Index
+#                           System -- a string of indexing
+#                           terms set down in a prescribed
+#                           order, each term being preceded
+#                           by a manipulation code which
+#                           governs the production of
+#                           pre-coordinated subject index
+#                           entries under selected terms --
+#                           maintained by the British
+#                           Library.
+#Subject-precis 1=45
+
+#Subject-RAMEAU         22  Subject headings from
+#                           Repertoire d'authorite de
+#                           matieres encyclopedique
+#                           unifie -- maintained by the
+#                           Bibliotheque Nationale
+#                           (France).
+#Subject-Rameau 1=22
+
+#Subject-RSWK           46  Subject headings from
+#                           Regeln fur den
+#                           Schlagwortkatalog --
+#                           maintained by the Deutsches
+#                           Bibliotheksinstitut.
+#Subject-rswk 1=46
+
+#Subject-RVM            28  Subject headings from           600i6, 610i6,
+#                           Repertoire des vedettes-        611i6, 630i6,
+#                           matiere -- maintained by the    650i6, 651i6
+#                           Bibliotheque de l'Universite
+#                           de Laval.
+#RVM-subject-heading 1=28
+
+#Subject-subdivision    47  An extension to a subject       6XX$x, 6XX$y,
+#                           heading indicating the form,    6XX$z
+#                           place, period of time treated,
+#                           or aspect of the subject
+#                           treated.
+#Subject-subdivision 1=47
+
+#Title                   4  A word, phrase, character,      130, 21X-24X, 440,
+#                           or group of characters,         490, 730, 740, 830,
+#                           normally appearing in an item,  840, subfield $t
+#                           that names the item or the      in the following:
+#                           work contained in it.           400, 410, 410, 600,
+#                                                           610, 611, 700, 710,
+#                                                           711, 800, 810, 811
+Title 1=4
+#5=1 1=4 s=pw
+#1=4
+ti Title
+
+#Title-abbreviated      43  Shortened form of the title;    210, 211 (obs.),
+#                           either assigned by national     246
+#                           centers under the auspices of
+#                           the International Serials Data
+#                           System, or a title (such as an
+#                           acronym) that is popularly
+#                           associated with the item.
+#Title-abbreviated      1=43
+
+#Title-added-title-page 37  A title on a title page         246i5
+#                           preceding or following the
+#                           title page chosen as the basis
+#                           for the description of the
+#                           item.  It may be more general
+#                           (e.g., a series title page),
+#                           or equally general (e.g., a
+#                           title page in another
+#                           language).
+#Title-added-title-page 1=37
+
+#Title-caption          38  A title given at the beginning  246i6
+#                           of the first page of the text.
+#Title-caption          1=38
+
+#Title-collective       34  A title proper that is an       243
+#                           inclusive title for an item
+#                           containing several works.
+#Title-collective       1=34
+
+#Title-cover            36  The title printed on the        246i4
+#                           cover of an item as issued. 
+Title-cover            1=36
+
+#Title-expanded         44  An expanded (or augmented)      214 (obs.), 246
+#                           title has been enlarged with
+#                           descriptive words by the
+#                           cataloger to provide
+#                           additional indexing and
+#                           searching capabilities.
+#Title-expanded         1=44
+
+#Title-former           42  A former title or title         247, 780
+#                           variation when one
+#                           bibliographic record
+#                           represents all issues of
+#                           a serial that has changed
+#                           title.
+#Title-former           1=42
+
+#Title-host-item      1033  The title of the item            773$t
+#                           containing the part
+#                           described in the record, for
+#                           example, a journal title
+#                           when the record describes an
+#                           article in the journal.
+Host-item      1=1033
+
+#Title-key              33  The unique name assigned to     222
+#                           a serial by the International
+#                           Serials Data System (ISDS).
+#Title-key              1=33
+
+#Title-other-variant    41  A variation from the title      212 (obs.), 246i3,
+#                           page title appearing elsewhere  247, 740
+#                           in the item (e.g., a variant
+#                           cover title, caption title,
+#                           running title, or title from
+#                           another volume) or in another
+#                           issue.
+#Title-other-variant    1=41
+
+#Title-parallel         35  The title proper in another     246i1
+#                           language and/or script.
+#Title-parallel         1=35
+
+#Title-related-       1026  Serial titles related to this   247, 780, 785
+#periodical                 item, either the immediate
+#                           predecessor or the immediate
+#                           successor.
+#Related-periodical 1=1026
+#Title-running          39  A title, or abbreviated title,  246i7
+#                           that is repeated at the head
+#                           or foot of each page or leaf.
+#Title-running          1=39
+
+#Title-series            5  Collective title applying to    440, 490, 830, 840,
+#                           a group of separate, but        subfield $t in the
+#                           related, items.                 following: 400,410,
+#                                                           411, 800, 810, 811
+Title-series            1=5
+#series Title-series
+se Title-series
+
+#Title-spine            40  A title appearing on the        246i8
+#                           spine of an item.
+#Title-spine            1=40
+
+#Title-uniform           6  The particular title by which   130, 240, 730,
+#                           a work is to be identified      subfield $t in the
+#                           for cataloging purposes.        following: 700,710,
+#                                                           711
+Title-uniform           1=6
+ut Title-uniform
+#Authority-number           Koha-Auth-Number  The Number   
+#                           for an authority to be searched subfield $9 in the
+#                           for cataloging purposes.        following: 700,701,702,710,
+#                                                           711,712 and some 6XX fields (Unimarc)
+Authority-number           1=Koha-Auth-Number
+an Authority-number
+
+#Authority/format-id        authtypecode  The Code 
+#                           associated to an authority type
+#                                                            152$b in authority records
+Authority/format-id           1=Authority/format-id
+at Authority/format-id
+
+#Heading-Entity             Information for Heading in an 
+#                           authority record 
+#                                                             usually 2.. fields
+Heading-Entity           1=Heading-Entity
+he Heading-Entity
+
+
+### 2. BIB1 RELATION ATTRIBUTES
+lt 2=1
+le 2=2
+eq 2=3
+ge 2=4
+ne 2=5
+phonetic 2=6
+stem 2=100
+relevance 2=102
+rk 2=102
+rank relevance
+
+AlwaysMatches 2=103
+Within 2=104
+
+### 3. BIB1 POSITION ATTRIBUTES
+first-in-field 3=1
+
+# we have to fake startswith until zebra supports it
+# starts with if we want no truncation ... need to ad 'term #'
+# finds 'starts with it' but not italian
+# see http://lists.indexdata.dk/pipermail/yazlist/2006-July/001664.html
+startswithnt 3=1 5=101 6=3
+
+# starts with with truncation
+first-in-subfield 3=2
+any-position-in-field 3=3
+
+### 4. BIB1 STRUCTURE ATTRIBUTES
+st-phrase 4=1
+phr st-phrase
+st-word  	4=2
+st-key 	4=3
+st-year 	4=4
+st-date-normalized 	4=5
+st-word-list 	4=6
+wrdl 4=6
+
+# there was a reason I didn't want to use this but it's
+# escaped me -- JF
+wrd 4=6
+
+#st-word
+st-date-un-normalized 	4=100
+st-name-normalized 	4=101
+st-name-un-normalized 	4=102
+st-structure 	4=103
+st-urx 	4=104
+st-free-form-text 	4=105
+st-document-text 	4=106
+st-local 	number 4=107
+st-string 	4=108
+st-numeric 	4=109
+#string 109
+
+### 5. BIB1 TRUNCATION ATTRIBUTES
+right-Truncation 5=1
+rt right-Truncation
+left-Truncation 	5=2
+left-and-right 	5=3
+do-not-truncate 	5=100
+process-in-search-term 	5=101
+regExpr-1 	5=102
+fuzzy 5=103
+regExpr-2 	5=103
+Z39-58	5=104
+
+### 6. BIB1 STRUCTURE ATTRIBUTES
+incomplete-subfield  	6=1
+complete-subfield 	6=2
+complete-field 	6=3
+
+### COMBINATIONS OF THE ABOVE
+ext 4=1 6=3
+
+## ATTRIBUTES NOT IN BIB1 OR ELSE ONES I DON"T KNOW WHERE IN BIB1 THEY BELONG
+#Language
+#ln 1=8805
+#language 1=8805
+
+#Musical Composition
+#mc
+
+# Publisher Location
+
+Place-publication 1=59
+pl Place-publication
+#pl 1=59
+
+# Extent
+Extent 1=8001
+
+#Summary			1=8002
+#att 8900            
+#Call-Number 1=8900
+#date-entered-on-file 1=8800
+#date1 1=8801
+#date2 1=8802
+#language 8805
+ff8-22 1=8822
+ff8-23 1=8823
+ff8-34 1=8834
+
+#att 8700            ff7-00
+#att 8701            ff7-01
+#att 8702            ff7-02
+#att 9520            withdrawn
+#att 9521            lost
+lost 1=9521 4=109
+#att 9522            onloan
+
+############## SUBJECT-RELATED
+# Topical Term
+#tt
+# Descriptor
+#de
+# Genre/Form
+#ge
+# Geographic Coverage
+#gc
+
+## Additional Author distinctions needed for field weighting
+# lastname,firstname entry in $100$a
+Author-personal-bibliography 1=8900
+aub Author-personal-bibliography
+# Author-in-order - firstname lastname in 245$c statement of responsibility
+Author-in-order 1=8901
+auo Author-in-order
+
+### LIMITS
+# AUDIENCE
+audience 1=8822
+aud audience
+
+# CONTENT and Literary form
+fiction 1=8833
+fic fiction
+#mystery 1=
+biography 1=8834
+bio biography
+
+# FORMAT
+format 1=8823
+
+# format limit
+l-format 1=8703
+
+#fmt format
+
+# BRANCH (of local library)
+branch 1=1033
+
+# Item Type
+
+# Year limit
+#yr 1=8801 4=109 r=r
+
+## STATUSES
+onloan 1=9522
+datedue 1=9522
+
+popularity 1=9523
+
+# Material Category
+mc 1=8700
+## TYPE LIMITS
+dt-bks 1=8700
+dt-vis 1=8700
+dt-sr 1=8700
+dt-cf 1=8700
+dt-map 1=8700
+
+# Rank Weights
+r1 9=32
+r2 9=28
+r3 9=26
+r4 9=10
+r5 9=22
+r6 9=20
+r7 9=18
+r8 9=16
+r9 9=14
+
+# Sorting
+title-sort-za 7=2 1=36
+title-sort-az 7=1 1=36
+# CCL DIRECTIVES
+# Truncation characters (it seems to take multiple arguments)
+ at truncation ? *
+# field specifies how multiple fields are to be combined.
+# There are two modes: or: multiple qualifier fields are
+# ORed, merge: attributes for the qualifier fields are
+# merged and assigned to one term.
+ at field merge
+# case specificies if CCL operatores and qualifiers
+# should be compared with case sensitivity or not.
+# Specify 0 for case sensitive; 1 for case insensitive.
+ at case 0
+# Tokens for CCL operators (it seems you can assign multiple tokens per operator which is nice)
+ at and and +
+ at or or |
+# make sure - doesn't conflict with another usage of this token
+ at not not
+ at set set
+# Not sure if you can specify tokens for prox operators, but here are the defaults
+# proximity of a, b - distance n - any order:
+# a %n b
+# proximity of a, b - distance n - in order:
+# a !n b
+# Integer n may be omitted - in which case distance is 1.
+
+# Rules for a few GILS fields
+#north  gils-attset,u=2040 r=o
+#south  gils-attset,u=2041 r=o
+#east  gils-attset,u=2038 r=o
+#west  gils-attest,u=2039 r=o
+#distributor gils-attset,u=2000 s=pw
+#distributorname gils-attset,u=2001 s=pw
+
+# Explain fields
+ExplainCategory      exp1,1=1
+HumanStringLanguage  exp1,1=2
+DatabaseName         exp1,1=3
+TargetName           exp1,1=4
+AttributeSetOID      exp1,1=5
+RecordSyntaxOID      exp1,1=6
+TagSetOID            exp1,1=7
+ExtededServiceOID    exp1,1=8
+DateAdded            exp1,1=9
+DateChanged          exp1,1=10
+DateExpires          exp1,1=11
+ElementSetName       exp1,1=12

Index: zebra/default.idx
===================================================================
RCS file: zebra/default.idx
diff -N zebra/default.idx
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/default.idx	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,56 @@
+# Zebra indexes as referred to from the *.abs-files.
+#  $Id: default.idx,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+#
+
+# Traditional word index
+# Used if completenss is 'incomplete field' (@attr 6=1) and
+# structure is word/phrase/word-list/free-form-text/document-text
+index w
+completeness 0
+position 1
+charmap sort-string-utf.chr
+
+# Phrase index
+# Used if completeness is 'complete {sub}field' (@attr 6=2, @attr 6=1)
+# and structure is word/phrase/word-list/free-form-text/document-text
+index p
+completeness 1
+charmap sort-string-utf.chr
+
+# URX (URL) index
+# Used if structure=urx (@attr 4=104)
+index u
+completeness 0
+charmap urx.chr
+
+# Numeric index
+# Used if structure=numeric (@attr 4=109)
+index n
+completeness 0
+charmap numeric.chr
+
+# Null map index (no mapping at all)
+# Used if structure=key (@attr 4=3)
+index 0
+completeness 0
+position 1
+charmap @
+
+# Year
+# Used if structure=year (@attr 4=4)
+index y
+completeness 0
+charmap @
+
+# Date
+# Used if structure=date (@attr 4=5)
+index d
+completeness 0
+charmap @
+
+# Sort register
+sort s
+completeness 1
+charmap sort-string-utf.chr
+
+

Index: zebra/pqf.properties
===================================================================
RCS file: zebra/pqf.properties
diff -N zebra/pqf.properties
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/pqf.properties	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,163 @@
+# $Id: pqf.properties,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+#
+# Propeties file to drive org.z3950.zing.cql.CQLNode's toPQF()
+# back-end and the YAZ CQL-to-PQF converter.  This specifies the
+# interpretation of various CQL indexes, relations, etc. in terms
+# of Type-1 query attributes.
+#
+# This configuration file generates queries using BIB-1 attributes.
+# See http://www.loc.gov/z3950/agency/zing/cql/dc-indexes.html
+# for the Maintenance Agency's work-in-progress mapping of Dublin Core
+# indexes to Attribute Architecture (util, XD and BIB-2)
+# attributes.
+
+# Identifiers for prefixes used in this file. (index.*)
+set.cql		= info:srw/cql-context-set/1/cql-v1.1
+set.rec		= info:srw/cql-context-set/2/rec-1.0
+set.dc		= info:srw/cql-context-set/1/dc-v1.1
+set.bath	= http://zing.z3950.org/cql/bath/2.0/
+
+# default set (in query)
+set		= info:srw/cql-context-set/1/dc-v1.1
+
+# The default access point and result-set references
+index.cql.serverChoice			= 1=1016
+	# srw.serverChoice is deprecated in favour of cql.serverChoice
+	# BIB-1 "any"
+
+index.rec.id				= 1=12
+
+index.dc.identifier    			= 1=1007          
+index.dc.title				= 1=4
+index.dc.subject			= 1=21
+index.dc.creator			= 1=1003
+index.dc.author				= 1=1003
+index.dc.itemtype                       = 1=1031
+index.dc.barcode                        = 1=1028
+index.dc.branch                         = 1=1033
+index.dc.isbn                           = 1=7
+index.dc.issn                           = 1=8
+index.dc.any				= 1=1016
+index.dc.note			= 1=63
+
+	### Unofficial synonym for "creator"
+index.dc.editor				= 1=1020
+index.dc.publisher			= 1=1018
+index.dc.description			= 1=62
+	# "abstract"
+index.dc.date				= 1=30
+index.dc.resourceType			= 1=1031
+	# guesswork: "Material-type"
+index.dc.format				= 1=1034
+	# guesswork: "Content-type"
+index.dc.resourceIdentifier		= 1=12
+	# "Local number"
+#index.dc.source				= 1=1019
+	# "Record-source"
+index.dc.language			= 1=54
+	# "Code--language"
+	
+index.dc.Place-publication		= 1=59
+	# "Place-publication"
+
+index.dc.relation			= 1=?
+	### No idea how to represent this
+index.dc.coverage			= 1=?
+	### No idea how to represent this
+index.dc.rights				= 1=?
+	### No idea how to represent this
+
+# Relation attributes are selected according to the CQL relation by
+# looking up the "relation.<relation>" property:
+#
+relation.<				= 2=1
+relation.le				= 2=2
+relation.eq				= 2=3
+relation.exact				= 2=3
+relation.ge				= 2=4
+relation.>				= 2=5
+relation.<>				= 2=6
+
+### These two are not really right:
+relation.all				= 2=3
+relation.any				= 2=3
+
+# BIB-1 doesn't have a server choice relation, so we just make the
+# choice here, and use equality (which is clearly correct).
+relation.scr				= 2=3
+
+# Relation modifiers.
+#
+relationModifier.relevant		= 2=102
+relationModifier.fuzzy                  = 5=103
+	### 100 is "phonetic", which is not quite the same thing
+relationModifier.stem			= 2=101
+relationModifier.phonetic		= 2=100
+
+# Position attributes may be specified for anchored terms (those
+# beginning with "^", which is stripped) and unanchored (those not
+# beginning with "^").  This may change when we get a BIB-1 truncation
+# attribute that says "do what CQL does".
+#
+position.first				= 3=1 6=1
+	# "first in field"
+position.any				= 3=3 6=1
+	# "any position in field"
+position.last				= 3=4 6=1
+	# not a standard BIB-1 attribute
+position.firstAndLast			= 3=3 6=3
+	# search term is anchored to be complete field
+
+# Structure attributes may be specified for individual relations; a
+# default structure attribute my be specified by the pseudo-relation
+# "*", to be used whenever a relation not listed here occurs.
+#
+structure.exact				= 4=108
+	# string
+structure.all				= 4=2
+structure.any				= 4=2
+structure.*				= 4=1
+	# phrase
+
+# Truncation attributes used to implement CQL wildcard patterns.  The
+# simpler forms, left, right- and both-truncation will be used for the
+# simplest patterns, so that we produce PQF queries that conform more
+# closely to the Bath Profile.  However, when a more complex pattern
+# such as "foo*bar" is used, we fall back on Z39.58-style masking.
+#
+truncation.right			= 5=1
+truncation.left				= 5=2
+truncation.both				= 5=3
+truncation.none				= 5=100
+truncation.z3958			= 5=104
+
+# Finally, any additional attributes that should always be included
+# with each term can be specified in the "always" property.
+#
+always					= 6=1
+# 6=1: completeness = incomplete subfield
+
+
+# Bath Profile support, added Thu Dec 18 13:06:20 GMT 2003
+# See the Bath Profile for SRW at
+#	http://zing.z3950.org/cql/bath.html
+# including the Bath Context Set defined within that document.
+#
+# In this file, we only map index-names to BIB-1 use attributes, doing
+# so in accordance with the specifications of the Z39.50 Bath Profile,
+# and leaving the relations, wildcards, etc. to fend for themselves.
+
+index.bath.keyTitle			= 1=33
+index.bath.possessingInstitution	= 1=1044
+index.bath.name				= 1=1002
+index.bath.personalName			= 1=1
+index.bath.corporateName		= 1=2
+index.bath.conferenceName		= 1=3
+index.bath.uniformTitle			= 1=6
+index.bath.isbn				= 1=7
+index.bath.issn				= 1=8
+index.bath.geographicName		= 1=58
+index.bath.notes			= 1=63
+index.bath.topicalSubject		= 1=1079
+index.bath.genreForm			= 1=1075
+

Index: zebra/record_authorities_unimarc.abs
===================================================================
RCS file: zebra/record_authorities_unimarc.abs
diff -N zebra/record_authorities_unimarc.abs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/record_authorities_unimarc.abs	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,183 @@
+# $Id: record_authorities_unimarc.abs,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+
+# indexing rules. It
+# results in a server which provides a passable Bath level 0 and 1 service
+############################################################################
+# IMPORTANT : this file MUST be renamed record.abs : this name is "hardcoded" in zebra
+# the default record.abs is designed for MARC21.
+############################################################################
+# NOTE: This is designed to be used with the grs.marcxml input filter
+# for ISO2709 (ANSI Z39.2) or grs.xml for MARCXML-formatted records. It
+# won't work for the old grs.marc input filter, which yields a different
+# internal structure.
+
+encoding utf-8
+name authorities
+attset auth1.att
+esetname F @
+esetname B @
+
+marc usmarc.mar
+systag sysno rank
+xpath disable
+
+all any
+melm 001		Local-Number
+melm 152$b		Authority/format-id
+#melm 005        Version-id
+#melm 015        IASDN
+
+
+########################
+# Coded fields
+########################
+#melm 100$a      date-entered-on-file:n:range(data,0,8),date-entered-on-file:s:range(data,0,8),auth-status:n:range(data,8,1),auth-status:s:range(data,8,1),language:n:range(data,9,3),language:s:range(data,9,3),char-encoding:w:range(data,13,4),char-encoding:s:range(data,13,4),ff100-17:w:range(data,17,3),ff100-21:w:range(data,21,2),ff100-23:w:range(data,23,1)
+
+#melm 101$a     Language
+#melm 102$a     Country-heading
+# Subject-Heading
+#melm 106$a     Vaut 0(inutilisable sujet-matiere),1 (utilisable sujet-matiere)ou 2(utilisable uniquement sujet-matiere)
+#melm 120$a Obligatoire sur Autorite NP : Sexe et discrimination
+#melm 123$a Obligatoire sur Autorite GEO : Localisation
+#melm 150$a Obligatoire sur Autorite CO : Type de collectivite
+# 4XX$3 5XX$3 7XX$3 authority number
+# 4XX$5 5XX$5 7XX$5 Linking type
+# 4XX$7 5XX$7 7XX$7 Script Cataloguing
+# 4XX$8 5XX$8 7XX$8 Language
+
+
+############ HEADINGS ##################
+melm 200$a Heading,Heading-Entity,Heading:s,personal-heading
+melm 210$a Heading,Heading-Entity,Heading:s,corporate-heading,Conference-heading
+melm 215$a Heading,Heading-Entity,Heading:s,Name-geographic
+#melm 216 Name-corporate
+melm 220$a Heading,Heading-Entity,Heading:s,personal-heading
+melm 230$a Heading,Heading-Entity,Heading:s,Title-Uniform
+melm 235$a Heading,Heading-Entity,Heading:s,Title-Uniform
+melm 250$a Heading,Heading-Entity,Heading:s,Subject-heading, Subject-heading:s
+
+melm 200 Heading-Entity,Heading-Entity:s, personal-Heading-Entity
+melm 210 Heading-Entity,Heading-Entity:s,corporate-Heading-Entity
+melm 210 Heading-Entity,Heading-Entity:s,Conference-Heading-Entity
+melm 215 Heading-Entity,Heading-Entity:s,Name-geographic-Entity
+#melm 216 Name-corporate
+melm 220 Heading-Entity,Heading-Entity:s,personal-Heading-Entity
+melm 230 Heading-Entity,Heading-Entity:s,Title-Uniform-entity
+melm 235 Heading-Entity,Heading-Entity:s,Title-Uniform-entity
+melm 250   Heading-Entity,Subject-Thesaurus
+
+#210 Heading - Corporate Body Name
+#215 Heading - Territorial or Geographical Name
+#216 Heading - Trademark
+#220 Heading - Family Name
+#230 Heading - Uniform Title
+#235 Heading - Collective Uniform Title
+#240 Heading - Name/Title
+#245 Heading - Name/Collective Uniform Title
+#250 Heading - Topical Subject
+#260 Heading - Place Access
+#280 Heading - Form, Genre or Physical Characteristics
+#melm 712		Author,Author:p,Author:s
+
+############ Rejected forms ##################
+melm 400$a See, See:s,See-Entity, personal-see,personal-see:w,personal-see:s,personal-see:p
+melm 410$a See, See:s,See-Entity, corporate-see
+melm 410$a See, See:s,See-Entity, Conference-see
+melm 415$a See, See:s,See-Entity, Name-geographic-see
+#melm 416 Name-corporate
+melm 440$a See, See:s,See-Entity, personal-see,personal-see:s
+melm 430$a See, See:s,See-Entity, Title-Uniform-see,Title-Uniform-see:s
+melm 435$a See, See:s,See-Entity, Title-Uniform-see,Title-Uniform-see:s
+melm 450$a See, See:s,See-Entity, Subject-see,Subject-see:s
+melm 400 See-Entity, personal-See-Entity,personal-See-Entity:s
+melm 410 See-Entity, corporate-See-Entity
+melm 410 See-Entity, Conference-See-Entity
+melm 415 See-Entity, Name-geographic-See-Entity
+#melm 416 Name-corporate
+melm 440 See-Entity, personal-See-Entity
+melm 430 See-Entity, Title-Uniform-See-Entity
+melm 435 See-Entity, Title-Uniform-See-Entity
+melm 450 See-Entity,Subject-See-Entity
+
+#410 Heading - Corporate Body Name
+#415 Heading - Territorial or Geographical Name
+#416 Heading - Trademark
+#440 Heading - Family Name
+#430 Heading - Uniform Title
+#435 Heading - Collective Uniform Title
+#440 Heading - Name/Title
+#445 Heading - Name/Collective Uniform Title
+#450 Heading - Topical Subject
+#460 Heading - Place Access
+#480 Heading - Form, Genre or Physical Characteristics
+#melm 714		Author,Author:p,Author:s
+
+############ Related forms ##################
+melm 500$a personal-see-also,personal-see-also:w,personal-see-also:s,personal-see-also:p
+melm 510$a corporate-see-also
+melm 510$a Conference-see-also
+melm 515$a Name-geographic-see-also
+#melm 416 Name-corporate
+melm 540$a personal-see-also,personal-see-also:w,personal-see-also:s,personal-see-also:p
+melm 530$a Title-Uniform-see-also,Title-Uniform-see-also:w,Title-Uniform-see-also:s,Title-Uniform-see-also:p
+melm 535$a Title-Uniform-see-also,Title-Uniform-see-also:w,Title-Uniform-see-also:s,Title-Uniform-see-also:p
+melm 550$a Subject-see-also,Subject-see-also:w,Subject-see-also:s,Subject-see-also:p
+#510 Heading - Corporate Body Name
+#515 Heading - Territorial or Geographical Name
+#516 Heading - Trademark
+#550 Heading - Family Name
+#530 Heading - Uniform Title
+#535 Heading - Collective Uniform Title
+#540 Heading - Name/Title
+#545 Heading - Name/Collective Uniform Title
+#550 Heading - Topical Subject
+#560 Heading - Place Access
+#580 Heading - Form, Genre or Physical Characteristics
+#melm 714		Author,Author:p,Author:s
+
+############ Parallel forms ##################
+melm 700$a personal-parallel,personal-parallel:w,personal-parallel:s,personal-parallel:p
+melm 710$a corporate-parallel
+melm 710$a Conference-parallel
+melm 715$a Name-geographic-parallel
+#melm 716 Name-corporate
+melm 770$a personal-parallel,personal-parallel:w,personal-parallel:s,personal-parallel:p
+melm 730$a Title-Uniform-parallel,Title-Uniform-parallel:w,Title-Uniform-parallel:s,Title-Uniform-parallel:p
+melm 735$a Title-Uniform-parallel,Title-Uniform-parallel:w,Title-Uniform-parallel:s,Title-Uniform-parallel:p
+melm 750$a Subject-parallel,Subject-parallel:w,Subject-parallel:s,Subject-parallel:p
+
+########## NOTES #################
+melm 300$a		Note
+melm 301$a		Note
+melm 302$a		Note
+melm 303$a		Note
+melm 304$a		Note
+melm 305$a		Note
+melm 306$a		Note
+melm 307$a		Note
+melm 308$a		Note
+melm 310$a		Note
+melm 311$a		Note
+melm 312$a		Note
+melm 313$a		Note
+melm 314$a		Note
+melm 315$a		Note
+melm 316$a		Note
+melm 317$a		Note
+melm 318$a		Note
+melm 320$a		Note
+melm 321$a		Note
+melm 322$a		Note
+melm 323$a		Note
+melm 324$a		Note
+melm 325$a		Note
+melm 326$a		Note
+melm 327$a		Note
+melm 328$a		Note
+melm 330$a		Note
+melm 332$a		Note
+melm 333$a		Note
+melm 336$a		Note
+melm 337$a		Note
+melm 345$a		Note
+

Index: zebra/record_authorities_usmarc.abs
===================================================================
RCS file: zebra/record_authorities_usmarc.abs
diff -N zebra/record_authorities_usmarc.abs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/record_authorities_usmarc.abs	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,36 @@
+# $Id: record_authorities_usmarc.abs,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+
+# This is a fairly simple example of a set of MARC21 Authority file indexing rules. 
+#Although designed for MARC21 most probably very similar with UNIMARC.
+encoding utf-8
+name marc21
+attset bib1.att
+esetname F @
+esetname B @
+
+marc usmarc.mar
+systag sysno rank
+xpath disable
+
+all any
+melm 035$6		 Authority/format-id
+melm 035$a		Local-number
+
+melm 100$a		Subject-subdivision,Subject-heading:w,Subject-heading:p,Subject-heading:s
+melm 100		Subject-subdivision:w,Subject-subdivision:s
+
+melm 110$a		Subject-subdivision,Subject-heading:w,Subject-heading:p,Subject-heading:s
+melm 110		Subject-subdivision:w,Subject-subdivision:s
+
+melm 150$a		Subject-subdivision,Subject-heading:w,Subject-heading:p,Subject-heading:s
+melm 150 		Subject-subdivision:w,Subject-subdivision:s
+
+melm 151$a		Subject-subdivision,Subject-heading:w,Subject-heading:p,Subject-heading:s
+melm 151 		Subject-subdivision:w,Subject-subdivision:s
+
+melm 152$a		Subject-subdivision,Subject-heading:w,Subject-heading:p,Subject-heading:s
+melm 152 		Subject-subdivision:w,Subject-subdivision:s
+
+##Add all possible authority fields to be used
+##Authority/format-id is our authtypecode
+##Local-number is authid
\ No newline at end of file

Index: zebra/record_biblios_unimarc.abs
===================================================================
RCS file: zebra/record_biblios_unimarc.abs
diff -N zebra/record_biblios_unimarc.abs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/record_biblios_unimarc.abs	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,208 @@
+# $Id: record_biblios_unimarc.abs,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+
+# indexing rules. It
+# results in a server which provides a passable Bath level 0 and 1 service
+############################################################################
+# IMPORTANT : this file MUST be renamed record.abs : this name is "hardcoded" in zebra
+# the default record.abs is designed for MARC21.
+############################################################################
+# NOTE: This is designed to be used with the grs.marcxml input filter
+# for ISO2709 (ANSI Z39.2) or grs.xml for MARCXML-formatted records. It
+# won't work for the old grs.marc input filter, which yields a different
+# internal structure.
+
+encoding utf-8
+name marc21
+attset bib1.att
+attset gils.att
+esetname F @
+esetname B @
+
+marc usmarc.mar
+systag sysno rank
+xpath disable
+
+all any
+melm 008		 date-entered-on-file:n:range(data,0,6),date-entered-on-file:s:range(data,0,6),date1:n:range(data,7,4),date1:s:range(data,7,4),date2:n:range(data,11,4),date2:s:range(data,11,4),ff8-22:w:range(data,22,1),language:w:range(data,35,3),ff8-33:w:range(data,33,1),ff8-34:w:range(data,34,1)
+
+melm 007		ff7-00:w:range(data,0,1),ff7-01:w:range(data,1,1),ff7-02:w:range(data,2,1)
+
+melm 010$a		ISBN:w
+# wrong ISBN
+melm 010$z		ISBN:w
+melm 011$a		ISSN:w
+# cancelled ISSN
+melm 011$y		ISSN:w
+# wrong ISSN
+melm 011$z		ISSN:w
+
+# Local-number (biblionumber can be either in 090$9 or, on some setup, on 001)
+melm 001        Local-number,Local-number:n
+melm 090$9      Local-number,Local-number:n
+melm 680$b		LC-call-number:s
+melm 680		LC-call-number
+#melm 001		Identifier-standard:w
+
+melm 200$b      Material-type
+#melm 200$b      Koha-Itemtype
+
+#melm 100$9		Cross-Reference	!:w
+
+melm 101$a		Code-Language:w
+
+############ AUTHORS ##################
+# main author
+melm 200$f		author,author:p,author:s
+# other authors
+melm 200$g		author,author:p
+# physical author
+melm 700$9      	Koha-Auth-Number,Koha-Auth-Number:n
+melm 700$a		author
+melm 700		author,author:p
+
+melm 701		author,author:p
+melm 702		author,author:p
+# collective author
+melm 710		author,author:p
+melm 711		author,author:p
+melm 712		author,author:p
+
+############## TITLE ##################
+# main title
+melm 200$a		title:w,title:p,title:s
+# title 2
+melm 200$c		title:w,title:p
+# // title
+melm 200$d		title:w,title:p
+# subtitle
+melm 200$e		title:w,title:p
+
+
+
+#Series
+melm 225$a      Title-series
+melm 225$d      Title-series
+#Subtitle
+melm 225$e      Title-series 
+#Authors
+melm 225$f      Author,Author-Title-series
+#Part-Title
+melm 225$h      Title-series 
+#Part Number
+melm 225$i      Title-series 
+#Volume
+melm 225$v      Title-series 
+melm 225$x      ISSN
+
+melm 230$a      Electronic-Ressource
+
+# authorities title
+melm 500		title
+melm 501		title
+melm 503		title
+melm 510		title
+melm 512		title
+melm 513		title
+melm 514		title
+melm 515		title
+melm 516		title
+melm 517		title
+melm 518		title
+melm 519		title
+melm 520		title
+melm 530		title
+melm 531		title
+melm 532		title
+melm 540		title
+melm 541		title
+melm 545		title
+
+melm 210$a		Place-publication	!:w,!:p
+melm 210$x		Publisher		!:w,!:p
+melm 210$d		Date,Date:s,		!:y
+
+
+########## NOTES #################
+melm 300$a		Note	!:w,!:p
+melm 301$a		Note	!:w,!:p
+melm 302$a		Note	!:w,!:p
+melm 303$a		Note	!:w,!:p
+melm 304$a		Note	!:w,!:p
+melm 305$a		Note	!:w,!:p
+melm 306$a		Note	!:w,!:p
+melm 307$a		Note	!:w,!:p
+melm 308$a		Note	!:w,!:p
+melm 309$a		Note	!:w,!:p
+melm 310$a		Note	!:w,!:p
+melm 311$a		Note	!:w,!:p
+melm 312$a		Note	!:w,!:p
+melm 313$a		Note	!:w,!:p
+melm 314$a		Note	!:w,!:p
+melm 315$a		Note	!:w,!:p
+melm 316$a		Note	!:w,!:p
+melm 317$a		Note	!:w,!:p
+melm 318$a		Note	!:w,!:p
+melm 320$a		Note	!:w,!:p
+melm 321$a		Note	!:w,!:p
+melm 322$a		Note	!:w,!:p
+melm 323$a		Note	!:w,!:p
+melm 324$a		Note	!:w,!:p
+melm 325$a		Note	!:w,!:p
+melm 326$a		Note	!:w,!:p
+melm 327$a		Note	!:w,!:p
+melm 328$a		Note	!:w,!:p
+melm 330$a		Note	!:w,!:p
+melm 332$a		Note	!:w,!:p
+melm 333$a		Note	!:w,!:p
+melm 336$a		Note	!:w,!:p
+melm 337$a		Note	!:w,!:p
+melm 345$a		Note	!:w,!:p
+
+########### SUBJECTS (6xx) ##################
+melm 600$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 601$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 602$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 603$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 604$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 605$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 606$9      Koha-Auth-Number,Koha-Auth-Number:n
+melm 610$9      Koha-Auth-Number,Koha-Auth-Number:n
+
+melm 600$a		author
+melm 600		subject-heading,subject-heading:p
+melm 601$a		author
+melm 601		subject-heading,subject-heading:p
+melm 604$a		author
+melm 604$t		title
+melm 610$t		title
+melm 605$a		title
+melm 606		subject-heading,subject-heading:p
+melm 610		subject-heading
+
+
+
+
+######################
+
+
+
+
+#melm 650$9		Controlled-Subject-Index	
+
+melm 676$a		Dewey-classification:w,Dewey-classification:s
+
+#############"# item information (based on 995) ###############
+#melm 995$j		LC-card-number:s
+
+#melm 995$k		Call-Number
+melm 995$k		Local-classification
+
+#melm 952$a		Local-classification
+#melm 995$a		Record-source
+melm 995$a		Host-item
+#melm 995$c		Host-item
+#melm 995$d		Host-item
+melm 995$f		Stock-number
+melm 995$s      popularity:n,popularity:s
+#melm 952$v		Date-of-acquisition,Date-of-acquisition:d,Date-of-acquisition:s
+#melm 952		Local-classification

Index: zebra/record_biblios_usmarc.abs
===================================================================
RCS file: zebra/record_biblios_usmarc.abs
diff -N zebra/record_biblios_usmarc.abs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/record_biblios_usmarc.abs	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,105 @@
+# $Id: record_biblios_usmarc.abs,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+
+# This is a fairly simple example of a set of MARC21 indexing rules. It
+# results in a server which provides a passable Bath level 0 and 1 service
+# (author, title, subject, keyword and exact services). Feel free to
+# elaborate on it, and if you do, please consider sharing your additions.
+# NOTE: This is designed to be used with the grs.marcxml input filter
+# for ISO2709 (ANSI Z39.2) or grs.xml for MARCXML-formatted records. It
+# won't work for the old grs.marc input filter, which yields a different
+# internal structure.
+encoding utf-8
+name marc21
+attset bib1.att
+attset gils.att
+esetname F @
+esetname B @
+
+marc usmarc.mar
+systag sysno rank
+xpath disable
+
+all any
+melm 020$a		ISBN:w
+melm 022$a		ISSN:w,ISBN:w
+melm 050$b		LC-call-number:s
+melm 050		LC-call-number
+melm 090$a		LCalpha:s
+melm 090$b		LCnumber:s
+melm 090$c		Identifier-standard:w
+melm 100$9	Cross-Reference	!:w
+melm 100$a		author,author:p,author:s
+melm 100		author
+melm 110		author
+melm 111		author
+melm 130		title
+melm 240		title,title:p
+melm 242		title,title:p
+melm 243		title,title:p
+melm 245$a		title:w,title:p,title:s
+melm 245$c		author
+melm 245		title,title:p
+melm 246		title,title:p
+melm 247		title,title:p
+melm 260$a		Place-publication	!:w,!:p
+melm 260$b		Publisher		!:w,!:p
+melm 260$c		Date		!:y
+melm 260		Place-publication	
+melm 400$t		title,author
+melm 400		author
+melm 410$t		title,author
+melm 410		author
+melm 411$t		title,author
+melm 411		author
+melm 440$a		title,title:p
+melm 440		title
+melm 490$a		title,title:p
+melm 490		title
+melm 600$t		title
+melm 600		subject-heading,subject-heading:p
+melm 610$t		title
+melm 610		subject-heading
+melm 611$t		title
+melm 611		subject-heading
+melm 630		subject-heading
+melm 650$9		Controlled-Subject-Index	
+melm 650		subject-heading,subject-heading:p
+melm 651$9		Controlled-Subject-Index	
+melm 651		subject-heading,subject-heading:p
+melm 652$9		Controlled-Subject-Index	
+melm 652		subject-heading,subject-heading:p
+melm 653$9		Controlled-Subject-Index	
+melm 653		subject-heading,subject-heading:p
+melm 654$9		Controlled-Subject-Index	
+melm 654		subject-heading
+melm 655$9		Controlled-Subject-Index	
+melm 655		subject-heading
+melm 656$9		Controlled-Subject-Index	
+melm 656		subject-heading
+melm 657$9		Controlled-Subject-Index	
+melm 657		subject-heading
+
+melm 700$9		Cross-Reference
+melm 700$t		title,author
+melm 700$a		author,author:p
+melm 700		author
+melm 710$t		title,author
+melm 710$a		author,author:p
+melm 710		author
+melm 711$t		title,author
+melm 711		author
+melm 730		title
+melm 740		title
+melm 800$t		title,author
+melm 800		author
+melm 810$t		title,author
+melm 810		author
+melm 811$t		title,author
+melm 811		author
+melm 830		title
+melm 952$a		Local-classification
+melm 952$b		Holding-branch
+melm 952$d		Shelving
+melm 952$p		Stock-number
+melm 952$s      popularity:n,popularity:s
+melm 952$v       Date-of-acquisition:d

Index: zebra/sort-string-utf_french.chr
===================================================================
RCS file: zebra/sort-string-utf_french.chr
diff -N zebra/sort-string-utf_french.chr
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ zebra/sort-string-utf_french.chr	9 Mar 2007 15:47:25 -0000	1.2
@@ -0,0 +1,51 @@
+# Generic character map.
+#
+# $Id: sort-string-utf_french.chr,v 1.2 2007/03/09 15:47:25 tipaul Exp $
+
+# Define the basic value-set. *Beware* of changing this without re-indexing
+# your databases.
+lowercase {0-9}{a-y}üzæäøöå
+uppercase {0-9}{A-Y}ÜZÆÄØÖÅ
+
+# Breaking characters
+
+# Characters to be considered equivalent for searching purposes.
+
+equivalent æä(ae)
+equivalent øö(oe)
+equivalent å(aa)
+#equivalent uü
+equivalent y(i)
+
+# Supplemental mappings
+
+map (&auml;)       ä
+map (&aelig;)      æ
+map (&oslash;)     ø
+map (&aring;)      å
+map (&ouml;)       ö
+map (&Auml;)       Ä
+map (&Aelig;)      Æ
+map (&Oslash;)     Ø
+map (&Aring;)      Å
+map (&Ouml;)       Ö
+
+map (âàáäÂÀÂ)		a
+map (êèéëÊÈÉË)		e
+map (îïíÎÏ)		i
+map (ôöóÔÖ)		o
+map (ûùüÛÜ)       u
+map (ç)       c
+#map (y)   i
+
+#map (Aa)	(AA)
+
+#map (aa)        a
+map (^Le\s)    @
+map (^La\s)    @
+map (^Les\s)      @
+map (^Un\s)      @
+map (^Une\s)     @
+map (^De\s)     @
+map (^Des\s)     @
+





More information about the Koha-cvs mailing list