diff --git a/.gitignore b/.gitignore index 156e4b34ca9eac5b9261e03bded0a0af1524b8f0..3a1e5cc52598a02ff651d7c267a4d1ef273d3050 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ import/solrmarc.log* /node_modules /public/swagger-ui /.vagrant +/import /solr /auth.json /core diff --git a/import/README.md b/import/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d71d07c1c1477ae173ed6eea0726f93822cd5a54 --- /dev/null +++ b/import/README.md @@ -0,0 +1,4 @@ +All finc import scripts and schema files are maintained at https://git.sc.uni-leipzig.de/ubl/finc/index . + +For the used import scripts and schema file of the current finc VuFind based on release-5.1 refer to: +https://git.sc.uni-leipzig.de/ubl/finc/index/vufind-5.1//blob/master/import/ diff --git a/import/bin/deletefields b/import/bin/deletefields deleted file mode 100644 index eb768bfeea7480305f02144bfea5dbd6ef58165d..0000000000000000000000000000000000000000 --- a/import/bin/deletefields +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/bash -# deletefields -# delete specified fields or subfields from records -# $Id: deletefields - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - echo " Usage: cat /path/to/big/marcfile.mrc | `basename $0` 'fieldspec/search_string'" - echo " would get the records in the file that have search_string in the fieldspec (e.g. '245a/Jefferson')" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -Dmarc.delete_subfields="$1" -Dmarc.combine_records="" -jar $scriptdir/SolrMarc.jar translate $2 $3 - -exit 0 - diff --git a/import/bin/deletefields.bat b/import/bin/deletefields.bat deleted file mode 100644 index 7f209aa359770cad5b14b586e6e3443f78144063..0000000000000000000000000000000000000000 --- a/import/bin/deletefields.bat +++ /dev/null @@ -1,20 +0,0 @@ -@echo off -:: filterrecords.bat -:: Grep for marc records -:: $Id: filterrecords.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -Dmarc.delete_subfields="%1" -Dmarc.combine_records="" -jar %scriptdir%SolrMarc.jar translate %2 %3 -goto done - -:done diff --git a/import/bin/filterrecords b/import/bin/filterrecords deleted file mode 100644 index 7c62bb6f1a16cf1a63ffa9d2b51fb227278bd10d..0000000000000000000000000000000000000000 --- a/import/bin/filterrecords +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/bash -# filterrecords -# Grep for marc records: selects only those records that contain certain fields or certain values in certain fields. -# $Id: filterrecords - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - echo " Usage: cat /path/to/big/marcfile.mrc | `basename $0` 'fieldspec/search_string'" - echo " would get the records in the file that have search_string in the fieldspec (e.g. '245a/Jefferson')" - exit $E_BADARGS - fi -fi -if [[ "${1:0:1}" == "-" ]] -then - parm=`echo $1 | sed -e 's/.//'` - java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -Dmarc.include_if_missing="$parm" -Dmarc.combine_records="" -jar $scriptdir/SolrMarc.jar translate $2 $3 -else - java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -Dmarc.include_if_present="$1" -Dmarc.combine_records="" -jar $scriptdir/SolrMarc.jar translate $2 $3 -fi -exit 0 - diff --git a/import/bin/filterrecords.bat b/import/bin/filterrecords.bat deleted file mode 100644 index 6d78a79674465b9773d40fd38d7560539d649294..0000000000000000000000000000000000000000 --- a/import/bin/filterrecords.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off -:: filterrecords.bat -:: Grep for marc records -:: $Id: filterrecords.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -set arg=%1 -if "%arg:~0,1%" == "-" goto missing -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -Dmarc.include_if_present="%1" -Dmarc.combine_records="" -jar %scriptdir%SolrMarc.jar translate %2 %3 -goto done -:missing -set arg1=%arg:~1% -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -Dmarc.include_if_missing="%arg1%" -Dmarc.combine_records="" -jar %scriptdir%SolrMarc.jar translate %2 %3 - -:done diff --git a/import/bin/getdefaultconfig b/import/bin/getdefaultconfig deleted file mode 100644 index f53cc01126b35d2633c1a10efd673d729a7ba5be..0000000000000000000000000000000000000000 --- a/import/bin/getdefaultconfig +++ /dev/null @@ -1,17 +0,0 @@ -#! /bin/bash -# getdefaultconfig -# return the name of the default configuration file -# $Id: getdefaultconfig - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -java -Dsolrmarc.main.class="org.solrmarc.tools.GetDefaultConfig" -jar $scriptdir/SolrMarc.jar - -exit 0 - diff --git a/import/bin/getdefaultconfig.bat b/import/bin/getdefaultconfig.bat deleted file mode 100644 index 21aba44af1550f6bea40596bdebd3a1534dd9043..0000000000000000000000000000000000000000 --- a/import/bin/getdefaultconfig.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: getdefaultconfig.bat -:: Grep for marc records -:: $Id: getdefaultconfig.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.tools.GetDefaultConfig" -jar %scriptdir%SolrMarc.jar diff --git a/import/bin/getfromsolr b/import/bin/getfromsolr deleted file mode 100644 index 49069329d06ba95f4d2db7976e4e547fad564ec7..0000000000000000000000000000000000000000 --- a/import/bin/getfromsolr +++ /dev/null @@ -1,81 +0,0 @@ -#! /bin/bash -# getfromsolr.sh -# extracts complete MARC records from Solr index documents. -# $Id: getfromsolr.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if [ $# -eq 0 ] - then - echo " Usage: `basename $0` http://remoteMachine:port/solr id:u30980" - echo " Usage: `basename $0` id:u38989" - exit $E_BADARGS -fi - -id= -url= -config= -flag= -field= - -handle_arg() { - if [ ! -z "$arg" ] - then - case "$arg" in - http*) url="$arg" ;; - *.properties) config="$arg" ;; - *:*) query="$arg" ;; - [A-Za-z0-9]*) - if [[ "$id" == "" && "$query" == "" ]] - then - id="$arg" - else - field="$arg" - fi - ;; - -v) flag="$arg" ;; - -vv) flag="$arg" ;; - esac - fi -} - -arg=$1 -handle_arg -arg=$2 -handle_arg -arg=$3 -handle_arg -arg=$4 -handle_arg -arg=$5 -handle_arg - -if [[ "$query" == "" && "$id" != "" ]] -then - query="id:$id" -fi - -if [[ "$flag" == "-vv" ]] -then - echo config = $config 1>&2 - echo url = $url 1>&2 - echo query = $query 1>&2 - echo id = $id 1>&2 - echo field = $field 1>&2 -fi - -if [ "$url" == "" ] -then - java -Dsolrmarc.main.class="org.solrmarc.marc.SolrReIndexer" -jar $scriptdir/SolrMarc.jar $config "$query" $field 2> /dev/null -else - java -Dsolrmarc.main.class="org.solrmarc.solr.RemoteSolrSearcher" -jar $scriptdir/SolrMarc.jar $flag $url "$query" $field -fi - -exit 0 - diff --git a/import/bin/getfromsolr.bat b/import/bin/getfromsolr.bat deleted file mode 100644 index 2f2136237578817a30b3028393c4fbdbb72bac95..0000000000000000000000000000000000000000 --- a/import/bin/getfromsolr.bat +++ /dev/null @@ -1,68 +0,0 @@ -@echo off -:: getfromsolr.bat -:: Program to extract one or more MARC records from a solr index -:: $Id: getfromsolr.bat -::Get the current batch file's short path -setlocal -:: -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -:: -if "%1" EQU "" goto usage -:: -set id= -set url= -set query= -set field= -set config= -:: -if "%1" NEQ "" call :set_arg %1 -if "%2" NEQ "" call :set_arg %2 -if "%3" NEQ "" call :set_arg %3 -::echo id=%id% -::echo url=%url% -:: -if "%query%" == "" if "%id%" NEQ "" set query=id:%id% -::echo query=%query% -:: -if "%url%" == "" java -Dsolrmarc.main.class=org.solrmarc.marc.SolrReIndexer -jar %scriptdir%SolrMarc.jar %config% "%query%" "%field%" 2> NUL -if "%url%" NEQ "" java -Dsolrmarc.main.class="org.solrmarc.solr.RemoteSolrSearcher" -jar %scriptdir%SolrMarc.jar %url% "%query%" "%field%" -:: -goto done -:: -:usage -echo Usage: %0 field:term (field_name_containing_marc_record) -goto done -:: -:set_arg -:: -set arg=%1 -if "%arg:~-17%" == "config.properties" goto setconfig -if "%arg:~0,4%" == "http" goto set_url -if "%id%" NEQ "" goto :have_query -if "%query%" NEQ "" goto :have_query -for /f "tokens=1,2 delims=:" %%g in ("%arg%") do set a1=%%g&set a2=%%h -if "%a2%" == "" set id=%a1% -if "%a2%" NEQ "" set query=%arg% -goto :eof -:: -:set_url -set url=%arg% -goto :eof -:: -:setconfig -set config=%arg% -goto :eof -:: -:have_query -set field=%arg% -goto :eof -:: -:done diff --git a/import/bin/getrecord b/import/bin/getrecord deleted file mode 100644 index 4195bad15c01409707424cd301d57cd98f0286b8..0000000000000000000000000000000000000000 --- a/import/bin/getrecord +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/bash -# getrecord -# Get specific record(s) from larger file of marc records. -# $Id: getrecord - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` ./path/to/marcfile.mrc regex_of_ids_to_extract" - echo " Usage: `basename $0` ./path/to/marcfile.mrc -h field_that_must_be_present" - echo " Usage: `basename $0` ./path/to/marcfile.mrc file_with_list_of_ids.txt" - - exit $E_BADARGS - fi - arg1=$1 - arg2=$2 - arg3=$3 - arg4=$4 - arg5=$5 - arg6=$6 -else - arg1=- - arg2=$1 - arg3=$2 - arg4=$3 - arg5=$4 - arg6=$5 - arg7=$6 -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.RawRecordReader" -jar $scriptdir/SolrMarc.jar $arg1 $arg2 $arg3 $arg4 $arg5 $arg6 $arg7 - -exit 0 - diff --git a/import/bin/getrecord.bat b/import/bin/getrecord.bat deleted file mode 100644 index 41053129cb882b8518cf2352f9f33c5356a84d34..0000000000000000000000000000000000000000 --- a/import/bin/getrecord.bat +++ /dev/null @@ -1,30 +0,0 @@ -@echo off -:: getrecord.bat -:: Program to extract one or more MARC records from a file -:: $Id: getrecord.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -set inarg=%1 - -set arg1=- -for /f "delims=" %%a in ('echo %inarg% ^| findstr "\.mrc"') do @set arg1=%%a - -if "%arg1%" EQU "-" set arg2=%1 -if "%arg1%" NEQ "-" set arg2=%2 - -if "%arg1%" EQU "-" set arg3=%2 -if "%arg1%" NEQ "-" set arg3=%3 - -if "%arg1%" EQU "-" set arg4=%3 -if "%arg1%" NEQ "-" set arg4=%4 - -java -Dsolrmarc.main.class="org.solrmarc.marc.RawRecordReader" -jar %scriptdir%SolrMarc.jar %arg1% %arg2% %arg3% %arg4% diff --git a/import/bin/getz3950 b/import/bin/getz3950 deleted file mode 100644 index ee821d3771263cdd9fa32b15e5e12697b3a0c061..0000000000000000000000000000000000000000 --- a/import/bin/getz3950 +++ /dev/null @@ -1,46 +0,0 @@ -#! /bin/bash -# getz3950 -# Get specific record(s) over a z3950 connection -# $Id: getz3950 - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/MarcFetch.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi -if ! [ -e $scriptdir/MarcFetch.jar ] -then - echo "Error: Optional MarcFetch.jar not found in the SolrMarc distribution directory. (exiting)" - exit 1 -fi - -server= - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` url_of_z3950_server:port id1 id2 id3 id4 id5 ..." - echo " Usage: `basename $0` url_of_z3950_server:port file_with_list_of_ids.txt" - echo " Usage: cat file_with_list_of_ids.txt | `basename $0` url_of_z3950_server:port -" - - exit $E_BADARGS - fi - if [ "`echo $1 | egrep '[A-Za-z0-9]+[.][A-Za-z0-9]+[.][A-Za-z0-9]+[.][A-Za-z0-9]+:[0-9]+'`" != "" ] - then - server=$1 - shift - fi -else - if [ "`echo $1 | egrep '[A-Za-z0-9]+[.][A-Za-z0-9]+[.][A-Za-z0-9]+[.][A-Za-z0-9]+:[0-9]+'`" != "" ] - then - server=$1 - shift - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.z3950.Z3950MarcReader" -jar $scriptdir/MarcFetch.jar $server $* - -exit 0 diff --git a/import/bin/hathifetch b/import/bin/hathifetch deleted file mode 100644 index 6ebd4ad87f9ebb802d6d0f4ffff625350a530bb8..0000000000000000000000000000000000000000 --- a/import/bin/hathifetch +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/bash -# hathifetch.sh -# Program to retrieve JSON records from Hathi Trust and extract the marc records from those JSON records. -# $Id: hathifetch.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [-s NumToSkip] [-n NumToReturn] file_with_ids " - echo " or : `basename $0` [-s NumToSkip] [-n NumToReturn] url_with_ids " - echo " or : cat file_with_hathi_ids | `basename $0` [-s NumToSkip] [-n NumToReturn]" - echo " other options -d = debug retrieve and print the recordURL strings only" - echo " -v = verbose fetch records and print them out as Ascii Marc" - echo " -856 = add 856 add 856 fields to the records based on the 974 fields" - echo " Note: file_with_ids can be Hathi Record numbers only (one per line), or Hathi Data listings" - echo " like the following line where the Hathi Record number is one of several entries on a line." - echo " Note also that the program supports reading gzipped input files." - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.tools.HathiPlunderer" -jar $scriptdir/SolrMarc.jar $1 $2 $3 $4 $5 $6 $7 $8 $9 - -exit $? diff --git a/import/bin/hathifetch.bat b/import/bin/hathifetch.bat deleted file mode 100644 index 84d55e78c6a2bdeae4daf660e1df3520e291c20c..0000000000000000000000000000000000000000 --- a/import/bin/hathifetch.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo off -:: hathifetch.bat -:: Program to retrieve JSON records from Hathi Trust and extract the -:: marc records from those JSON records. -:: $Id: hathifetch.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto checkargs -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:checkargs -if "%1"=="" GOTO doit - echo " Usage: hathifetch.bat [-s NumToSkip] [-n NumToReturn] file_with_ids " - echo " or : hathifetch.bat [-s NumToSkip] [-n NumToReturn] url_with_ids " - echo " or : cat file_with_hathi_ids | hathifetch.bat [-s NumToSkip] [-n NumToReturn]" - echo " other options -d = debug retrieve and print the recordURL strings only" - echo " -v = verbose fetch records and print them out as Ascii Marc" - echo " -856 = add856 add 856 fields to the records based on the 974 fields" - echo " Note: file_with_ids can be Hathi Record numbers only (one per line), or Hathi Data listings" - echo " like the following line where the Hathi Record number is one of several entries on a line." - echo " Note also that the program supports reading gzipped input files." -GOTO done - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.tools.HathiPlunderer" -jar %scriptdir%SolrMarc.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 - -:done diff --git a/import/bin/import.bat b/import/bin/import.bat deleted file mode 100644 index 66eac1edfdc132cf4b65050538020d6f9c88189d..0000000000000000000000000000000000000000 --- a/import/bin/import.bat +++ /dev/null @@ -1,89 +0,0 @@ -@echo off -:: $Id: index_file.sh 17 2008-06-20 14:40:13Z wayne.graham $ -:: -:: Batch script to start the import of a binary marc file for Solr indexing. -:: -:: VUFIND_HOME -:: Path to the vufind installation -:: SOLRMARC_HOME -:: Path to the solrmarc installation -:: JAVA_HOME -:: Path to the java -:: INDEX_OPTIONS -:: Options to pass to the JVM -:: -setlocal - -set E_BADARGS=65 -set EXPECTED_ARGS=1 - -if "$1" NEQ "" goto havearg - for %%g in (%0) do set basename=%%~nxg - echo " Usage: %basename% .\path\to\marc.mrc" - goto done - -:havearg - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Set INDEX_OPTIONS -:: Tweak these in accordance to your needs -:: Xmx and Xms set the heap size for the Java Virtual Machine -:: You may also want to add the following: -:: -XX:+UseParallelGC -:: -XX:+AggressiveOpts -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set INDEX_OPTIONS=-Xms512m -Xmx512m - - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Set SOLRCORE -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%SOLRCORE%" EQU "" set SOLRCORE="biblio" - - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Set SOLR_HOME -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%VUFIND_HOME%" NEQ "" goto havevufindhome -echo You need to set the VUFIND_HOME environmental variable before running this script. -goto done - -:havevufindhome -if "%SOLR_HOME%" NEQ "" goto havesolrhome -set SOLR_HOME=%VUFIND_HOME%\solr - -:havesolrhome - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Set SOLRMARC_HOME -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%SOLRMARC_HOME%" EQU "" set SOLRMARC_HOME=%VUFIND_HOME%\import - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Build java command -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set JAVA=java -if "%JAVA_HOME%" NEQ "" set JAVA="%JAVA_HOME%\bin\java" - - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Set Command Options -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set JAR_FILE="%VUFIND_HOME%\import\@CUSTOM_JAR_NAME@" -set PROPERTIES_FILE="vufind_config.properties" -set ERROR_LOG="import\error-log" -set IMPORT_LOG="import\import-log" -set SOLRWARLOCATIONORJARDIR=%VUFIND_HOME%\solr\jetty\webapps\solr.war -set SOLR_JAR_DEF=@SOLR_JAR_DEF@ - -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Execute Importer -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: - -pushd %SOLRHOME% -echo "Now Importing %1 ..." -%JAVA% %INDEX_OPTIONS% %SOLR_JAR_DEF% -Dsolr.core.name=%SOLRCORE% -Dsolrmarc.path=%SOLRMARC_HOME% -Dsolr.path=%SOLR_HOME% -jar %JAR_FILE% %PROPERTIES_FILE% %1 > %IMPORT_LOG% 2> %ERROR_LOG% -popd - -:done -endlocal diff --git a/import/bin/import.sh b/import/bin/import.sh deleted file mode 100644 index afb93bd0bb1e1c3b19ea2010aa81f67afd74d1da..0000000000000000000000000000000000000000 --- a/import/bin/import.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -# $Id: index_file.sh 17 2008-06-20 14:40:13Z wayne.graham $ -# -# Bash script to start the import of a binary marc file for Solr indexing. -# -# VUFIND_HOME -# Path to the vufind installation -# SOLRMARC_HOME -# Path to the solrmarc installation -# JAVA_HOME -# Path to the java -# INDEX_OPTIONS -# Options to pass to the JVM -# - -E_BADARGS=65 -EXPECTED_ARGS=1 - -if [ $# -ne $EXPECTED_ARGS ] -then - echo " Usage: `basename $0` ./path/to/marc.mrc" - exit $E_BADARGS -fi - -################################################## -# Set INDEX_OPTIONS -# Tweak these in accordance to your needs -# Xmx and Xms set the heap size for the Java Virtual Machine -# You may also want to add the following: -# -XX:+UseParallelGC -# -XX:+AggressiveOpts -################################################## -INDEX_OPTIONS='-Xms512m -Xmx512m' - - -################################################## -# Set SOLRCORE -################################################## -if [ -z "$SOLRCORE" ] -then - SOLRCORE="biblio" -fi - - -################################################## -# Set VUFIND_HOME -################################################## -if [ -z "$VUFIND_HOME" ] -then - # set VUFIND_HOME to the absolute path of the directory containing this script - # https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself - VUFIND_HOME="$(cd "$(dirname "$0")" && pwd -P)"/../.. - if [ "$VUFIND_HOME" = /../.. ] - then - exit 1 - fi -fi - - -################################################## -# Set SOLR_HOME -################################################## -if [ -z "$SOLR_HOME" ] -then - SOLR_HOME="$VUFIND_HOME/solr" -fi - - -################################################## -# Set SOLRMARC_HOME -################################################## -if [ -z "$SOLRMARC_HOME" ] -then - SOLRMARC_HOME="$VUFIND_HOME/import/solrmarc" -fi - - -##################################################### -# Build java command -##################################################### -if [ "$JAVA_HOME" ] -then - JAVA="$JAVA_HOME/bin/java" -else - JAVA="java" -fi - - -################################################## -# Set Command Options -################################################## -JAR_FILE="$VUFIND_HOME/import/@CUSTOM_JAR_NAME@" -PROPERTIES_FILE="vufind_config.properties" -ERROR_LOG="import/error-log" -IMPORT_LOG="import/import-log" -SOLRWARLOCATIONORJARDIR=%VUFIND_HOME%/solr/jetty/webapps/solr.war -TEST_SOLR_JAR_DEF=@SOLR_JAR_DEF@ -SOLR_JAR_DEF=`echo $TEST_SOLR_JAR_DEF | sed -e"s|-Done-jar.class.path=.*|-Done-jar.class.path=\"$SOLRWARLOCATIONORJARDIR\"|"` - -##################################################### -# Execute Importer -##################################################### - -pushd $SOLRHOME -RUN_CMD="$JAVA $INDEX_OPTIONS $SOLR_JAR_DEF -Dsolr.core.name=$SOLRCORE -Dsolrmarc.path=$SOLRMARC_HOME -Dsolr.path=$SOLR_HOME -jar $JAR_FILE $PROPERTIES_FILE $1" -exec > $IMPORT_LOG -exec 2> $ERROR_LOG -echo "Now Importing $1 ..." -exec $RUN_CMD -popd - -exit 0 diff --git a/import/bin/indexfile b/import/bin/indexfile deleted file mode 100644 index 494fdba5b9c49fb67ef7a7de38410b59e1285e82..0000000000000000000000000000000000000000 --- a/import/bin/indexfile +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/bash -# index_file.sh -# Import a single marc file into a Solr index -# $Id: indexfile.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -if [[ "$SOLRMARC_MEM_ARGS" == "" ]] -then - SOLRMARC_MEM_ARGS='-Xms512m -Xmx512m' -fi - -java $SOLRMARC_MEM_ARGS -jar $scriptdir/SolrMarc.jar $1 $2 $3 - -exit 0 - diff --git a/import/bin/indexfile.bat b/import/bin/indexfile.bat deleted file mode 100644 index a92bec7a55191b96866e0a9a698179527a9e1b14..0000000000000000000000000000000000000000 --- a/import/bin/indexfile.bat +++ /dev/null @@ -1,20 +0,0 @@ -@echo off -:: indexfile.bat -:: Import a single marc file into a Solr index -:: # $Id: indexfile.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -::echo BatchPath = %scriptdir% -:: -if "%SOLRMARC_MEM_ARGS%" EQU "" set SOLRMARC_MEM_ARGS=-Xms512m -Xmx512m -:: -java %SOLRMARC_MEM_ARGS% -jar %scriptdir%SolrMarc.jar %1 %2 %3 diff --git a/import/bin/indextest b/import/bin/indextest deleted file mode 100644 index bba9cb67ad578debf07cec9e3f58f9d44ec6eea8..0000000000000000000000000000000000000000 --- a/import/bin/indextest +++ /dev/null @@ -1,29 +0,0 @@ -#! /bin/bash -# indextest.sh -# Diagnostic program to show how a set of marc records would be indexed, -# without actually adding any records to Solr. -# $Id: indextest.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar index $1 $2 $3 $4 $5 $6 - -exit 0 - diff --git a/import/bin/indextest.bat b/import/bin/indextest.bat deleted file mode 100644 index 95c6596f3ee850b6d25cb566c335f043c61b0b8d..0000000000000000000000000000000000000000 --- a/import/bin/indextest.bat +++ /dev/null @@ -1,19 +0,0 @@ -@echo off -:: indextest.bat -:: Diagnostic program to show how a set of marc records would be indexed, -:: without actually adding any records to Solr. -:: $Id: indextest.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -::echo BatchPath = %scriptdir% - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar index %1 %2 %3 %4 %5 %6 diff --git a/import/bin/indextest2 b/import/bin/indextest2 deleted file mode 100644 index 675bbfa0ef66e3f8c3d6cad024623ae53b4b7c85..0000000000000000000000000000000000000000 --- a/import/bin/indextest2 +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/bash -# indextest.sh -# Diagnostic program to show how a set of marc records would be indexed, -# without actually adding any records to Solr. -# $Id: indextest.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -if [[ "$SOLRMARC_MEM_ARGS" == "" ]] -then - SOLRMARC_MEM_ARGS='-Xms512m -Xmx512m' -fi - -java $SOLRMARC_MEM_ARGS -Dmarc.just_index_dont_add="true" -jar $scriptdir/SolrMarc.jar $1 $2 $3 - -exit 0 - diff --git a/import/bin/indextest2.bat b/import/bin/indextest2.bat deleted file mode 100644 index 5927ff560de34c55a014875543f067a66fa7b3cb..0000000000000000000000000000000000000000 --- a/import/bin/indextest2.bat +++ /dev/null @@ -1,23 +0,0 @@ -@echo off -:: indextest2.bat -:: Diagnostic program to show how a set of marc records would be indexed, -:: without actually adding any records to Solr. -:: $Id: indextest2.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -::echo BatchPath = %scriptdir% -:: -if "%SOLRMARC_MEM_ARGS%" EQU "" set SOLRMARC_MEM_ARGS=-Xms512m -Xmx512m -:: -java %SOLRMARC_MEM_ARGS% -Dmarc.just_index_dont_add="true" -jar %scriptdir%SolrMarc.jar %1 %2 %3 - - diff --git a/import/bin/jettystart b/import/bin/jettystart deleted file mode 100644 index 60abf648661922bd4a8bd81ab1aa331aad9d5fdb..0000000000000000000000000000000000000000 --- a/import/bin/jettystart +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash -# A simple script to start jetty given the default configuration of solr for solrmarc -# $Id: jettystart - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -solrmarcdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $solrmarcdir/SolrMarc.jar ] -then - solrmarcdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -JAVAARG= -config=`$scriptdir/getdefaultconfig` -for i in "$@" -do -case "$i" in -*config.properties) config="$i" ;; --*) JAVAARG=$i -esac -done - -if [[ $JETTY_HOME == "" ]] -then - JETTY_HOME=$solrmarcdir/jetty -fi - -if [[ $JETTY_SOLR_HOME == "" ]] -then - if [ -f "$solrmarcdir/$config" ] - then - JETTY_SOLR_HOME=`egrep "^solr[.]path[ ]*=" "$solrmarcdir/$config" | sed -e 's/solr[.]path[ ]*=[ ]*//' -e 's/REMOTE//'` - fi -fi -if [[ $JETTY_SOLR_HOME == "" ]] -then - JETTY_SOLR_HOME=$JETTY_HOME/solr -fi - -if [[ $JETTY_SOLR_PORT == "" ]] -then - if [ -f "$solrmarcdir/$config" ] - then - JETTY_SOLR_PORT=`egrep "^solr[.]hosturl[ ]*=" "$solrmarcdir/$config" | sed -e 's/solr[.]hosturl[ ]*=[ ]*//' -e 's#http[s]*://[^:]*:\([0-9]*\).*#\1#'` - fi -fi -if [[ $JETTY_SOLR_PORT == "" ]] -then - JETTY_SOLR_PORT=8983 -fi - -if [[ "$JETTY_MEM_ARGS" == "" ]] -then - JETTY_MEM_ARGS='-Xms512m -Xmx512m' -fi - -baseconfig=${config%.*} -outfile=$solrmarcdir/$baseconfig.jetty.out - -pushd $JETTY_HOME - -echo Starting jetty webserver -echo based on SolrMarc config file: $config -echo using solr home of $JETTY_SOLR_HOME -echo using port $JETTY_SOLR_PORT -echo writing output to logs directory - -#if [[ -f $outfile ]] -#then -# mv -f $outfile $outfile.bak -#fi - -if [[ $JAVAARG == "" ]] -then - java $JETTY_MEM_ARGS -DSTOP.PORT=0 -Dsolr.solr.home="$JETTY_SOLR_HOME" -Djetty.port=$JETTY_SOLR_PORT -jar start.jar etc/jetty-logging.xml etc/jetty.xml > $outfile & -else - echo adding ARGS $JAVAARG - java $JETTY_MEM_ARGS "$JAVAARG" -DSTOP.PORT=0 -Dsolr.solr.home="$JETTY_SOLR_HOME" -Djetty.port=$JETTY_SOLR_PORT -jar start.jar etc/jetty-logging.xml etc/jetty.xml > $outfile & -fi -sleep 4 - diff --git a/import/bin/jettystart.bat b/import/bin/jettystart.bat deleted file mode 100644 index 8d3eb545bb6a8ffe9a01824c6824e1a6a85a03b0..0000000000000000000000000000000000000000 --- a/import/bin/jettystart.bat +++ /dev/null @@ -1,82 +0,0 @@ -@echo off -:: A simple script to start jetty given the default configuration of solr for solrmarc -:: $Id: jettystart.bat - -setlocal - -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -set solrmarcdir=%scriptdir% -if EXIST %solrmarcdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set solrmarcdir=%%~sx\ -popd - -:doit - -for /f "usebackq delims=" %%g in (`%scriptdir%getdefaultconfig`) do set config=%%g - -if "%1" NEQ "" call :set_arg %1 - -if "%JETTY_HOME%" NEQ "" goto :have_jetty_home -set JETTY_HOME=%solrmarcdir%jetty - -:have_jetty_home - -if "%JETTY_SOLR_HOME%" NEQ "" goto :have_solr_home -if EXIST "%solrmarcdir%%config%" ( -pushd %solrmarcdir% -for /f "usebackq tokens=3 delims= " %%H in (`findstr /B "solr.path" %solrmarcdir%%config%`) do set JETTY_SOLR_HOME=%%~fH -popd -) - -echo jetty solr home = %JETTY_SOLR_HOME% - -if "%JETTY_SOLR_HOME%" == "REMOTE" goto :get_solr_home -if "%JETTY_SOLR_HOME%" NEQ "" goto :have_solr_home -:get_solr_home -set JETTY_SOLR_HOME=%JETTY_HOME%/solr - -:have_solr_home - -if "%JETTY_SOLR_PORT%" NEQ "" goto :have_solr_port - -if EXIST "%solrmarcdir%%config%" ( -for /f "usebackq tokens=4 delims=:/= " %%G in (`findstr "^solr.hosturl" %solrmarcdir%%config%`) do set JETTY_SOLR_PORT=%%G -) -if "%JETTY_SOLR_PORT%" NEQ "" goto :have_solr_port -set JETTY_SOLR_PORT=8983 - -:have_solr_port -if "%JETTY_MEM_ARGS%" == "" set JETTY_MEM_ARGS=-Xms512m -Xmx512m -if "%JETTY_MEM_ARGS:0,1%" == "@" set JETTY_MEM_ARGS=-Xmx256m - -set baseconfig=%config:~0,-11% -set outfile=%solrmarcdir%%baseconfig%.jetty.out - -echo Starting jetty webserver -echo based on SolrMarc config file: %config% -echo using solr home of %JETTY_SOLR_HOME% -echo using port %JETTY_SOLR_PORT% -echo writing output to %outfile% - -pushd %JETTY_HOME% - -::move /Y %outfile% %outfile%.bak > NUL 2>&1 -start /B java %JETTY_MEM_ARGS% -DSTOP.PORT=0 -Dsolr.solr.home="%JETTY_SOLR_HOME%" -Djetty.port=%JETTY_SOLR_PORT% -jar start.jar etc\jetty-logging.xml etc\jetty.xml > %outfile% - -:: sleep for 2 seconds -ping 1.1.1.1 -n 2 -w 1000 > NUL 2>&1 - -endlocal -GOTO :done - -:set_arg - -set arg=%1 -if "%arg:~-17%" == "config.properties" set config=%arg% - -goto :eof - -:done diff --git a/import/bin/jettystop b/import/bin/jettystop deleted file mode 100644 index bc852fb93e9f5b3831783e9dc6089558440cd2c6..0000000000000000000000000000000000000000 --- a/import/bin/jettystop +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -# A simple script to start jetty given the default configuration of solr for solrmarc -# $Id: jettystart - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -solrmarcdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $solrmarcdir/SolrMarc.jar ] -then - solrmarcdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -config=`$scriptdir/getdefaultconfig` -for i in "$@" -do -case "$i" in -*config.properties) config="$i" ;; -esac -done - -if [[ $JETTY_HOME == "" ]] -then - JETTY_HOME=$solrmarcdir/jetty -fi - -if [[ $JETTY_SOLR_HOME == "" ]] -then - if [ -f "$solrmarcdir/$config" ] - then - JETTY_SOLR_HOME=`egrep "^solr[.]path[ ]*=" "$solrmarcdir/$config" | sed -e 's/solr[.]path[ ]*=[ ]*//' -e 's/REMOTE//'` - fi -fi -if [[ $JETTY_SOLR_HOME == "" ]] -then - JETTY_SOLR_HOME=$JETTY_HOME/solr -fi - -if [[ $JETTY_SOLR_PORT == "" ]] -then - if [ -f "$solrmarcdir/$config" ] - then - JETTY_SOLR_PORT=`egrep "^solr[.]hosturl[ ]*=" "$solrmarcdir/$config" | sed -e 's/solr[.]hosturl[ ]*=[ ]*//' -e 's#http[s]*://[^:]*:\([0-9]*\).*#\1#'` - fi -fi -if [[ $JETTY_SOLR_PORT == "" ]] -then - JETTY_SOLR_PORT=8983 -fi - -if [[ "$JETTY_MEM_ARGS" == "" ]] -then - JETTY_MEM_ARGS='-Xms512m -Xmx512m' -fi - -pushd $JETTY_HOME - -baseconfig=${config%.*} -outfile=$solrmarcdir/$baseconfig.jetty.out - -echo Stopping jetty webserver -echo based on SolrMarc config file: $config -echo using solr home of $JETTY_SOLR_HOME -echo using port $JETTY_SOLR_PORT - -stopport=`head -1 $outfile` -stopkey=`head -2 $outfile | tail -1` - -java -DSTOP.PORT=$stopport $stopkey -jar start.jar --stop - - - diff --git a/import/bin/jettystop.bat b/import/bin/jettystop.bat deleted file mode 100644 index 66f171cf24c2d129f9fdfd7b83e0fb9112eafc14..0000000000000000000000000000000000000000 --- a/import/bin/jettystop.bat +++ /dev/null @@ -1,82 +0,0 @@ -@echo off -:: A simple script to start jetty given the default configuration of solr for solrmarc -:: $Id: jettystart.bat - -setlocal enabledelayedexpansion - -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -set solrmarcdir=%scriptdir% -if EXIST %solrmarcdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set solrmarcdir=%%~sx\ -popd - -:doit - -for /f "usebackq delims=" %%g in (`%scriptdir%getdefaultconfig`) do set config=%%g - -if "%1" NEQ "" call :set_arg %1 - -if "%JETTY_HOME%" NEQ "" goto :have_jetty_home -set JETTY_HOME=%solrmarcdir%jetty - -:have_jetty_home - -if "%JETTY_SOLR_HOME%" NEQ "" goto :have_solr_home -if EXIST "%solrmarcdir%%config%" ( -pushd %solrmarcdir% -for /f "usebackq tokens=3 delims= " %%H in (`findstr /B "solr.path" %solrmarcdir%%config%`) do set JETTY_SOLR_HOME=%%~fH -popd -) - -if "%JETTY_SOLR_HOME%" == "REMOTE" goto :get_solr_home -if "%JETTY_SOLR_HOME%" NEQ "" goto :have_solr_home -:get_solr_home -set JETTY_SOLR_HOME=%JETTY_HOME%/solr - -:have_solr_home - -if "%JETTY_SOLR_PORT%" NEQ "" goto :have_solr_port - -if EXIST "%scriptdir%%config%" ( -for /f "usebackq tokens=4 delims=:/= " %%G in (`findstr "^solr.hosturl" %solrmarcdir%%config%`) do set JETTY_SOLR_PORT=%%G -) -if "%JETTY_SOLR_PORT%" NEQ "" goto :have_solr_port -set JETTY_SOLR_PORT=8983 - -:have_solr_port - -set baseconfig=%config:~0,-11% -set outfile=%solrmarcdir%%baseconfig%.jetty.out - -echo Stopping jetty webserver -echo based on SolrMarc config file: %config% -echo using solr home of %JETTY_SOLR_HOME% -echo using port %JETTY_SOLR_PORT% - -set stopport= -set stopkey= -for /f "usebackq delims=" %%a in (`type %outfile%`) do ( -if "!stopport!" == "" ( set stopport=%%a ) else if "!stopkey!" == "" set stopkey=%%a -if "!stopkey!" NEQ "" goto gotstopport -) -:gotstopport - -pushd %JETTY_HOME% - -java -DSTOP.PORT=%stopport% %stopkey% -jar %JETTY_HOME%\start.jar --stop - -GOTO :done - -:set_arg - -set arg=%1 -if "%arg:~-17%" == "config.properties" set config=%arg% - -goto :eof - - -endlocal -:done diff --git a/import/bin/marcdiff b/import/bin/marcdiff deleted file mode 100644 index 0e30d8ccb52cff0de937f9f268dc1c80199b872f..0000000000000000000000000000000000000000 --- a/import/bin/marcdiff +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/bash -# marcdiff.sh -# Diagnostic program to show look for differences between Marc record files. -# $Id: marcdiff.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if [ $# -eq 0 ] -then - echo " Usage: `basename $0` ./path/to/marc.mrc ./path/to/marc.mrc " - exit $E_BADARGS -fi - -java -Dsolrmarc.main.class="org.solrmarc.tools.MarcDiff" -jar $scriptdir/SolrMarc.jar $1 $2 $3 - -exit 0 - diff --git a/import/bin/marcdiff.bat b/import/bin/marcdiff.bat deleted file mode 100644 index 17fab6a9839be8b73cc748c735689856586d904f..0000000000000000000000000000000000000000 --- a/import/bin/marcdiff.bat +++ /dev/null @@ -1,17 +0,0 @@ -@echo off -:: marcdiff.sh -:: Diagnostic program to show look for differences between Marc record files. -:: $Id: marcdiff.sh -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.tools.MarcDiff" -jar %scriptdir%SolrMarc.jar %1 %2 %3 diff --git a/import/bin/marcerror b/import/bin/marcerror deleted file mode 100644 index f4b6134eff2e9d753fe339930228f8eff9eeadd6..0000000000000000000000000000000000000000 --- a/import/bin/marcerror +++ /dev/null @@ -1,24 +0,0 @@ -#! /bin/bash -# marcerror.sh -# Diagnostic program to show look for errors in Marc records. -# $Id: marcerror.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [-v|-vv] ./path/to/marc.mrc " - exit $E_BADARGS - fi - - -java -Dsolrmarc.main.class="org.solrmarc.tools.PermissiveReaderTest" -jar $scriptdir/SolrMarc.jar $1 $2 $3 - -exit 0 - diff --git a/import/bin/marcerror.bat b/import/bin/marcerror.bat deleted file mode 100644 index ea03583903fda9d9d93aabdd405c59de73feda14..0000000000000000000000000000000000000000 --- a/import/bin/marcerror.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: marcerror.sh -:: Diagnostic program to show look for errors in Marc records. -:: $Id: marcerror.sh -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -::echo BatchPath = %scriptdir% - -java -Dsolrmarc.main.class="org.solrmarc.tools.PermissiveReaderTest" -jar %scriptdir%SolrMarc.jar %1 %2 %3 diff --git a/import/bin/marcsort b/import/bin/marcsort deleted file mode 100644 index b63a2c650357750caabd68f984f28c545ca369fd..0000000000000000000000000000000000000000 --- a/import/bin/marcsort +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/bash -# marcsorter.sh -# Program to sort marc records numerically based on 001 field -# $Id: marcsorter.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if [ $# -eq 0 ] -then - echo " Usage: `basename $0` ./path/to/marc.mrc > sorted_output_file.mrc" - exit $E_BADARGS -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcSorter" -jar $scriptdir/SolrMarc.jar $1 $2 $3 - -exit 0 - diff --git a/import/bin/marcsort.bat b/import/bin/marcsort.bat deleted file mode 100644 index da1ce332180cb4497a2ee9b3b575ecf2b86e4e9c..0000000000000000000000000000000000000000 --- a/import/bin/marcsort.bat +++ /dev/null @@ -1,21 +0,0 @@ -@echo off -:: marcerror.sh -:: Diagnostic program to show look for errors in Marc records. -:: $Id: marcerror.sh -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -set inarg=%1 - -set arg1=- -for /f "delims=" %%a in ('echo %inarg% ^| findstr "\.mrc"') do @set arg1=%%a - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcSorter" -jar %scriptdir%SolrMarc.jar %arg1% diff --git a/import/bin/marcupdate b/import/bin/marcupdate deleted file mode 100644 index 7bae1904e3f0a8a87ed106bbf61854626dcbde56..0000000000000000000000000000000000000000 --- a/import/bin/marcupdate +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/bash -# marcupdate.sh -# Program to copy a marc record file, merging in updates and deletions -# $Id: marcupdate.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if [ $# -eq 0 ] - then - echo " Usage: `basename $0` ./path/to/marc.mrc ./path/to/update" - exit $E_BADARGS - fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcMerger" -jar $scriptdir/SolrMarc.jar $1 $2 $3 $4 $5 $6 $7 $8 $9 - -exit $? - diff --git a/import/bin/marcupdate.bat b/import/bin/marcupdate.bat deleted file mode 100644 index e1ba03bfd7ec995407479511b80dfbfd9d6247d1..0000000000000000000000000000000000000000 --- a/import/bin/marcupdate.bat +++ /dev/null @@ -1,17 +0,0 @@ -@echo off -:: marcupdate.bat -:: Program to copy a marc record file, merging in updates and deletions -:: $Id:marcupdate.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcMerger" -jar %scriptdir%SolrMarc.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/import/bin/optimizesolr b/import/bin/optimizesolr deleted file mode 100644 index ed98ceba702a6805c9424d557eca7a93105866c9..0000000000000000000000000000000000000000 --- a/import/bin/optimizesolr +++ /dev/null @@ -1,22 +0,0 @@ -#! /bin/bash -# optimizesolr -# Run an optimize process on the solr index -# $Id: optimizesolr - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if [[ "$SOLRMARC_MEM_ARGS" == "" ]] -then - SOLRMARC_MEM_ARGS='-Xms512m -Xmx512m' -fi - -java $SOLRMARC_MEM_ARGS -Dmarc.source="NONE" -Dsolr.optimize_at_end="true" -jar $scriptdir/SolrMarc.jar $1 - -exit 0 - diff --git a/import/bin/optimizesolr.bat b/import/bin/optimizesolr.bat deleted file mode 100644 index 8e0b9cc463d378c9543611b484749efcd3fe4020..0000000000000000000000000000000000000000 --- a/import/bin/optimizesolr.bat +++ /dev/null @@ -1,21 +0,0 @@ -@echo off -:: optimizesolr.bat -:: Run an optimize process on the solr index -:: $Id: optimizesolr.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -::echo BatchPath = %scriptdir% -:: -if "%SOLRMARC_MEM_ARGS%" EQU "" set SOLRMARC_MEM_ARGS=-Xms512m -Xmx512m -:: -java %SOLRMARC_MEM_ARGS% -Dmarc.source="NONE" -Dsolr.optimize_at_end="true" -jar %scriptdir%SolrMarc.jar %1 - diff --git a/import/bin/printrecord b/import/bin/printrecord deleted file mode 100644 index d0242db06cb7d3a3a5684ae5853a0ecf34618e9c..0000000000000000000000000000000000000000 --- a/import/bin/printrecord +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash -# printrecord.sh -# Diagnostic program to display marc records. -# $Id: printrecord.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar print $1 $2 - -exit 0 - diff --git a/import/bin/printrecord.bat b/import/bin/printrecord.bat deleted file mode 100644 index b817c504ff38c821ec561a265d9bf46a32f4e04f..0000000000000000000000000000000000000000 --- a/import/bin/printrecord.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: printrecord.bat -:: Diagnostic program to display marc records. -:: $Id: printrecord.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar print %1 %2 %3 diff --git a/import/bin/setdefaultconfig b/import/bin/setdefaultconfig deleted file mode 100644 index 7235678dd6d57eca71325143c2d0cffb23a14423..0000000000000000000000000000000000000000 --- a/import/bin/setdefaultconfig +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/bash -# setdefaultconfig -# Set the name of the default config file to use. -# $Id: setdefaultconfig - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -for i in "$@" -do -case "$i" in -*config.properties) config="$i" ;; -esac -done - -if [[ $config == "" ]] -then - echo "Usage: setdefaultconfig your_config.properties" - exit 0 -fi - -java -Dsolrmarc.main.class="org.solrmarc.tools.PropertyFileFetcher" -jar $scriptdir/SolrMarc.jar JarUtils.jar $scriptdir - -java -classpath $scriptdir/JarUtils.jar JarUpdate $scriptdir/SolrMarc.jar "META-INF/MANIFEST.MF" "Default-Config-File: $config" > /dev/null -echo Default configuration in SolrMarc.jar set to $config - -rm -f $scriptdir/JarUtils.jar - -exit 0 diff --git a/import/bin/setdefaultconfig.bat b/import/bin/setdefaultconfig.bat deleted file mode 100644 index 4306f10bbc3f90f65df32d415413a0a0ddd01ea2..0000000000000000000000000000000000000000 --- a/import/bin/setdefaultconfig.bat +++ /dev/null @@ -1,40 +0,0 @@ -@echo off -:: setdefaultconfig.bat -:: Set the name of the default config file to use. -:: $Id: setdefaultconfig.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -if "%1" NEQ "" call :set_arg %1 -if "%config%" NEQ "" goto :do_it -echo Usage: setdefaultconfig your_config.properties -goto :done - -:do_it -java -Dsolrmarc.main.class="org.solrmarc.tools.PropertyFileFetcher" -jar %scriptdir%SolrMarc.jar JarUtils.jar %scriptdir% - -java -classpath %scriptdir%JarUtils.jar JarUpdate %scriptdir%SolrMarc.jar "META-INF/MANIFEST.MF" "Default-Config-File: %config%" > NUL -echo Default configuration in SolrMarc.jar set to %config% - -del /q %scriptdir%JarUtils.jar - -endlocal -GOTO :done - -:set_arg - -set arg=%1 -if "%arg:~-17%" == "config.properties" set config=%arg% - -goto :eof - -:done diff --git a/import/bin/to_json b/import/bin/to_json deleted file mode 100644 index 483dc191d328409f7d3d546c3ec83b6cac2fcf06..0000000000000000000000000000000000000000 --- a/import/bin/to_json +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash -# to_json.sh -# Diagnostic program to display marc records. -# $Id: to_json.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar to_json $1 $2 - -exit 0 - diff --git a/import/bin/to_json.bat b/import/bin/to_json.bat deleted file mode 100644 index eeae9dd8a3adad4eba7ce8c29399a42bb987273c..0000000000000000000000000000000000000000 --- a/import/bin/to_json.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: to_json.bat -:: Diagnostic program to display marc records. -:: $Id: to_json.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar to_json %1 %2 %3 diff --git a/import/bin/to_marc8 b/import/bin/to_marc8 deleted file mode 100644 index 6f3de6067bc993dfacdb1bd21aa9a358031ef0ff..0000000000000000000000000000000000000000 --- a/import/bin/to_marc8 +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash -# to_marc8.sh -# Diagnostic program to display marc records. -# $Id: to_marc8.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar untranslate $1 $2 - -exit 0 - diff --git a/import/bin/to_marc8.bat b/import/bin/to_marc8.bat deleted file mode 100644 index 5573b48d91fa8728cd367c8dd84b0f80628b6d73..0000000000000000000000000000000000000000 --- a/import/bin/to_marc8.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: printrecord.bat -:: Diagnostic program to display marc records. -:: $Id: printrecord.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar untranslate %1 %2 %3 diff --git a/import/bin/to_ncr b/import/bin/to_ncr deleted file mode 100644 index 4e05df00d059365aa3039a75c6db3a00673a21e2..0000000000000000000000000000000000000000 --- a/import/bin/to_ncr +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash -# to_marc8.sh -# Diagnostic program to display marc records. -# $Id: to_marc8.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar untranslateNCR $1 $2 - -exit 0 - diff --git a/import/bin/to_ncr.bat b/import/bin/to_ncr.bat deleted file mode 100644 index 3c59e9e545ea65b88d1ef9290eb2c8593a08bb75..0000000000000000000000000000000000000000 --- a/import/bin/to_ncr.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: printrecord.bat -:: Diagnostic program to display marc records. -:: $Id: printrecord.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar untranslateNCR %1 %2 %3 diff --git a/import/bin/to_utf8 b/import/bin/to_utf8 deleted file mode 100644 index 7b41ffb1c518d1b5bc478f6c33676d385a7230ef..0000000000000000000000000000000000000000 --- a/import/bin/to_utf8 +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash -# to_marc8.sh -# Diagnostic program to display marc records. -# $Id: to_marc8.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar translate $1 $2 - -exit 0 - diff --git a/import/bin/to_utf8.bat b/import/bin/to_utf8.bat deleted file mode 100644 index 80e7ee69d9a9db33f05da3bb1e55771cb65c2489..0000000000000000000000000000000000000000 --- a/import/bin/to_utf8.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: printrecord.bat -:: Diagnostic program to display marc records. -:: $Id: printrecord.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar translate %1 %2 %3 diff --git a/import/bin/to_xml b/import/bin/to_xml deleted file mode 100644 index 349bb2342eddeecc65e8f7de8fd33a7193eb0cb8..0000000000000000000000000000000000000000 --- a/import/bin/to_xml +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/bash -# to_marc8.sh -# Diagnostic program to display marc records. -# $Id: to_marc8.sh - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -if ! [ -p /dev/stdin ] -then - if [ $# -eq 0 ] - then - echo " Usage: `basename $0` [config.properties] ./path/to/marc.mrc " - echo " Note that if the config.properties file is not specified the Jarfile will be searched for" - echo " a file whose name ends with \"config.properties\"" - exit $E_BADARGS - fi -fi - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar $scriptdir/SolrMarc.jar to_xml $1 $2 - -exit 0 - diff --git a/import/bin/to_xml.bat b/import/bin/to_xml.bat deleted file mode 100644 index 1be6fe8f8b3613784bbed67ef2ced17c21f2c09d..0000000000000000000000000000000000000000 --- a/import/bin/to_xml.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: printrecord.bat -:: Diagnostic program to display marc records. -:: $Id: printrecord.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx -::echo BatchPath = %scriptdir% - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit - -java -Dsolrmarc.main.class="org.solrmarc.marc.MarcPrinter" -jar %scriptdir%SolrMarc.jar to_xml %1 %2 %3 diff --git a/import/bin/updatesolrserver b/import/bin/updatesolrserver deleted file mode 100644 index 88d3170eab000e6f2c15f2eade3e16ff47fccdd0..0000000000000000000000000000000000000000 --- a/import/bin/updatesolrserver +++ /dev/null @@ -1,17 +0,0 @@ -#! /bin/bash -# updatesolrserver -# send an update message to a running solr server, -# $Id: updatesolrserver - -E_BADARGS=65 - -scriptdir=$( (cd -P $(dirname $0) && pwd) ) -if ! [ -e $scriptdir/SolrMarc.jar ] -then - scriptdir=$( (cd -P $(dirname $0)/.. && pwd) ) -fi - -java -Dsolrmarc.main.class="org.solrmarc.tools.SolrUpdate" -jar $scriptdir/SolrMarc.jar $1 - -exit 0 - diff --git a/import/bin/updatesolrserver.bat b/import/bin/updatesolrserver.bat deleted file mode 100644 index 5d88fb41dddb2b97face1a97c743cdf7b9e79400..0000000000000000000000000000000000000000 --- a/import/bin/updatesolrserver.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -:: updatesolrserver.bat -:: send an update message to a running solr server, -:: $Id: updatesolrserver.bat -setlocal -::Get the current batch file's short path -for %%x in (%~f0) do set scriptdir=%%~dpsx -for %%x in (%scriptdir%) do set scriptdir=%%~dpsx - -if EXIST %scriptdir%SolrMarc.jar goto doit -pushd %scriptdir%.. -for %%x in (%CD%) do set scriptdir=%%~sx\ -popd - -:doit -::echo BatchPath = %scriptdir% - -java -Dsolrmarc.main.class="org.solrmarc.tools.SolrUpdate" -jar %scriptdir%SolrMarc.jar %1 diff --git a/import/browse-indexing.jar b/import/browse-indexing.jar deleted file mode 100644 index 33c3cc8c7314035197f020b4cf26659c4b3476e5..0000000000000000000000000000000000000000 Binary files a/import/browse-indexing.jar and /dev/null differ diff --git a/import/doaj.properties b/import/doaj.properties deleted file mode 100644 index cc7cdf6e32cca5992dcf2e34f04c3c2d5d979465..0000000000000000000000000000000000000000 --- a/import/doaj.properties +++ /dev/null @@ -1,27 +0,0 @@ -; XSLT Import Settings for Directory of Open Access Journals' doajArticle format -; (see http://www.doaj.org/schemas/doajArticle.xsd for details) -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = doaj.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = str_replace -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My University" -collection = "DOAJ" diff --git a/import/dspace-dim.properties b/import/dspace-dim.properties deleted file mode 100644 index e9e9e2a257cc7c246d52c2e79830e27caad0cc5b..0000000000000000000000000000000000000000 --- a/import/dspace-dim.properties +++ /dev/null @@ -1,30 +0,0 @@ -; XSLT Import Settings for DSpace (using DIM metadata) -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = dspace-dim.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = str_replace -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My University" -collection = "DSpace" -; By default, any URL beginning with "http" will be indexed; however, you can -; specify a more narrow prefix here if you wish to filter to a particular subset -; of URLs indexed into VuFind. -;urlPrefix = "http://hdl.handle.net" diff --git a/import/dspace.properties b/import/dspace.properties deleted file mode 100644 index 85304a4cf0617a534e5b08589653ef96f103dfe1..0000000000000000000000000000000000000000 --- a/import/dspace.properties +++ /dev/null @@ -1,30 +0,0 @@ -; XSLT Import Settings for DSpace -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = dspace.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = str_replace -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My University" -collection = "DSpace" -; By default, any URL beginning with "http" will be indexed; however, you can -; specify a more narrow prefix here if you wish to filter to a particular subset -; of URLs indexed into VuFind. -;urlPrefix = "http://hdl.handle.net" diff --git a/import/gsdl.properties b/import/gsdl.properties deleted file mode 100644 index fb258cbb9cc06e7f4aaa74e3a91e7cfbfa2cee57..0000000000000000000000000000000000000000 --- a/import/gsdl.properties +++ /dev/null @@ -1,29 +0,0 @@ -; XSLT Import Settings for Greenstone Digital Library (GSDL) -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = gsdl.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = str_replace -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My Institute" -collection = "GSDL" - -; This URL will be used to resolve urn: identifiers. -gsdlurl = "http://localhost/greenstone/cgi-bin/library.cgi?a=d&c=demo&d=" diff --git a/import/import-xsl.php b/import/import-xsl.php deleted file mode 100644 index 30a4b1ca9bb2e4a1b722b9a885702dc575dddbf9..0000000000000000000000000000000000000000 --- a/import/import-xsl.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * XSLT importer support methods. - * - * PHP version 7 - * - * Copyright (c) Demian Katz 2010. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * @category VuFind - * @package Utilities - * @author Andrew S. Nagy <vufind-tech@lists.sourceforge.net> - * @author Demian Katz <demian.katz@villanova.edu> - * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License - * @link https://vufind.org/wiki/indexing Wiki - */ - -// Manipulate command line to load correct route, then load Zend Framework: -array_unshift($_SERVER['argv'], array_shift($_SERVER['argv']), 'import', 'import-xsl'); -$_SERVER['argc'] += 2; -require_once __DIR__ . '/../public/index.php'; diff --git a/import/import.properties b/import/import.properties deleted file mode 100644 index 28a465ccb2124540b860632e814af55e1bd54236..0000000000000000000000000000000000000000 --- a/import/import.properties +++ /dev/null @@ -1,33 +0,0 @@ -# Properties for the SolrMarc import program - -# IMPORTANT NOTE FOR WINDOWS USERS: -# Use forward slashes, not back slashes (i.e. c:/vufind/..., not c:\vufind\...) - -# Solr settings -solr.core.name = biblio -solr.indexer.properties = marc.properties, marc_local.properties -solr.hosturl = http://localhost:8080/solr/biblio/update - -# where to look for properties files, translation maps, and custom scripts -# note that . refers to the directory where the jarfile for SolrMarc is located. -solrmarc.path = /usr/local/vufind/import - -# Path to your marc file -marc.to_utf_8 = true -marc.permissive = true -marc.default_encoding = BESTGUESS -marc.include_errors = true - -# Perform Unicode normalization (ignored unless marc.to_utf_8 is true). -# -# Allowed values are: -# -# C - Normalization Form C (NFC) -# D - Normalization Form D (NFD) -# KC - Normalization Form KC (NFKC) -# KD - Normalization Form KD (NFKD) -# -# For the differences of the normalization forms see the Unicode -# Standards Annex #15, located at <http://unicode.org/reports/tr15/>. -# -# marc.unicode_normalize = C diff --git a/import/import_auth.properties b/import/import_auth.properties deleted file mode 100644 index f2b66f6216d02c1db04dcd990d43cdcd8be3d360..0000000000000000000000000000000000000000 --- a/import/import_auth.properties +++ /dev/null @@ -1,33 +0,0 @@ -# Properties for the SolrMarc import program (used for importing authority records) - -# IMPORTANT NOTE FOR WINDOWS USERS: -# Use forward slashes, not back slashes (i.e. c:/vufind/..., not c:\vufind\...) - -# Solr settings -solr.core.name = authority -solr.indexer.properties = marc_auth.properties -solr.hosturl = http://localhost:8080/solr/authority/update - -# where to look for properties files, translation maps, and custom scripts -# note that . refers to the directory where the jarfile for SolrMarc is located. -solrmarc.path = /usr/local/vufind/import - -# Path to your marc file -marc.to_utf_8 = true -marc.permissive = true -marc.default_encoding = BESTGUESS -marc.include_errors = true - -# Perform Unicode normalization (ignored unless marc.to_utf_8 is true). -# -# Allowed values are: -# -# C - Normalization Form C (NFC) -# D - Normalization Form D (NFD) -# KC - Normalization Form KC (NFKC) -# KD - Normalization Form KD (NFKD) -# -# For the differences of the normalization forms see the Unicode -# Standards Annex #15, located at <http://unicode.org/reports/tr15/>. -# -# marc.unicode_normalize = C diff --git a/import/index_java/.gitignore b/import/index_java/.gitignore deleted file mode 100644 index ae3c1726048cd06b9a143e0376ed46dd9b9a8d53..0000000000000000000000000000000000000000 --- a/import/index_java/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/import/index_java/src/org/vufind/index/CallNumberTools.java b/import/index_java/src/org/vufind/index/CallNumberTools.java deleted file mode 100644 index 00138e4e1e533d5c400b9916e29ad7cbef7709a5..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/CallNumberTools.java +++ /dev/null @@ -1,517 +0,0 @@ -package org.vufind.index; -/** - * Call number indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import org.marc4j.marc.Record; -import org.marc4j.marc.VariableField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import org.solrmarc.callnum.DeweyCallNumber; -import org.solrmarc.callnum.LCCallNumber; -import org.solrmarc.index.SolrIndexer; -import org.solrmarc.tools.CallNumUtils; - -/** - * Call number indexing routines. - */ -public class CallNumberTools -{ - /** - * Extract the full call number from a record, stripped of spaces - * @param record MARC record - * @return Call number label - * @deprecated Obsolete as of VuFind 2.4. - * This method exists only to support the VuFind call number search, version <= 2.3. - * As of VuFind 2.4, the munging for call number search in handled entirely in Solr. - */ - @Deprecated - public String getFullCallNumber(final Record record) { - - return(getFullCallNumber(record, "099ab:090ab:050ab")); - } - - /** - * Extract the full call number from a record, stripped of spaces - * @param record MARC record - * @param fieldSpec taglist for call number fields - * @return Call number label - * @deprecated Obsolete as of VuFind 2.4. - * This method exists only to support the VuFind call number search, version <= 2.3. - * As of VuFind 2.4, the munging for call number search in handled entirely in Solr. - */ - @Deprecated - public String getFullCallNumber(final Record record, String fieldSpec) { - - String val = SolrIndexer.instance().getFirstFieldVal(record, fieldSpec); - - if (val != null) { - return val.toUpperCase().replaceAll(" ", ""); - } else { - return val; - } - } - - /** - * Extract the call number label from a record - * @param record MARC record - * @return Call number label - */ - public String getCallNumberLabel(final Record record) { - - return getCallNumberLabel(record, "090a:050a"); - } - - /** - * Extract the call number label from a record - * @param record MARC record - * @param fieldSpec taglist for call number fields - * @return Call number label - */ - public String getCallNumberLabel(final Record record, String fieldSpec) { - - String val = SolrIndexer.instance().getFirstFieldVal(record, fieldSpec); - - if (val != null) { - int dotPos = val.indexOf("."); - if (dotPos > 0) { - val = val.substring(0, dotPos); - } - return val.toUpperCase(); - } else { - return val; - } - } - - /** - * Extract the subject component of the call number - * - * Can return null - * - * @param record MARC record - * @return Call number subject letters - */ - public String getCallNumberSubject(final Record record) { - - return(getCallNumberSubject(record, "090a:050a")); - } - - /** - * Extract the subject component of the call number - * - * Can return null - * - * @param record current MARC record - * @return Call number subject letters - */ - public String getCallNumberSubject(final Record record, String fieldSpec) { - - String val = SolrIndexer.instance().getFirstFieldVal(record, fieldSpec); - - if (val != null) { - String [] callNumberSubject = val.toUpperCase().split("[^A-Z]+"); - if (callNumberSubject.length > 0) - { - return callNumberSubject[0]; - } - } - return(null); - } - - /** - * Normalize a single LC call number - * @param record current MARC record - * @return String Normalized LCCN - */ - public String getFullCallNumberNormalized(final Record record) { - - return(getFullCallNumberNormalized(record, "099ab:090ab:050ab")); - } - - /** - * Normalize a single LC call number - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @return String Normalized LC call number - */ - public String getFullCallNumberNormalized(final Record record, String fieldSpec) { - - // TODO: is the null fieldSpec still an issue? - if (fieldSpec != null) { - String cn = SolrIndexer.instance().getFirstFieldVal(record, fieldSpec); - return (new LCCallNumber(cn)).getShelfKey(); - } - // If we got this far, we couldn't find a valid value: - return null; - } - - /** - * Get call numbers of a specific type. - * - * <p>{@code fieldSpec} is of form {@literal 098abc:099ab}, does not accept subfield ranges. - * - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @param callTypeSf subfield containing call number type, single character only - * @param callType literal call number code - * @param result a collection to gather the call numbers - * @return collection of call numbers, same object as {@code result} - */ - public static Collection<String> getCallNumberByTypeCollector( - Record record, String fieldSpec, String callTypeSf, String callType, Collection<String> result) { - for (String tag : fieldSpec.split(":")) { - // Check to ensure tag length is at least 3 characters - if (tag.length() < 3) { - //TODO: Should this go to a log? Better message for a bad tag in a field spec? - System.err.println("Invalid tag specified: " + tag); - continue; - } - String dfTag = tag.substring(0, 3); - String sfSpec = null; - if (tag.length() > 3) { - sfSpec = tag.substring(3); - } - - // do all fields for this tag - for (VariableField vf : record.getVariableFields(dfTag)) { - // Assume tag represents a DataField - DataField df = (DataField) vf; - boolean callTypeMatch = false; - - // Assume call type subfield could repeat - for (Subfield typeSf : df.getSubfields(callTypeSf)) { - if (callTypeSf.indexOf(typeSf.getCode()) != -1 && typeSf.getData().equals(callType)) { - callTypeMatch = true; - } - } - System.err.println("callTypeMatch after loop: " + callTypeMatch); - if (callTypeMatch) { - result.add(df.getSubfieldsAsString(sfSpec)); - } - } // end loop over variable fields - } // end loop over fieldSpec - return result; - } - - - /** - * Get call numbers of a specific type. - * - * <p>{@code fieldSpec} is of form {@literal 098abc:099ab}, does not accept subfield ranges. - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @param callTypeSf subfield containing call number type, single character only - * @param callType literal call number code - * @return set of call numbers - */ - public static Set<String> getCallNumberByType(Record record, String fieldSpec, String callTypeSf, String callType) { - return (Set<String>) getCallNumberByTypeCollector(record, fieldSpec, callTypeSf, callType, - new LinkedHashSet<String>()); - } - - /** - * Get call numbers of a specific type. - * - * <p>{@code fieldSpec} is of form {@literal 098abc:099ab}, does not accept subfield ranges. - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @param callTypeSf subfield containing call number type, single character only - * @param callType literal call number code - * @return list of call numbers - */ - public static List<String> getCallNumberByTypeAsList(Record record, String fieldSpec, String callTypeSf, String callType) { - return (List<String>) getCallNumberByTypeCollector(record, fieldSpec, callTypeSf, callType, - new ArrayList<String>()); - } - - /** - * Normalize LC numbers for sorting purposes (use only the first valid number!). - * Will return first call number found if none pass validation, - * or empty string if no call numbers. - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @return sortable shelf key of the first valid LC number encountered, - * otherwise shelf key of the first call number found. - */ - public String getLCSortable(Record record, String fieldSpec) { - // Loop through the specified MARC fields: - Set<String> input = SolrIndexer.instance().getFieldList(record, fieldSpec); - String firstCall = ""; - for (String current : input) { - // If this is a valid LC number, return the sortable shelf key: - LCCallNumber callNum = new LCCallNumber(current); - if (callNum.isValid()) { - return callNum.getShelfKey(); // RETURN first valid - } - if (firstCall.length() == 0) { - firstCall = current; - } - } - - // If we made it this far, did not find a valid LC number, so use what we have: - return new LCCallNumber(firstCall).getShelfKey(); - } - - /** - * Get sort key for first LC call number, identified by call type. - * - * <p>{@code fieldSpec} is of form {@literal 098abc:099ab}, does not accept subfield ranges. - * - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @param callTypeSf subfield containing call number type, single character only - * @param callType literal call number code - * @return sort key for first identified LC call number - */ - public String getLCSortableByType( - Record record, String fieldSpec, String callTypeSf, String callType) { - String sortKey = null; - for (String tag : fieldSpec.split(":")) { - // Check to ensure tag length is at least 3 characters - if (tag.length() < 3) { - //TODO: Should this go to a log? Better message for a bad tag in a field spec? - System.err.println("Invalid tag specified: " + tag); - continue; - } - String dfTag = tag.substring(0, 3); - String sfSpec = null; - if (tag.length() > 3) { - sfSpec = tag.substring(3); - } - - // do all fields for this tag - for (VariableField vf : record.getVariableFields(dfTag)) { - // Assume tag represents a DataField - DataField df = (DataField) vf; - boolean callTypeMatch = false; - - // Assume call type subfield could repeat - for (Subfield typeSf : df.getSubfields(callTypeSf)) { - if (callTypeSf.indexOf(typeSf.getCode()) != -1 && typeSf.getData().equals(callType)) { - callTypeMatch = true; - } - } - // take the first call number coded as LC - if (callTypeMatch) { - sortKey = new LCCallNumber(df.getSubfieldsAsString(sfSpec)).getShelfKey(); - break; - } - } // end loop over variable fields - } // end loop over fieldSpec - return sortKey; - } - - /** - * Extract a numeric portion of the Dewey decimal call number - * - * Can return null - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @param precisionStr a decimal number (represented in string format) showing the - * desired precision of the returned number; i.e. 100 to round to nearest hundred, - * 10 to round to nearest ten, 0.1 to round to nearest tenth, etc. - * @return Set containing requested numeric portions of Dewey decimal call numbers - */ - public Set<String> getDeweyNumber(Record record, String fieldSpec, String precisionStr) { - // Initialize our return value: - Set<String> result = new LinkedHashSet<String>(); - - // Precision comes in as a string, but we need to convert it to a float: - float precision = Float.parseFloat(precisionStr); - - // Loop through the specified MARC fields: - Set<String> input = SolrIndexer.instance().getFieldList(record, fieldSpec); - for (String current: input) { - DeweyCallNumber callNum = new DeweyCallNumber(current); - if (callNum.isValid()) { - // Convert the numeric portion of the call number into a float: - float currentVal = Float.parseFloat(callNum.getClassification()); - - // Round the call number value to the specified precision: - Float finalVal = new Float(Math.floor(currentVal / precision) * precision); - - // Convert the rounded value back to a string (with leading zeros) and save it: - // TODO: Provide different conversion to remove CallNumUtils dependency - result.add(CallNumUtils.normalizeFloat(finalVal.toString(), 3, -1)); - } - } - - // If we found no call number matches, return null; otherwise, return our results: - if (result.isEmpty()) - return null; - return result; - } - - /** - * Normalize Dewey numbers for searching purposes (uppercase/stripped spaces) - * - * Can return null - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @return Set containing normalized Dewey numbers extracted from specified fields. - */ - public Set<String> getDeweySearchable(Record record, String fieldSpec) { - // Initialize our return value: - Set<String> result = new LinkedHashSet<String>(); - - // Loop through the specified MARC fields: - Set<String> input = SolrIndexer.instance().getFieldList(record, fieldSpec); - Iterator<String> iter = input.iterator(); - while (iter.hasNext()) { - // Get the current string to work on: - String current = iter.next(); - - // Add valid strings to the set, normalizing them to be all uppercase - // and free from whitespace. - DeweyCallNumber callNum = new DeweyCallNumber(current); - if (callNum.isValid()) { - result.add(callNum.toString().toUpperCase().replaceAll(" ", "")); - } - } - - // If we found no call numbers, return null; otherwise, return our results: - if (result.isEmpty()) - return null; - return result; - } - - /** - * Normalize Dewey numbers for sorting purposes (use only the first valid number!) - * - * Can return null - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @return String containing the first valid Dewey number encountered, normalized - * for sorting purposes. - */ - public String getDeweySortable(Record record, String fieldSpec) { - // Loop through the specified MARC fields: - Set<String> input = SolrIndexer.instance().getFieldList(record, fieldSpec); - Iterator<String> iter = input.iterator(); - while (iter.hasNext()) { - // Get the current string to work on: - String current = iter.next(); - - // If this is a valid Dewey number, return the sortable shelf key: - DeweyCallNumber callNum = new DeweyCallNumber(current); - if (callNum.isValid()) { - return callNum.getShelfKey(); - } - } - - // If we made it this far, we didn't find a valid sortable Dewey number: - return null; - } - - /** - * Get sort key for first Dewey call number, identified by call type. - * - * <p>{@code fieldSpec} is of form {@literal 098abc:099ab}, does not accept subfield ranges. - * - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @param callTypeSf subfield containing call number type, single character only - * @param callType literal call number code - * @return sort key for first identified Dewey call number - */ - public static String getDeweySortableByType( - Record record, String fieldSpec, String callTypeSf, String callType) { - String sortKey = null; - for (String tag : fieldSpec.split(":")) { - // Check to ensure tag length is at least 3 characters - if (tag.length() < 3) { - //TODO: Should this go to a log? Better message for a bad tag in a field spec? - System.err.println("Invalid tag specified: " + tag); - continue; - } - String dfTag = tag.substring(0, 3); - String sfSpec = null; - if (tag.length() > 3) { - sfSpec = tag.substring(3); - } - - // do all fields for this tag - for (VariableField vf : record.getVariableFields(dfTag)) { - // Assume tag represents a DataField - DataField df = (DataField) vf; - boolean callTypeMatch = false; - - // Assume call type subfield could repeat - for (Subfield typeSf : df.getSubfields(callTypeSf)) { - if (callTypeSf.indexOf(typeSf.getCode()) != -1 && typeSf.getData().equals(callType)) { - callTypeMatch = true; - } - } - // take the first call number coded as Dewey - if (callTypeMatch) { - sortKey = new DeweyCallNumber(df.getSubfieldsAsString(sfSpec)).getShelfKey(); - break; - } - } // end loop over variable fields - } // end loop over fieldSpec - return sortKey; - } - - - /** - * Normalize Dewey numbers for AlphaBrowse sorting purposes (use all numbers!) - * - * Can return null - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @return List containing normalized Dewey numbers extracted from specified fields. - */ - public List<String> getDeweySortables(Record record, String fieldSpec) { - // Initialize our return value: - List<String> result = new LinkedList<String>(); - - // Loop through the specified MARC fields: - Set<String> input = SolrIndexer.instance().getFieldList(record, fieldSpec); - Iterator<String> iter = input.iterator(); - while (iter.hasNext()) { - // Get the current string to work on: - String current = iter.next(); - - // gather all sort keys, even if number is not valid - DeweyCallNumber callNum = new DeweyCallNumber(current); - result.add(callNum.getShelfKey()); - } - - // If we found no call numbers, return null; otherwise, return our results: - if (result.isEmpty()) - return null; - return result; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/ConfigManager.java b/import/index_java/src/org/vufind/index/ConfigManager.java deleted file mode 100644 index 454aace2374ad201cfaac91e5022869626680d69..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/ConfigManager.java +++ /dev/null @@ -1,245 +0,0 @@ -package org.vufind.index; -/** - * VuFind configuration manager - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.io.File; -import java.io.FileReader; -import java.util.Map; -import java.util.Properties; -import java.util.concurrent.ConcurrentHashMap; -import org.solrmarc.index.indexer.ValueIndexerFactory; -import org.solrmarc.tools.PropertyUtils; -import org.solrmarc.tools.SolrMarcIndexerException; -import org.ini4j.Ini; -import org.apache.log4j.Logger; - -/** - * VuFind configuration manager - */ -public class ConfigManager -{ - // Initialize logging category - static Logger logger = Logger.getLogger(ConfigManager.class.getName()); - private static ConcurrentHashMap<String, Ini> configCache = new ConcurrentHashMap<String, Ini>(); - private Properties vuFindConfigs = null; - private static ThreadLocal<ConfigManager> managerCache = - new ThreadLocal<ConfigManager>() - { - @Override - protected ConfigManager initialValue() - { - return new ConfigManager(); - } - }; - - public ConfigManager() - { - try { - vuFindConfigs = PropertyUtils.loadProperties(ValueIndexerFactory.instance().getHomeDirs(), "vufind.properties"); - } catch (IllegalArgumentException e) { - // If the properties load failed, don't worry about it -- we'll use defaults. - } - } - - public static ConfigManager instance() - { - return managerCache.get(); - } - - /** - * Given the base name of a configuration file, locate the full path. - * @param filename base name of a configuration file - */ - private File findConfigFile(String filename) throws IllegalStateException - { - // Find VuFind's home directory in the environment; if it's not available, - // try using a relative path on the assumption that we are currently in - // VuFind's import subdirectory: - String vufindHome = System.getenv("VUFIND_HOME"); - if (vufindHome == null) { - // this shouldn't happen since import-marc.sh and .bat always set VUFIND_HOME - throw new IllegalStateException("VUFIND_HOME must be set"); - } - - // Check for VuFind 2.0's local directory environment variable: - String vufindLocal = System.getenv("VUFIND_LOCAL_DIR"); - - // Get the relative VuFind path from the properties file, defaulting to - // the 2.0-style config/vufind if necessary. - String relativeConfigPath = PropertyUtils.getProperty( - vuFindConfigs, "vufind.config.relative_path", "config/vufind" - ); - - // Try several different locations for the file -- VuFind 2 local dir, - // VuFind 2 base dir, VuFind 1 base dir. - File file; - if (vufindLocal != null) { - file = new File(vufindLocal + "/" + relativeConfigPath + "/" + filename); - if (file.exists()) { - return file; - } - } - file = new File(vufindHome + "/" + relativeConfigPath + "/" + filename); - if (file.exists()) { - return file; - } - file = new File(vufindHome + "/web/conf/" + filename); - return file; - } - - /** - * Sanitize a VuFind configuration setting. - * @param str configuration setting - */ - private String sanitizeConfigSetting(String str) - { - // Drop comments if necessary: - int pos = str.indexOf(';'); - if (pos >= 0) { - str = str.substring(0, pos).trim(); - } - - // Strip wrapping quotes if necessary (the ini reader won't do this for us): - if (str.startsWith("\"")) { - str = str.substring(1, str.length()); - } - if (str.endsWith("\"")) { - str = str.substring(0, str.length() - 1); - } - return str; - } - - /** - * Load an ini file. - * @param filename name of {@code .ini} file - */ - public Ini loadConfigFile(String filename) - { - // Retrieve the file if it is not already cached. - if (!configCache.containsKey(filename)) { - Ini ini = new Ini(); - File configFile = null; - try { - configFile = findConfigFile(filename); - } catch (IllegalStateException e) { - dieWithError("Illegal State: " + e.getMessage()); - } catch (Throwable e) { - dieWithError("Unable to locate " + filename); - } - try { - if (configFile != null) { - ini.load(new FileReader(configFile)); - configCache.putIfAbsent(filename, ini); - } - } catch (Throwable e) { - dieWithError("Unable to access " + configFile.getAbsolutePath()); - } - } - return configCache.get(filename); - } - - /** - * Get a section from a VuFind configuration file. - * @param filename configuration file name - * @param section section name within the file - */ - public Map<String, String> getConfigSection(String filename, String section) - { - // Grab the ini file. - Ini ini = loadConfigFile(filename); - Map<String, String> retVal = ini.get(section); - - String parent = ini.get("Parent_Config", "path"); - while (parent != null) { - Ini parentIni = loadConfigFile(parent); - Map<String, String> parentSection = parentIni.get(section); - for (String key : parentSection.keySet()) { - if (!retVal.containsKey(key)) { - retVal.put(key, parentSection.get(key)); - } - } - parent = parentIni.get("Parent_Config", "path"); - } - - // Check to see if we need to worry about an override file: - String override = ini.get("Extra_Config", "local_overrides"); - if (override != null) { - Map<String, String> overrideSection = loadConfigFile(override).get(section); - for (String key : overrideSection.keySet()) { - retVal.put(key, overrideSection.get(key)); - } - } - return retVal; - } - - /** - * Get a setting from a VuFind configuration file. - * @param filename configuration file name - * @param section section name within the file - * @param setting setting name within the section - */ - public String getConfigSetting(String filename, String section, String setting) - { - String retVal = null; - - // Grab the ini file. - Ini ini = loadConfigFile(filename); - - // Check to see if we need to worry about an override file: - String override = ini.get("Extra_Config", "local_overrides"); - if (override != null) { - Ini overrideIni = loadConfigFile(override); - retVal = overrideIni.get(section, setting); - if (retVal != null) { - return sanitizeConfigSetting(retVal); - } - } - - // Try to find the requested setting: - retVal = ini.get(section, setting); - - // No setting? Check for a parent configuration: - while (retVal == null) { - String parent = ini.get("Parent_Config", "path"); - if (parent != null) { - try { - ini.load(new FileReader(new File(parent))); - } catch (Throwable e) { - dieWithError("Unable to access " + parent); - } - retVal = ini.get(section, setting); - } else { - break; - } - } - - // Return the processed setting: - return retVal == null ? null : sanitizeConfigSetting(retVal); - } - - /** - * Log an error message and throw a fatal exception. - * @param msg message to log - */ - private void dieWithError(String msg) - { - logger.error(msg); - throw new SolrMarcIndexerException(SolrMarcIndexerException.EXIT, msg); - } -} diff --git a/import/index_java/src/org/vufind/index/CreatorTools.java b/import/index_java/src/org/vufind/index/CreatorTools.java deleted file mode 100644 index 3a50dd9ad89fb8144528229fdc9638533c5f7bb6..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/CreatorTools.java +++ /dev/null @@ -1,725 +0,0 @@ -package org.vufind.index; -/** - * Indexing routines for dealing with creators and relator terms. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.Subfield; -import org.marc4j.marc.DataField; -import org.solrmarc.index.SolrIndexer; -import org.apache.log4j.Logger; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Indexing routines for dealing with creators and relator terms. - */ -public class CreatorTools -{ - // Initialize logging category - static Logger logger = Logger.getLogger(CreatorTools.class.getName()); - - private ConcurrentHashMap<String, String> relatorSynonymLookup = RelatorContainer.instance().getSynonymLookup(); - private Set<String> knownRelators = RelatorContainer.instance().getKnownRelators(); - - /** - * Extract all valid relator terms from a list of subfields using a whitelist. - * @param subfields List of subfields to check - * @param permittedRoles Whitelist to check against - * @param indexRawRelators Should we index relators raw, as found - * in the MARC (true) or index mapped versions (false)? - * @return Set of valid relator terms - */ - public Set<String> getValidRelatorsFromSubfields(List<Subfield> subfields, List<String> permittedRoles, Boolean indexRawRelators) - { - Set<String> relators = new LinkedHashSet<String>(); - for (int j = 0; j < subfields.size(); j++) { - String raw = subfields.get(j).getData(); - String current = normalizeRelatorString(raw); - if (permittedRoles.contains(current)) { - relators.add(indexRawRelators ? raw : mapRelatorStringToCode(current)); - } - } - return relators; - } - - /** - * Is this relator term unknown to author-classification.ini? - * @param current relator to check - * @return True if unknown - */ - public Boolean isUnknownRelator(String current) - { - // If we haven't loaded known relators yet, do so now: - if (knownRelators.size() == 0) { - Map<String, String> all = ConfigManager.instance().getConfigSection("author-classification.ini", "RelatorSynonyms"); - for (String key : all.keySet()) { - knownRelators.add(normalizeRelatorString(key)); - for (String synonym: all.get(key).split("\\|")) { - knownRelators.add(normalizeRelatorString(synonym)); - } - } - } - return !knownRelators.contains(normalizeRelatorString(current)); - } - - /** - * Extract all valid relator terms from a list of subfields using a whitelist. - * @param subfields List of subfields to check - * @return Set of valid relator terms - */ - public Set<String> getUnknownRelatorsFromSubfields(List<Subfield> subfields) - { - Set<String> relators = new LinkedHashSet<String>(); - for (int j = 0; j < subfields.size(); j++) { - String current = subfields.get(j).getData().trim(); - if (current.length() > 0 && isUnknownRelator(current)) { - logger.info("Unknown relator: " + current); - relators.add(current); - } - } - return relators; - } - - /** - * Extract all values that meet the specified relator requirements. - * @param authorField Field to analyze - * @param noRelatorAllowed Array of tag names which are allowed to be used with - * no declared relator. - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param unknownRelatorAllowed Array of tag names whose relators should be indexed - * even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - * @return Set - */ - public Set<String> getValidRelators(DataField authorField, - String[] noRelatorAllowed, String relatorConfig, - String[] unknownRelatorAllowed, String indexRawRelators - ) { - // get tag number from Field - String tag = authorField.getTag(); - List<Subfield> subfieldE = authorField.getSubfields('e'); - List<Subfield> subfield4 = authorField.getSubfields('4'); - - Set<String> relators = new LinkedHashSet<String>(); - - // if no relator is found, check to see if the current tag is in the "no - // relator allowed" list. - if (subfieldE.size() == 0 && subfield4.size() == 0) { - if (Arrays.asList(noRelatorAllowed).contains(tag)) { - relators.add(""); - } - } else { - // If we got this far, we need to figure out what type of relation they have - List permittedRoles = normalizeRelatorStringList(Arrays.asList(loadRelatorConfig(relatorConfig))); - relators.addAll(getValidRelatorsFromSubfields(subfieldE, permittedRoles, indexRawRelators.toLowerCase().equals("true"))); - relators.addAll(getValidRelatorsFromSubfields(subfield4, permittedRoles, indexRawRelators.toLowerCase().equals("true"))); - if (Arrays.asList(unknownRelatorAllowed).contains(tag)) { - Set<String> unknown = getUnknownRelatorsFromSubfields(subfieldE); - if (unknown.size() == 0) { - unknown = getUnknownRelatorsFromSubfields(subfield4); - } - relators.addAll(unknown); - } - } - return relators; - } - - /** - * Parse a SolrMarc fieldspec into a map of tag name to set of subfield strings - * (note that we need to map to a set rather than a single string, because the - * same tag may repeat with different subfields to extract different sections - * of the same field into distinct values). - * - * @param tagList The field specification to parse - * @return HashMap - */ - protected HashMap<String, Set<String>> getParsedTagList(String tagList) - { - String[] tags = tagList.split(":");//convert string input to array - HashMap<String, Set<String>> tagMap = new HashMap<String, Set<String>>(); - //cut tags array up into key/value pairs in hash map - Set<String> currentSet; - for(int i = 0; i < tags.length; i++){ - String tag = tags[i].substring(0, 3); - if (!tagMap.containsKey(tag)) { - currentSet = new LinkedHashSet<String>(); - tagMap.put(tag, currentSet); - } else { - currentSet = tagMap.get(tag); - } - currentSet.add(tags[i].substring(3)); - } - return tagMap; - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - * @param firstOnly Return first result only? - * @return List result - */ - public List<String> getAuthorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators, String indexRawRelators, Boolean firstOnly - ) { - List<String> result = new LinkedList<String>(); - String[] noRelatorAllowed = acceptWithoutRelator.split(":"); - String[] unknownRelatorAllowed = acceptUnknownRelators.split(":"); - HashMap<String, Set<String>> parsedTagList = getParsedTagList(tagList); - List fields = SolrIndexer.instance().getFieldSetMatchingTagList(record, tagList); - Iterator fieldsIter = fields.iterator(); - if (fields != null){ - DataField authorField; - while (fieldsIter.hasNext()){ - authorField = (DataField) fieldsIter.next(); - // add all author types to the result set; if we have multiple relators, repeat the authors - for (String iterator: getValidRelators(authorField, noRelatorAllowed, relatorConfig, unknownRelatorAllowed, indexRawRelators)) { - for (String subfields : parsedTagList.get(authorField.getTag())) { - String current = SolrIndexer.instance().getDataFromVariableField(authorField, "["+subfields+"]", " ", false); - // TODO: we may eventually be able to use this line instead, - // but right now it's not handling separation between the - // subfields correctly, so it's commented out until that is - // fixed. - //String current = authorField.getSubfieldsAsString(subfields); - if (null != current) { - result.add(current); - if (firstOnly) { - return result; - } - } - } - } - } - } - return result; - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @return List result - */ - public List<String> getAuthorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig - ) { - // default firstOnly to false! - return getAuthorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptWithoutRelator, "false", false - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @return List result - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - */ - public List<String> getAuthorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators - ) { - // default firstOnly to false! - return getAuthorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, "false", false - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @return List result - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - */ - public List<String> getAuthorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators, String indexRawRelators - ) { - // default firstOnly to false! - return getAuthorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, indexRawRelators, false - ); - } - - /** - * If the provided relator is included in the synonym list, convert it back to - * a code (for better standardization/translation). - * - * @param relator Relator code to check - * @return Code version, if found, or raw string if no match found. - */ - public String mapRelatorStringToCode(String relator) - { - String normalizedRelator = normalizeRelatorString(relator); - return relatorSynonymLookup.containsKey(normalizedRelator) - ? relatorSynonymLookup.get(normalizedRelator) : relator; - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - * @return String - */ - public String getFirstAuthorFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators, String indexRawRelators - ) { - List<String> result = getAuthorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, indexRawRelators, true - ); - for (String s : result) { - return s; - } - return null; - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @return String - */ - public String getFirstAuthorFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig - ) { - return getFirstAuthorFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptWithoutRelator, "false" - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @return String - */ - public String getFirstAuthorFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators - ) { - return getFirstAuthorFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, "false" - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for saving relators of authors separated by different - * types. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - * @param firstOnly Return first result only? - * @return List result - */ - public List getRelatorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators, String indexRawRelators, Boolean firstOnly - ) { - List result = new LinkedList(); - String[] noRelatorAllowed = acceptWithoutRelator.split(":"); - String[] unknownRelatorAllowed = acceptUnknownRelators.split(":"); - HashMap<String, Set<String>> parsedTagList = getParsedTagList(tagList); - List fields = SolrIndexer.instance().getFieldSetMatchingTagList(record, tagList); - Iterator fieldsIter = fields.iterator(); - if (fields != null){ - DataField authorField; - while (fieldsIter.hasNext()){ - authorField = (DataField) fieldsIter.next(); - //add all author types to the result set - result.addAll(getValidRelators(authorField, noRelatorAllowed, relatorConfig, unknownRelatorAllowed, indexRawRelators)); - } - } - return result; - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for saving relators of authors separated by different - * types. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - * @return List result - */ - public List getRelatorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators, String indexRawRelators - ) { - // default firstOnly to false! - return getRelatorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, indexRawRelators, false - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for saving relators of authors separated by different - * types. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @return List result - */ - public List getRelatorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators - ) { - // default firstOnly to false! - return getRelatorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, "false", false - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for saving relators of authors separated by different - * types. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @return List result - */ - public List getRelatorsFilteredByRelator(Record record, String tagList, - String acceptWithoutRelator, String relatorConfig - ) { - // default firstOnly to false! - return getRelatorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptWithoutRelator, "false", false - ); - } - - /** - * This method fetches relator definitions from ini file and casts them to an - * array. If a colon-delimited string is passed in, this will be directly parsed - * instead of resorting to .ini loading. - * - * @param setting Setting to load from .ini or colon-delimited list. - * @return String[] - */ - protected String[] loadRelatorConfig(String setting){ - StringBuilder relators = new StringBuilder(); - - // check for pipe-delimited string - String[] relatorSettings = setting.split("\\|"); - for (String relatorSetting: relatorSettings) { - // check for colon-delimited string - String[] relatorArray = relatorSetting.split(":"); - if (relatorArray.length > 1) { - for (int i = 0; i < relatorArray.length; i++) { - relators.append(relatorArray[i]).append(","); - } - } else { - relators.append(ConfigManager.instance().getConfigSetting( - "author-classification.ini", "AuthorRoles", relatorSetting - )).append(","); - } - } - - return relators.toString().split(","); - } - - /** - * Normalizes a relator string and returns a list containing the normalized - * relator plus any configured synonyms. - * - * @param relator Relator term to normalize - * @return List of strings - */ - public List<String> normalizeRelatorAndAddSynonyms(String relator) - { - List<String> newList = new ArrayList<String>(); - String normalized = normalizeRelatorString(relator); - newList.add(normalized); - String synonyms = ConfigManager.instance().getConfigSetting( - "author-classification.ini", "RelatorSynonyms", relator - ); - if (null != synonyms && synonyms.length() > 0) { - for (String synonym: synonyms.split("\\|")) { - String normalizedSynonym = normalizeRelatorString(synonym); - relatorSynonymLookup.put(normalizedSynonym, relator); - newList.add(normalizedSynonym); - } - } - return newList; - } - - /** - * Normalizes the strings in a list. - * - * @param stringList List of strings to be normalized - * @return Normalized List of strings - */ - protected List<String> normalizeRelatorStringList(List<String> stringList) - { - List<String> newList = new ArrayList<String>(); - for (String relator: stringList) { - newList.addAll(normalizeRelatorAndAddSynonyms(relator)); - } - return newList; - } - - /** - * Normalizes a string - * - * @param string String to be normalized - * @return string - */ - protected String normalizeRelatorString(String string) - { - return string - .trim() - .toLowerCase() - .replaceAll("\\p{Punct}+", ""); //POSIX character class Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @param indexRawRelators Set to "true" to index relators raw, as found - * in the MARC or "false" to index mapped versions. - * @return List result - */ - public List<String> getAuthorInitialsFilteredByRelator(Record record, - String tagList, String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators, String indexRawRelators - ) { - List<String> authors = getAuthorsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, indexRawRelators - ); - List<String> result = new LinkedList<String>(); - for (String author : authors) { - result.add(processInitials(author)); - } - return result; - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @return List result - */ - public List<String> getAuthorInitialsFilteredByRelator(Record record, - String tagList, String acceptWithoutRelator, String relatorConfig - ) { - return getAuthorInitialsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptWithoutRelator, "false" - ); - } - - /** - * Filter values retrieved using tagList to include only those whose relator - * values are acceptable. Used for separating different types of authors. - * - * @param record The record (fed in automatically) - * @param tagList The field specification to read - * @param acceptWithoutRelator Colon-delimited list of tags whose values should - * be accepted even if no relator subfield is defined - * @param relatorConfig The setting in author-classification.ini which - * defines which relator terms are acceptable (or a colon-delimited list) - * @param acceptUnknownRelators Colon-delimited list of tags whose relators - * should be indexed even if they are not listed in author-classification.ini. - * @return List result - */ - public List<String> getAuthorInitialsFilteredByRelator(Record record, - String tagList, String acceptWithoutRelator, String relatorConfig, - String acceptUnknownRelators - ) { - return getAuthorInitialsFilteredByRelator( - record, tagList, acceptWithoutRelator, relatorConfig, - acceptUnknownRelators, "false" - ); - } - - /** - * Takes a name and cuts it into initials - * @param authorName e.g. Yeats, William Butler - * @return initials e.g. w b y wb - */ - protected String processInitials(String authorName) { - Boolean isPersonalName = false; - // we guess that if there is a comma before the end - this is a personal name - if ((authorName.indexOf(',') > 0) - && (authorName.indexOf(',') < authorName.length()-1)) { - isPersonalName = true; - } - // get rid of non-alphabet chars but keep hyphens and accents - authorName = authorName.replaceAll("[^\\p{L} -]", "").toLowerCase(); - String[] names = authorName.split(" "); //split into tokens on spaces - // if this is a personal name we'll reorganise to put lastname at the end - String result = ""; - if (isPersonalName) { - String lastName = names[0]; - for (int i = 0; i < names.length-1; i++) { - names[i] = names[i+1]; - } - names[names.length-1] = lastName; - } - // put all the initials together in a space separated string - for (String name : names) { - if (name.length() > 0) { - String initial = name.substring(0,1); - // if there is a hyphenated name, use both initials - int pos = name.indexOf('-'); - if (pos > 0 && pos < name.length() - 1) { - String extra = name.substring(pos+1, pos+2); - initial = initial + " " + extra; - } - result += " " + initial; - } - } - // grab all initials and stick them together - String smushAll = result.replaceAll(" ", ""); - // if it's a long personal name, get all but the last initials as well - // e.g. wb for william butler yeats - if (names.length > 2 && isPersonalName) { - String smushPers = result.substring(0,result.length()-1).replaceAll(" ",""); - result = result + " " + smushPers; - } - // now we have initials separate and together - if (!result.trim().equals(smushAll)) { - result += " " + smushAll; - } - result = result.trim(); - return result; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/DatabaseManager.java b/import/index_java/src/org/vufind/index/DatabaseManager.java deleted file mode 100644 index 43a4cb429d8aa74b451684978649cc280da05f66..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/DatabaseManager.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.vufind.index; -/** - * Database manager. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.apache.log4j.Logger; -import org.solrmarc.tools.SolrMarcIndexerException; -import java.sql.*; - -/** - * Database manager. - */ -public class DatabaseManager -{ - // Initialize logging category - static Logger logger = Logger.getLogger(DatabaseManager.class.getName()); - - // Initialize VuFind database connection (null until explicitly activated) - private Connection vufindDatabase = null; - - // Shutdown flag: - private boolean shuttingDown = false; - - private static ThreadLocal<DatabaseManager> managerCache = - new ThreadLocal<DatabaseManager>() - { - @Override - protected DatabaseManager initialValue() - { - return new DatabaseManager(); - } - }; - - public static DatabaseManager instance() - { - return managerCache.get(); - } - - /** - * Log an error message and throw a fatal exception. - * @param msg message to log - */ - private void dieWithError(String msg) - { - logger.error(msg); - throw new SolrMarcIndexerException(SolrMarcIndexerException.EXIT, msg); - } - - /** - * Connect to the VuFind database if we do not already have a connection. - */ - private void connectToDatabase() - { - // Already connected? Do nothing further! - if (vufindDatabase != null) { - return; - } - - String dsn = ConfigManager.instance().getConfigSetting("config.ini", "Database", "database"); - - try { - // Parse key settings from the PHP-style DSN: - String username = ""; - String password = ""; - String classname = "invalid"; - String prefix = "invalid"; - if (dsn.substring(0, 8).equals("mysql://")) { - classname = "com.mysql.jdbc.Driver"; - prefix = "mysql"; - } else if (dsn.substring(0, 8).equals("pgsql://")) { - classname = "org.postgresql.Driver"; - prefix = "postgresql"; - } - - Class.forName(classname).newInstance(); - String[] parts = dsn.split("://"); - if (parts.length > 1) { - parts = parts[1].split("@"); - if (parts.length > 1) { - dsn = prefix + "://" + parts[1]; - parts = parts[0].split(":"); - username = parts[0]; - if (parts.length > 1) { - password = parts[1]; - } - } - } - - // Connect to the database: - vufindDatabase = DriverManager.getConnection("jdbc:" + dsn, username, password); - } catch (Throwable e) { - dieWithError("Unable to connect to VuFind database"); - } - - Runtime.getRuntime().addShutdownHook(new DatabaseManagerShutdownThread(this)); - } - - private void disconnectFromDatabase() - { - if (vufindDatabase != null) { - try { - vufindDatabase.close(); - } catch (SQLException e) { - System.err.println("Unable to disconnect from VuFind database"); - logger.error("Unable to disconnect from VuFind database"); - } - } - } - - public void shutdown() - { - disconnectFromDatabase(); - shuttingDown = true; - } - - public Connection getConnection() - { - connectToDatabase(); - return vufindDatabase; - } - - public boolean isShuttingDown() - { - return shuttingDown; - } - - class DatabaseManagerShutdownThread extends Thread - { - private DatabaseManager manager; - - public DatabaseManagerShutdownThread(DatabaseManager m) - { - manager = m; - } - - public void run() - { - manager.shutdown(); - } - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/DateTools.java b/import/index_java/src/org/vufind/index/DateTools.java deleted file mode 100644 index 343b382df1cf3376150ec12df90cc61be3a57f71..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/DateTools.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.vufind.index; -/** - * Date indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.VariableField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import org.solrmarc.tools.DataUtil; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -/** - * Date indexing routines. - */ -public class DateTools -{ - /** - * Get all available dates from the record. - * - * @param record MARC record - * @return set of dates - */ - public Set<String> getDates(final Record record) { - Set<String> dates = new LinkedHashSet<String>(); - - // First check old-style 260c date: - List<VariableField> list260 = record.getVariableFields("260"); - for (VariableField vf : list260) { - DataField df = (DataField) vf; - List<Subfield> currentDates = df.getSubfields('c'); - for (Subfield sf : currentDates) { - String currentDateStr = DataUtil.cleanDate(sf.getData()); - if (currentDateStr != null) dates.add(currentDateStr); - } - } - - // Now track down relevant RDA-style 264c dates; we only care about - // copyright and publication dates (and ignore copyright dates if - // publication dates are present). - Set<String> pubDates = new LinkedHashSet<String>(); - Set<String> copyDates = new LinkedHashSet<String>(); - List<VariableField> list264 = record.getVariableFields("264"); - for (VariableField vf : list264) { - DataField df = (DataField) vf; - List<Subfield> currentDates = df.getSubfields('c'); - for (Subfield sf : currentDates) { - String currentDateStr = DataUtil.cleanDate(sf.getData()); - char ind2 = df.getIndicator2(); - switch (ind2) - { - case '1': - if (currentDateStr != null) pubDates.add(currentDateStr); - break; - case '4': - if (currentDateStr != null) copyDates.add(currentDateStr); - break; - } - } - } - if (pubDates.size() > 0) { - dates.addAll(pubDates); - } else if (copyDates.size() > 0) { - dates.addAll(copyDates); - } - - return dates; - } - - /** - * Get the earliest publication date from the record. - * - * @param record MARC record - * @return earliest date - */ - public String getFirstDate(final Record record) { - String result = null; - Set<String> dates = getDates(record); - for(String current: dates) { - if (result == null || Integer.parseInt(current) < Integer.parseInt(result)) { - result = current; - } - } - return result; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/FormatCalculator.java b/import/index_java/src/org/vufind/index/FormatCalculator.java deleted file mode 100644 index 0c97299cae8c73a1a52fd399e2024bf16480d9c5..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/FormatCalculator.java +++ /dev/null @@ -1,327 +0,0 @@ -package org.vufind.index; -/** - * Format determination logic. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.VariableField; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -/** - * Format determination logic. - */ -public class FormatCalculator -{ - /** - * Determine Record Format(s) - * - * @param record MARC record - * @return set of record formats - */ - public Set<String> getFormat(final Record record){ - Set<String> result = new LinkedHashSet<String>(); - String leader = record.getLeader().toString(); - char leaderBit; - ControlField fixedField = (ControlField) record.getVariableField("008"); - DataField title = (DataField) record.getVariableField("245"); - String formatString; - char formatCode = ' '; - char formatCode2 = ' '; - char formatCode4 = ' '; - - // check if there's an h in the 245 - if (title != null) { - if (title.getSubfield('h') != null){ - if (title.getSubfield('h').getData().toLowerCase().contains("[electronic resource]")) { - result.add("Electronic"); - return result; - } - } - } - - // check the 007 - this is a repeating field - List<VariableField> fields = record.getVariableFields("007"); - Iterator<VariableField> fieldsIter = fields.iterator(); - if (fields != null) { - // TODO: update loop to for(:) syntax, but problem with type casting. - ControlField formatField; - while(fieldsIter.hasNext()) { - formatField = (ControlField) fieldsIter.next(); - formatString = formatField.getData().toUpperCase(); - formatCode = formatString.length() > 0 ? formatString.charAt(0) : ' '; - formatCode2 = formatString.length() > 1 ? formatString.charAt(1) : ' '; - formatCode4 = formatString.length() > 4 ? formatString.charAt(4) : ' '; - switch (formatCode) { - case 'A': - switch(formatCode2) { - case 'D': - result.add("Atlas"); - break; - default: - result.add("Map"); - break; - } - break; - case 'C': - switch(formatCode2) { - case 'A': - result.add("TapeCartridge"); - break; - case 'B': - result.add("ChipCartridge"); - break; - case 'C': - result.add("DiscCartridge"); - break; - case 'F': - result.add("TapeCassette"); - break; - case 'H': - result.add("TapeReel"); - break; - case 'J': - result.add("FloppyDisk"); - break; - case 'M': - case 'O': - result.add("CDROM"); - break; - case 'R': - // Do not return - this will cause anything with an - // 856 field to be labeled as "Electronic" - break; - default: - result.add("Software"); - break; - } - break; - case 'D': - result.add("Globe"); - break; - case 'F': - result.add("Braille"); - break; - case 'G': - switch(formatCode2) { - case 'C': - case 'D': - result.add("Filmstrip"); - break; - case 'T': - result.add("Transparency"); - break; - default: - result.add("Slide"); - break; - } - break; - case 'H': - result.add("Microfilm"); - break; - case 'K': - switch(formatCode2) { - case 'C': - result.add("Collage"); - break; - case 'D': - result.add("Drawing"); - break; - case 'E': - result.add("Painting"); - break; - case 'F': - result.add("Print"); - break; - case 'G': - result.add("Photonegative"); - break; - case 'J': - result.add("Print"); - break; - case 'L': - result.add("Drawing"); - break; - case 'O': - result.add("FlashCard"); - break; - case 'N': - result.add("Chart"); - break; - default: - result.add("Photo"); - break; - } - break; - case 'M': - switch(formatCode2) { - case 'F': - result.add("VideoCassette"); - break; - case 'R': - result.add("Filmstrip"); - break; - default: - result.add("MotionPicture"); - break; - } - break; - case 'O': - result.add("Kit"); - break; - case 'Q': - result.add("MusicalScore"); - break; - case 'R': - result.add("SensorImage"); - break; - case 'S': - switch(formatCode2) { - case 'D': - result.add("SoundDisc"); - break; - case 'S': - result.add("SoundCassette"); - break; - default: - result.add("SoundRecording"); - break; - } - break; - case 'V': - switch(formatCode2) { - case 'C': - result.add("VideoCartridge"); - break; - case 'D': - switch(formatCode4) { - case 'S': - result.add("BRDisc"); - break; - case 'V': - default: - result.add("VideoDisc"); - break; - } - break; - case 'F': - result.add("VideoCassette"); - break; - case 'R': - result.add("VideoReel"); - break; - default: - result.add("Video"); - break; - } - break; - } - } - if (!result.isEmpty()) { - return result; - } - } - - // check the Leader at position 6 - leaderBit = leader.charAt(6); - switch (Character.toUpperCase(leaderBit)) { - case 'C': - case 'D': - result.add("MusicalScore"); - break; - case 'E': - case 'F': - result.add("Map"); - break; - case 'G': - result.add("Slide"); - break; - case 'I': - result.add("SoundRecording"); - break; - case 'J': - result.add("MusicRecording"); - break; - case 'K': - result.add("Photo"); - break; - case 'M': - result.add("Electronic"); - break; - case 'O': - case 'P': - result.add("Kit"); - break; - case 'R': - result.add("PhysicalObject"); - break; - case 'T': - result.add("Manuscript"); - break; - } - if (!result.isEmpty()) { - return result; - } - - // check the Leader at position 7 - leaderBit = leader.charAt(7); - switch (Character.toUpperCase(leaderBit)) { - // Monograph - case 'M': - if (formatCode == 'C') { - result.add("eBook"); - } else { - result.add("Book"); - } - break; - // Component parts - case 'A': - result.add("BookComponentPart"); - break; - case 'B': - result.add("SerialComponentPart"); - break; - // Serial - case 'S': - // Look in 008 to determine what type of Continuing Resource - formatCode = fixedField.getData().toUpperCase().charAt(21); - switch (formatCode) { - case 'N': - result.add("Newspaper"); - break; - case 'P': - result.add("Journal"); - break; - default: - result.add("Serial"); - break; - } - } - - // Nothing worked! - if (result.isEmpty()) { - result.add("Unknown"); - } - - return result; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/FullTextTools.java b/import/index_java/src/org/vufind/index/FullTextTools.java deleted file mode 100644 index 3e11eade3d9c70f18f70b082c38b32ea17873797..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/FullTextTools.java +++ /dev/null @@ -1,334 +0,0 @@ -package org.vufind.index; -/** - * Full text retrieval indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import java.io.*; -import java.util.Iterator; -import java.util.Set; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.apache.log4j.Logger; -import org.solrmarc.index.SolrIndexer; -import org.solrmarc.tools.SolrMarcIndexerException; - -/** - * Full text retrieval indexing routines. - */ -public class FullTextTools -{ - // Initialize logging category - static Logger logger = Logger.getLogger(FullTextTools.class.getName()); - - /** - * Load configurations for the full text parser. Return an array containing the - * parser type in the first element and the parser configuration in the second - * element. - * - * @return String[] - */ - public String[] getFulltextParserSettings() - { - String parserType = ConfigManager.instance().getConfigSetting( - "fulltext.ini", "General", "parser" - ); - if (null != parserType) { - parserType = parserType.toLowerCase(); - } - - // Is Aperture active? - String aperturePath = ConfigManager.instance().getConfigSetting( - "fulltext.ini", "Aperture", "webcrawler" - ); - if ((null == parserType && null != aperturePath) - || (null != parserType && parserType.equals("aperture")) - ) { - String[] array = { "aperture", aperturePath }; - return array; - } - - // Is Tika active? - String tikaPath = ConfigManager.instance().getConfigSetting( - "fulltext.ini", "Tika", "path" - ); - if ((null == parserType && null != tikaPath) - || (null != parserType && parserType.equals("tika")) - ) { - String[] array = { "tika", tikaPath }; - return array; - } - - // No recognized parser found: - String[] array = { "none", null }; - return array; - } - - /** - * Extract full-text from the documents referenced in the tags - * - * @param Record record current MARC record - * @param String field spec to search for URLs - * @param String only harvest files matching this extension (null for all) - * @return String The full-text - */ - public String getFulltext(Record record, String fieldSpec, String extension) { - String result = ""; - - // Get the web crawler settings (and return no text if it is unavailable) - String[] parserSettings = getFulltextParserSettings(); - if (parserSettings[0].equals("none")) { - return null; - } - - // Loop through the specified MARC fields: - Set<String> fields = SolrIndexer.instance().getFieldList(record, fieldSpec); - Iterator<String> fieldsIter = fields.iterator(); - if (fields != null) { - while(fieldsIter.hasNext()) { - // Get the current string to work on (and sanitize spaces): - String current = fieldsIter.next().replaceAll(" ", "%20"); - // Filter by file extension - if (extension == null || current.endsWith(extension)) { - // Load the parser output for each tag into a string - result = result + harvestWithParser(current, parserSettings); - } - } - } - // return string to SolrMarc - return result; - } - - /** - * Extract full-text from the documents referenced in the tags - * - * @param Record record current MARC record - * @param String field spec to search for URLs - * @return String The full-text - */ - public String getFulltext(Record record, String fieldSpec) { - return getFulltext(record, fieldSpec, null); - } - - /** - * Extract full-text from the documents referenced in the tags - * - * @param Record record current MARC record - * @return String The full-text - */ - public String getFulltext(Record record) { - return getFulltext(record, "856u", null); - } - - /** - * Clean up XML data generated by Aperture - * - * @param f file to clean - * @return a fixed version of the file - */ - public File sanitizeApertureOutput(File f) throws IOException - { - //clean up the aperture xml output - File tempFile = File.createTempFile("buffer", ".tmp"); - FileOutputStream fw = new FileOutputStream(tempFile); - OutputStreamWriter writer = new OutputStreamWriter(fw, "UTF8"); - - //delete this control character from the File and save - FileReader fr = new FileReader(f); - BufferedReader br = new BufferedReader(fr); - while (br.ready()) { - writer.write(sanitizeFullText(br.readLine())); - } - writer.close(); - br.close(); - fr.close(); - - return tempFile; - } - - /** - * Clean up bad characters in the full text. - * - * @param text text to clean - * @return cleaned text - */ - public String sanitizeFullText(String text) - { - String badChars = "[^\\u0009\\u000A\\u000D\\u0020-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]+"; - return text.replaceAll(badChars, " "); - } - - /** - * Harvest the contents of a document file (PDF, Word, etc.) using Aperture. - * This method will only work if Aperture is properly configured in the - * fulltext.ini file. Without proper configuration, this will simply return an - * empty string. - * - * @param url the url extracted from the MARC tag. - * @param aperturePath The path to Aperture - * @return full-text extracted from url - */ - public String harvestWithAperture(String url, String aperturePath) { - String plainText = ""; - // Create temp file. - File f = null; - try { - f = File.createTempFile("apt", ".txt"); - } catch (Throwable e) { - dieWithError("Unable to create temporary file for full text harvest."); - } - - // Delete temp file when program exits. - f.deleteOnExit(); - - // Construct the command to call Aperture - String cmd = aperturePath + " -o " + f.getAbsolutePath().toString() + " -x " + url; - - // Call Aperture - //System.out.println("Loading fulltext from " + url + ". Please wait ..."); - try { - Process p = Runtime.getRuntime().exec(cmd); - - // Debugging output - /* - BufferedReader stdInput = new BufferedReader(new - InputStreamReader(p.getInputStream())); - String s; - while ((s = stdInput.readLine()) != null) { - System.out.println(s); - } - */ - - // Wait for Aperture to finish - p.waitFor(); - } catch (Throwable e) { - logger.error("Problem executing Aperture -- " + e.getMessage()); - } - - // Parse Aperture XML output - Document xmlDoc = null; - try { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - File tempFile = sanitizeApertureOutput(f); - xmlDoc = db.parse(tempFile); - NodeList nl = xmlDoc.getElementsByTagName("plainTextContent"); - if(nl != null && nl.getLength() > 0) { - Node node = nl.item(0); - if (node.getNodeType() == Node.ELEMENT_NODE) { - plainText = plainText + node.getTextContent(); - } - } - - // we'll hold onto the temp file if it failed to parse for debugging; - // only set it up to be deleted if we've made it this far successfully. - tempFile.deleteOnExit(); - } catch (Throwable e) { - logger.error("Problem parsing Aperture XML -- " + e.getMessage()); - } - - return plainText; - } - - class ErrorStreamHandler extends Thread { - InputStream stdErr; - - ErrorStreamHandler(InputStream stdErr) { - this.stdErr = stdErr; - } - - public void run() - { - try { - InputStreamReader isr = new InputStreamReader(stdErr, "UTF8"); - BufferedReader br = new BufferedReader(isr); - String line = null; - while ((line = br.readLine()) != null) { - logger.debug(line); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - /** - * Harvest the contents of a document file (PDF, Word, etc.) using Tika. - * This method will only work if Tika is properly configured in the fulltext.ini - * file. Without proper configuration, this will simply return an empty string. - * - * @param url the url extracted from the MARC tag. - * @param scraperPath path to Tika - * @return the full-text - */ - public String harvestWithTika(String url, String scraperPath) { - StringBuilder stringBuilder= new StringBuilder(); - - // Call our scraper - //System.out.println("Loading fulltext from " + url + ". Please wait ..."); - try { - ProcessBuilder pb = new ProcessBuilder( - "java", "-jar", scraperPath, "-t", "-eutf8", url - ); - Process p = pb.start(); - ErrorStreamHandler esh = new ErrorStreamHandler(p.getErrorStream()); - esh.start(); - BufferedReader stdInput = new BufferedReader(new - InputStreamReader(p.getInputStream(), "UTF8")); - - // We'll build the string from the command output - String s; - while ((s = stdInput.readLine()) != null) { - stringBuilder.append(s); - } - } catch (Throwable e) { - logger.error("Problem with Tika -- " + e.getMessage()); - } - - return sanitizeFullText(stringBuilder.toString()); - } - - /** - * Harvest the contents of a document file (PDF, Word, etc.) using the active parser. - * - * @param url the URL extracted from the MARC tag. - * @param settings configuration settings from {@code getFulltextParserSettings}. - * @return the full-text - */ - public String harvestWithParser(String url, String[] settings) { - if (settings[0].equals("aperture")) { - return harvestWithAperture(url, settings[1]); - } else if (settings[0].equals("tika")) { - return harvestWithTika(url, settings[1]); - } - return null; - } - - /** - * Log an error message and throw a fatal exception. - * @param msg message to log - */ - private void dieWithError(String msg) - { - logger.error(msg); - throw new SolrMarcIndexerException(SolrMarcIndexerException.EXIT, msg); - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/GeoTools.java b/import/index_java/src/org/vufind/index/GeoTools.java deleted file mode 100644 index 4d9a33b4977e662fb42b7acd0b2a3d39466eb99a..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/GeoTools.java +++ /dev/null @@ -1,504 +0,0 @@ -package org.vufind.index; -/** - * Geographic indexing routines. - * - * This code is designed to get latitude and longitude coordinates. - * Records can have multiple coordinates sets of points and/or rectangles. - * Points are represented by coordinate sets where N=S E=W. - * - * code adapted from xrosecky - Moravian Library - * https://github.com/moravianlibrary/VuFind-2.x/blob/master/import/index_scripts/geo.bsh - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.io.*; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Properties; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.Set; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import org.apache.log4j.Logger; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Record; -import org.marc4j.marc.Subfield; -import org.marc4j.marc.VariableField; -import org.solrmarc.index.indexer.ValueIndexerFactory; -import org.solrmarc.index.SolrIndexer; -import org.solrmarc.tools.PropertyUtils; -import org.solrmarc.tools.SolrMarcIndexerException; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * Geographic indexing routines. - */ -public class GeoTools -{ - private static final Pattern COORDINATES_PATTERN = Pattern.compile("^([eEwWnNsS])(\\d{3})(\\d{2})(\\d{2})"); - private static final Pattern HDMSHDD_PATTERN = Pattern.compile("^([eEwWnNsS])(\\d+(\\.\\d+)?)"); - private static final Pattern PMDD_PATTERN = Pattern.compile("^([-+]?\\d+(\\.\\d+)?)"); - static String datePrefix = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); - static String vufindLocal = System.getenv("VUFIND_LOCAL_DIR"); - static String vufindHome = System.getenv("VUFIND_HOME"); - private static Properties vufindConfigs = null; - - // Initialize logging category - static Logger logger = Logger.getLogger(GeoTools.class.getName()); - - /** - * Constructor - */ - public GeoTools() - { - try { - vufindConfigs = PropertyUtils.loadProperties(ValueIndexerFactory.instance().getHomeDirs(), "vufind.properties"); - } catch (IllegalArgumentException e) { - // If the properties load failed, don't worry about it -- we'll use defaults. - } - } - - /** - * Convert MARC coordinates into long_lat format. - * - * @param Record record - * @return List geo_coordinates - */ - public List<String> getAllCoordinates(Record record) { - List<String> geo_coordinates = new ArrayList<String>(); - List<VariableField> list034 = record.getVariableFields("034"); - if (list034 != null) { - for (VariableField vf : list034) { - HashMap<Character, String> coords = getCoordinateValues(vf); - - // Check for null coordinates - if (validateCoordinateValues(record, coords)) { - // Check and convert coordinates to +/- decimal degrees - Double west = convertCoordinate(coords.get('d')); - Double east = convertCoordinate(coords.get('e')); - Double north = convertCoordinate(coords.get('f')); - Double south = convertCoordinate(coords.get('g')); - if (validateDDCoordinates(record, west, east, north, south)) { - // New Format for indexing coordinates in Solr 5.0 - minX, maxX, maxY, minY - // Note - storage in Solr follows the WENS order, but display is WSEN order - String result = String.format("ENVELOPE(%s,%s,%s,%s)", new Object[] { west, east, north, south }); - geo_coordinates.add(result); - } - } - } - } - return geo_coordinates; - } - - /** - * Get all available coordinates from the record. - * - * @param Record record - * @return List geo_coordinates - */ - public List<String> getDisplayCoordinates(Record record) { - List<String> geo_coordinates = new ArrayList<String>(); - List<VariableField> list034 = record.getVariableFields("034"); - if (list034 != null) { - for (VariableField vf : list034) { - HashMap<Character, String> coords = getCoordinateValues(vf); - // Check for null coordinates - if (validateCoordinateValues(record, coords)) { - String result = String.format("%s %s %s %s", new Object[] { coords.get('d'), coords.get('e'), coords.get('f'), coords.get('g') }); - geo_coordinates.add(result); - } - } - } - return geo_coordinates; - } - - /** - * Log coordinate indexing errors to external log file. - * - * @param Record record - * @param HashMap coords - * @param String error message - */ - public static void logErrorMessage(Record record, HashMap coords, String message) { - // Initialize error logging variables - String msgError = message; - String recNum = "Not available"; - ControlField recID = (ControlField) record.getVariableField("001"); - if (recID != null) { - recNum = recID.getData().trim(); - } - String coordinates = "Coordinates: {" + coords.get('d') + "} {" + coords.get('e') + "} {" + coords.get('f') + "} {" + coords.get('g') + "}"; - - String logPath = getLogPath(); - String logFilename = datePrefix + "_CoordinateErrors.txt"; - String outPath = logPath + "/" + logFilename; - - // Output Error message - logger.error("Not indexing INVALID coordinates for Record ID: " + recNum); - logger.error("... " + msgError); - - if (logPath != null) { - logger.error("... Check coordinate error log: " + outPath); - // Log ID and error message and coordinates in error file - try { - PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outPath, true))); - out.println(logFilename + "\t" + recNum + "\t" + msgError + "\t" + coordinates); - out.close(); - } catch (IOException e) { - System.out.println("io exception occurred"); - e.printStackTrace(); - } - } else { - // output error that log file cannot be created - logger.error("..... No coordinate error log. Check vufind.properties settings..."); - } - - } - - /** - * Get path for coordinate error log file. - * - * @return String logPath - */ - public static String getLogPath() { - // Get coordinate error log path setting - String coordLogPath = PropertyUtils.getProperty(vufindConfigs, "coordinate.log.path"); - - //If coordinate.log.path doesn't exist or is not set, try some other places - if (coordLogPath == null) { - if (vufindLocal != null) { - File dir = new File(vufindLocal + "/import"); - if (dir.exists()) { - coordLogPath = vufindLocal + "/import"; - } - } else if (vufindLocal == null && vufindHome != null) { - File dir = new File(vufindHome + "/import"); - if (dir.exists()) { - coordLogPath = vufindHome + "/import"; - } - } else { - coordLogPath = null; - } - } - return coordLogPath; - } - - /** - * Get all coordinate values from list034 - * - * @param VariableField vf - * @return HashMap full_coords - */ - protected HashMap<Character, String> getCoordinateValues(VariableField vf) { - DataField df = (DataField) vf; - HashMap<Character, String> coords = new HashMap(); - for (char code = 'd'; code <= 'g'; code++) { - Subfield subfield = df.getSubfield(code); - if (subfield != null) { - coords.put(code, subfield.getData()); - } - } - // If coordinate set is a point with 2 coordinates, fill the empty values. - HashMap<Character, String> full_coords = fillEmptyPointCoordinates(coords); - return full_coords; - } - - /** - * If coordinates are a point, fill empty N/S or E/W coordinate - * - * @param HashMap coords - * @return HashMap full_coords - */ - protected HashMap<Character, String> fillEmptyPointCoordinates(HashMap coords) { - HashMap<Character, String> full_coords = coords; - if (coords.containsKey('d') && !coords.containsKey('e') && coords.containsKey('f') && !coords.containsKey('g')) { - full_coords.put('e', coords.get('d').toString()); - full_coords.put('g', coords.get('f').toString()); - } - if (coords.containsKey('e') && !coords.containsKey('d') && coords.containsKey('g') && !coords.containsKey('h')) { - full_coords.put('d', coords.get('e').toString()); - full_coords.put('f', coords.get('g').toString()); - } - return full_coords; - } - - /** - * Check record coordinates to make sure they do not contain null values. - * - * @param Record record - * @param HashMap coords - * @return boolean - */ - protected boolean validateCoordinateValues(Record record, HashMap coords) { - if (coords.containsKey('d') && coords.containsKey('e') && coords.containsKey('f') && coords.containsKey('g')) { - return true; - } - String msgError = "Coordinate values contain null values."; - logErrorMessage(record, coords, msgError); - return false; - } - - /** - * Check coordinate type HDMS HDD or +/-DD. - * - * @param String coordinateStr - * @return Double coordinate - */ - protected Double convertCoordinate(String coordinateStr) { - Double coordinate = Double.NaN; - Matcher HDmatcher = HDMSHDD_PATTERN.matcher(coordinateStr); - Matcher PMDmatcher = PMDD_PATTERN.matcher(coordinateStr); - if (HDmatcher.matches()) { - String hemisphere = HDmatcher.group(1).toUpperCase(); - Double degrees = Double.parseDouble(HDmatcher.group(2)); - // Check for HDD or HDMS - if (hemisphere.equals("N") || hemisphere.equals("S")) { - if (degrees > 90) { - String hdmsCoordinate = hemisphere+"0"+HDmatcher.group(2); - coordinate = coordinateToDecimal(hdmsCoordinate); - } else { - coordinate = Double.parseDouble(HDmatcher.group(2)); - if (hemisphere.equals("S")) { - coordinate *= -1; - } - } - } - if (hemisphere.equals("E") || hemisphere.equals("W")) { - if (degrees > 180) { - String hdmsCoordinate = HDmatcher.group(0); - coordinate = coordinateToDecimal(hdmsCoordinate); - } else { - coordinate = Double.parseDouble(HDmatcher.group(2)); - if (hemisphere.equals("W")) { - coordinate *= -1; - } - } - } - return coordinate; - } else if (PMDmatcher.matches()) { - coordinate = Double.parseDouble(PMDmatcher.group(1)); - return coordinate; - } else { - return Double.NaN; - } - } - - /** - * Convert HDMS coordinates to decimal degrees. - * - * @param String coordinateStr - * @return Double coordinate - */ - protected Double coordinateToDecimal(String coordinateStr) { - Matcher matcher = COORDINATES_PATTERN.matcher(coordinateStr); - if (matcher.matches()) { - String hemisphere = matcher.group(1).toUpperCase(); - int degrees = Integer.parseInt(matcher.group(2)); - int minutes = Integer.parseInt(matcher.group(3)); - int seconds = Integer.parseInt(matcher.group(4)); - double coordinate = degrees + (minutes / 60.0) + (seconds / 3600.0); - if (hemisphere.equals("W") || hemisphere.equals("S")) { - coordinate *= -1; - } - return coordinate; - } - return Double.NaN; - } - - /** - * Check decimal degree coordinates to make sure they are valid. - * - * @param Record record - * @param Double west, east, north, south - * @return boolean - */ - protected boolean validateDDCoordinates(Record record, Double west, Double east, Double north, Double south) { - boolean validValues = true; - boolean validLines = true; - boolean validExtent = true; - boolean validNorthSouth = true; - boolean validEastWest = true; - boolean validCoordDist = true; - - if (validateValues(record, west, east, north, south)) { - validLines = validateLines(record, west, east, north, south); - validExtent = validateExtent(record, west, east, north, south); - validNorthSouth = validateNorthSouth(record, north, south); - validEastWest = validateEastWest(record, east, west); - validCoordDist = validateCoordinateDistance(record, west, east, north, south); - } else { - return false; - } - - // Validate all coordinate combinations - if (!validLines || !validExtent || !validNorthSouth || !validEastWest || !validCoordDist) { - return false; - } else { - return true; - } - } - - /** - * Check decimal degree coordinates to make sure they do not form a line at the poles. - * - * @param Record record - * @param Double west, east, north, south - * @return boolean - */ - public boolean validateLines(Record record, Double west, Double east, Double north, Double south) { - if ((!west.equals(east) && north.equals(south)) && (north == 90 || south == -90)) { - String msgError = "Coordinates form a line at the pole"; - HashMap<Character, String> coords = buildCoordinateHashMap(west, east, north, south); - logErrorMessage(record, coords, msgError); - return false; - } - return true; - } - - /** - * Check decimal degree coordinates to make sure they do not contain null values. - * - * @param Record record - * @param Double west, east, north, south - * @return boolean - */ - public boolean validateValues(Record record, Double west, Double east, Double north, Double south) { - if (west.isNaN() || east.isNaN() || north.isNaN() || south.isNaN()) { - String msgError = "Decimal Degree coordinates contain invalid values"; - HashMap<Character, String> coords = buildCoordinateHashMap(west, east, north, south); - logErrorMessage(record, coords, msgError); - return false; - } - return true; - } - - /** - * Check decimal degree coordinates to make sure they are within map extent. - * - * @param Record record - * @param Double west, east, north, south - * @return boolean - */ - public boolean validateExtent(Record record, Double west, Double east, Double north, Double south) { - if (west > 180.0 || west < -180.0 || east > 180.0 || east < -180.0 - || north > 90.0 || north < -90.0 || south > 90.0 || south < -90.0 - ) { - String msgError = "Coordinates exceed map extent."; - HashMap<Character, String> coords = buildCoordinateHashMap(west, east, north, south); - logErrorMessage(record, coords, msgError); - return false; - } - return true; - } - - /** - * Check decimal degree coordinates to make sure that north is not less than south. - * - * @param Record record - * @param Double north, south - * @return boolean - */ - public boolean validateNorthSouth(Record record, Double north, Double south) { - if (north < south) { - String msgError = "North < South."; - HashMap<Character, String> coords = buildCoordinateHashMap(Double.NaN, Double.NaN, north, south); - logErrorMessage(record, coords, msgError); - return false; - } - return true; - } - - /** - * Check decimal degree coordinates to make sure that east is not less than west. - * - * @param Record record - * @param Double east, west - * @return boolean - */ - public boolean validateEastWest(Record record, Double east, Double west) { - if (east < west) { - // Convert to 360 degree grid - if (east <= 0) { - east = 360 + east; - } - if (west < 0) { - west = 360 + west; - } - // Check again - if (east < west) { - String msgError = "East < West."; - HashMap<Character, String> coords = buildCoordinateHashMap(west, east, Double.NaN, Double.NaN); - logErrorMessage(record, coords, msgError); - return false; - } - } - return true; - } - - /** - * Check decimal degree coordinates to make sure they are not too close. - * Coordinates too close will cause Solr to run out of memory during indexing. - * - * @param Record record - * @param Double west, east, north, south - * @return boolean - */ - public boolean validateCoordinateDistance(Record record, Double west, Double east, Double north, Double south) { - Double distEW = east - west; - Double distNS = north - south; - - //Check for South Pole coordinate distance - if ((north == -90 || south == -90) && (distNS > 0 && distNS < 0.167)) { - String msgError = "Coordinates < 0.167 degrees from South Pole. Coordinate Distance: "+distNS; - HashMap<Character, String> coords = buildCoordinateHashMap(west, east, north, south); - logErrorMessage(record, coords, msgError); - return false; - } - - //Check for East-West coordinate distance - if ((west == 0 || east == 0) && (distEW > -2 && distEW <0)) { - String msgError = "Coordinates within 2 degrees of Prime Meridian. Coordinate Distance: "+distEW; - HashMap<Character, String> coords = buildCoordinateHashMap(west, east, north, south); - logErrorMessage(record, coords, msgError); - return false; - } - return true; - } - - /** - * Build coordinate hash map for logging. - * - * @param Double west, east, north, south - * @return HashMap coords - */ - public HashMap buildCoordinateHashMap (Double west, Double east, Double north, Double south) { - HashMap<Character, String> coords = new HashMap(); - coords.put('d', Double.toString(west)); - coords.put('e', Double.toString(east)); - coords.put('f', Double.toString(north)); - coords.put('g', Double.toString(south)); - return coords; - } -} diff --git a/import/index_java/src/org/vufind/index/IllustrationTools.java b/import/index_java/src/org/vufind/index/IllustrationTools.java deleted file mode 100644 index 36578eff7df8653ad77581a3147a747932830f97..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/IllustrationTools.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.vufind.index; -/** - * Illustration indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.util.Iterator; -import org.marc4j.marc.Record; -import org.marc4j.marc.VariableField; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.List; - -/** - * Illustration indexing routines. - */ -public class IllustrationTools -{ - /** - * Determine if a record is illustrated. - * - * @param record current MARC record - * @return "Illustrated" or "Not Illustrated" - */ - public String isIllustrated(Record record) { - String leader = record.getLeader().toString(); - - // Does the leader indicate this is a "language material" that might have extra - // illustration details in the fixed fields? - if (leader.charAt(6) == 'a') { - String currentCode = ""; // for use in loops below - - // List of 008/18-21 codes that indicate illustrations: - String illusCodes = "abcdefghijklmop"; - - // Check the illustration characters of the 008: - ControlField fixedField = (ControlField) record.getVariableField("008"); - if (fixedField != null) { - String fixedFieldText = fixedField.getData().toLowerCase(); - for (int i = 18; i <= 21; i++) { - if (i < fixedFieldText.length()) { - currentCode = fixedFieldText.substring(i, i + 1); - if (illusCodes.contains(currentCode)) { - return "Illustrated"; - } - } - } - } - - // Now check if any 006 fields apply: - List<VariableField> fields = record.getVariableFields("006"); - Iterator<VariableField> fieldsIter = fields.iterator(); - if (fields != null) { - while(fieldsIter.hasNext()) { - fixedField = (ControlField) fieldsIter.next(); - String fixedFieldText = fixedField.getData().toLowerCase(); - for (int i = 1; i <= 4; i++) { - if (i < fixedFieldText.length()) { - currentCode = fixedFieldText.substring(i, i + 1); - if (illusCodes.contains(currentCode)) { - return "Illustrated"; - } - } - } - } - } - } - - // Now check for interesting strings in 300 subfield b: - List<VariableField> fields = record.getVariableFields("300"); - Iterator<VariableField> fieldsIter = fields.iterator(); - if (fields != null) { - DataField physical; - while(fieldsIter.hasNext()) { - physical = (DataField) fieldsIter.next(); - List<Subfield> subfields = physical.getSubfields('b'); - for (Subfield sf: subfields) { - String desc = sf.getData().toLowerCase(); - if (desc.contains("ill.") || desc.contains("illus.")) { - return "Illustrated"; - } - } - } - } - - // If we made it this far, we found no sign of illustrations: - return "Not Illustrated"; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/LccnTools.java b/import/index_java/src/org/vufind/index/LccnTools.java deleted file mode 100644 index 65536146eca97e2d4b1ee2191e8f1e4eb7ec3f9b..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/LccnTools.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.vufind.index; -/** - * LCCN indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import org.solrmarc.index.SolrIndexer; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.Set; - -/** - * LCCN indexing routines. - */ -public class LccnTools -{ - /** - * Normalize a single LCCN using the procedure specified at: - * http://www.loc.gov/marc/lccn-namespace.html#normalization - * @param lccn - * @return Normalized LCCN - */ - public String getNormalizedLCCN(String lccn) { - // Remove whitespace: - lccn = lccn.replaceAll(" ", ""); - - // Chop off anything following a forward slash: - String[] parts = lccn.split("/", 2); - lccn = parts[0]; - - // Normalize any characters following a hyphen to at least six digits: - parts = lccn.split("-", 2); - if (parts.length > 1) { - String secondPart = parts[1]; - while (secondPart.length() < 6) { - secondPart = "0" + secondPart; - } - lccn = parts[0] + secondPart; - } - - // Send back normalized LCCN: - return lccn; - } - - /** - * Extract LCCNs from a record and return them in a normalized format - * @param record - * @param fieldSpec - * @return Set of normalized LCCNs - */ - public Set getNormalizedLCCNs(Record record, String fieldSpec) { - // Initialize return value: - Set result = new LinkedHashSet(); - - // Loop through relevant fields and normalize everything: - Set<String> lccns = SolrIndexer.instance().getFieldList(record, fieldSpec); - Iterator<String> lccnIter = lccns.iterator(); - if (lccns != null) { - String current; - while(lccnIter.hasNext()) { - current = getNormalizedLCCN(lccnIter.next()); - if (current != null && current.length() > 0) { - result.add(current); - } - } - } - - // Send back results: - return result; - } - - /** - * Extract LCCNs from a record and return them in a normalized format - * @param record - * @return Set of normalized LCCNs - */ - public Set getNormalizedLCCNs(Record record) { - // Send in a default fieldSpec if none was provided by the user: - return getNormalizedLCCNs(record, "010a"); - } - - /** - * Extract the first valid LCCN from a record and return it in a normalized format - * with an optional prefix added (helpful for guaranteeing unique IDs) - * @param indexer - * @param record - * @param fieldSpec - * @param prefix - * @return Normalized LCCN - */ - public String getFirstNormalizedLCCN(SolrIndexer indexer, - Record record, String fieldSpec, String prefix) { - // Loop through relevant fields in search of first valid LCCN: - Set<String> lccns = SolrIndexer.instance().getFieldList(record, fieldSpec); - Iterator<String> lccnIter = lccns.iterator(); - if (lccns != null) { - String current; - while(lccnIter.hasNext()) { - current = getNormalizedLCCN(lccnIter.next()); - if (current != null && current.length() > 0) { - return prefix + current; - } - } - } - - // If we got this far, we couldn't find a valid value: - return null; - } - - /** - * Extract the first valid LCCN from a record and return it in a normalized format - * with an optional prefix added (helpful for guaranteeing unique IDs) - * @param record - * @param fieldSpec - * @param prefix - * @return Normalized LCCN - */ - public String getFirstNormalizedLCCN(Record record, String fieldSpec, String prefix) { - return getFirstNormalizedLCCN(SolrIndexer.instance(), record, fieldSpec, prefix); - } - - /** - * Extract the first valid LCCN from a record and return it in a normalized format - * @param record - * @param fieldSpec - * @return Normalized LCCN - */ - public String getFirstNormalizedLCCN(Record record, String fieldSpec) { - // Send in a default prefix if none was provided by the user: - return getFirstNormalizedLCCN(SolrIndexer.instance(), record, fieldSpec, ""); - } - - /** - * Extract the first valid LCCN from a record and return it in a normalized format - * @param record - * @return Normalized LCCN - */ - public String getFirstNormalizedLCCN(Record record) { - // Send in a default fieldSpec/prefix if none were provided by the user: - return getFirstNormalizedLCCN(SolrIndexer.instance(), record, "010a", ""); - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/PublisherTools.java b/import/index_java/src/org/vufind/index/PublisherTools.java deleted file mode 100644 index 2fe8f2e3c69c4db9fd4f1d08965631c04355ccd2..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/PublisherTools.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.vufind.index; -/** - * Publisher indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.VariableField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -/** - * Publisher indexing routines. - */ -public class PublisherTools -{ - /** - * Get all available publishers from the record. - * - * @param record MARC record - * @return set of publishers - */ - public Set<String> getPublishers(final Record record) { - Set<String> publishers = new LinkedHashSet<String>(); - - // First check old-style 260b name: - List<VariableField> list260 = record.getVariableFields("260"); - for (VariableField vf : list260) - { - DataField df = (DataField) vf; - String currentString = ""; - for (Subfield current : df.getSubfields('b')) { - currentString = currentString.trim().concat(" " + current.getData()).trim(); - } - if (currentString.length() > 0) { - publishers.add(currentString); - } - } - - // Now track down relevant RDA-style 264b names; we only care about - // copyright and publication names (and ignore copyright names if - // publication names are present). - Set<String> pubNames = new LinkedHashSet<String>(); - Set<String> copyNames = new LinkedHashSet<String>(); - List<VariableField> list264 = record.getVariableFields("264"); - for (VariableField vf : list264) - { - DataField df = (DataField) vf; - String currentString = ""; - for (Subfield current : df.getSubfields('b')) { - currentString = currentString.trim().concat(" " + current.getData()).trim(); - } - if (currentString.length() > 0) { - char ind2 = df.getIndicator2(); - switch (ind2) - { - case '1': - pubNames.add(currentString); - break; - case '4': - copyNames.add(currentString); - break; - } - } - } - if (pubNames.size() > 0) { - publishers.addAll(pubNames); - } else if (copyNames.size() > 0) { - publishers.addAll(copyNames); - } - - return publishers; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/PunctuationTools.java b/import/index_java/src/org/vufind/index/PunctuationTools.java deleted file mode 100644 index e71f2b62490913d5b8af3d0a70e2862785e289d0..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/PunctuationTools.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.vufind.index; -/** - * Punctuation indexing routines. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import java.util.LinkedHashSet; -import java.util.Set; -import java.util.regex.Pattern; -import org.solrmarc.index.SolrIndexer; - -/** - * Punctuation indexing routines. - */ -public class PunctuationTools -{ - /** - * Normalize trailing punctuation. This mimics the functionality built into VuFind's - * textFacet field type, so that you can get equivalent values when indexing into - * a string field. (Useful for docValues support). - * - * Can return null - * - * @param record current MARC record - * @param fieldSpec which MARC fields / subfields need to be analyzed - * @return Set containing normalized values - */ - public Set<String> normalizeTrailingPunctuation(Record record, String fieldSpec) { - // Initialize our return value: - Set<String> result = new LinkedHashSet<String>(); - - // Loop through the specified MARC fields: - Set<String> input = SolrIndexer.instance().getFieldList(record, fieldSpec); - Pattern pattern = Pattern.compile("(?<!\b[A-Z])[.\\s]*$"); - for (String current: input) { - result.add(pattern.matcher(current).replaceAll("")); - } - - // If we found no matches, return null; otherwise, return our results: - return result.isEmpty() ? null : result; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/ReadingProgramTools.java b/import/index_java/src/org/vufind/index/ReadingProgramTools.java deleted file mode 100644 index e342bab130082bded56a9e853b6c60cbcea967f6..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/ReadingProgramTools.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.vufind.index; -/** - * Reading program logic courtesy of Chanel Wheeler - * - * Example usage: - * - * #### In marc_local.properties, insert this: - * arLvel = custom, getARLevel, (pattern_map.level) - * rcLevel = custom, getRCLevel, (pattern_map.level) - * pattern_map.level.pattern_0 = ([0-9]\\.[0-9]).*=>$1 - * - * #### In solr/vufind/biblio/conf/schema.xml (I'm not aware of any way to localize this), - * #### add this in the <types> section: - * <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/> - * - * #### In solr/vufind/biblio/conf/schema.xml, add this in the <fields> section - * <field name="arLevel" type="tfloat" indexed="true" stored="true"/> - * <field name="rcLevel" type="tfloat" indexed="true" stored="true"/> - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.DataField; -import org.marc4j.marc.VariableField; -import java.util.Iterator; -import java.util.List; - -/** - * Reading program logic courtesy of Chanel Wheeler - */ -public class ReadingProgramTools -{ - /** - * Get reading level for Accelerated Reader items - * - * @param record - * @return AR level - */ - public String getARLevel(Record record) { - List readingprograms = record.getVariableFields("526"); - if (readingprograms != null) { - Iterator<VariableField> rpIter = readingprograms.iterator(); - while(rpIter.hasNext()) { - DataField rp = (DataField) rpIter.next(); - if (rp.getSubfield('a') != null){ - if (rp.getSubfield('a').getData().toLowerCase().contains("accelerated reader")) { - return rp.getSubfield('c').getData(); - } - } - } - } - return null; - } - - /** - * Get reading level for Reading Counts items - * - * @param record - * @return RC level - */ - public String getRCLevel(Record record) { - List readingprograms = record.getVariableFields("526"); - if (readingprograms != null) { - Iterator<VariableField> rpIter = readingprograms.iterator(); - while(rpIter.hasNext()) { - DataField rp = (DataField) rpIter.next(); - if (rp.getSubfield('a') != null){ - if (rp.getSubfield('a').getData().toLowerCase().contains("reading counts")) { - return rp.getSubfield('c').getData(); - } - } - } - } - return null; - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/RelatorContainer.java b/import/index_java/src/org/vufind/index/RelatorContainer.java deleted file mode 100644 index 5d2177e80a35519e466162533de6a767b12921e3..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/RelatorContainer.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.vufind.index; -/** - * Singleton for storing relator information. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.util.LinkedHashSet; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Singleton for storing relator information. - */ -public class RelatorContainer -{ - private static ThreadLocal<RelatorContainer> containerCache = - new ThreadLocal<RelatorContainer>() - { - @Override - protected RelatorContainer initialValue() - { - return new RelatorContainer(); - } - }; - - private ConcurrentHashMap<String, String> relatorSynonymLookup = new ConcurrentHashMap<String, String>(); - private Set<String> knownRelators = new LinkedHashSet<String>(); - - public ConcurrentHashMap<String, String> getSynonymLookup() - { - return relatorSynonymLookup; - } - - public Set<String> getKnownRelators() - { - return knownRelators; - } - - public static RelatorContainer instance() - { - return containerCache.get(); - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/UpdateDateTools.java b/import/index_java/src/org/vufind/index/UpdateDateTools.java deleted file mode 100644 index e09517266d1ff734f222d6d19801c0673d0107bf..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/UpdateDateTools.java +++ /dev/null @@ -1,223 +0,0 @@ -package org.vufind.index; -/** - * Indexing routines using the UpdateDateTracker. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.util.Iterator; -import java.util.Set; -import java.text.SimpleDateFormat; -import org.solrmarc.index.SolrIndexer; -import org.solrmarc.tools.SolrMarcIndexerException; -import org.marc4j.marc.Record; -import org.apache.log4j.Logger; - -/** - * Indexing routines using the UpdateDateTracker. - */ -public class UpdateDateTools -{ - // Initialize logging category - static Logger logger = Logger.getLogger(UpdateDateTools.class.getName()); - - // the SimpleDateFormat class is not Thread-safe the below line were changes to be not static - // which given the rest of the design of SolrMarc will make them work correctly. - private SimpleDateFormat marc005date = new SimpleDateFormat("yyyyMMddHHmmss.S"); - private SimpleDateFormat marc008date = new SimpleDateFormat("yyMMdd"); - - /** - * Support method for getLatestTransaction. - * @return Date extracted from 005 (or very old date, if unavailable) - */ - private java.util.Date normalize005Date(String input) - { - // Normalize "null" strings to a generic bad value: - if (input == null) { - input = "null"; - } - - // Try to parse the date; default to "millisecond 0" (very old date) if we can't - // parse the data successfully. - java.util.Date retVal; - try { - retVal = marc005date.parse(input); - } catch(java.text.ParseException e) { - retVal = new java.util.Date(0); - } - return retVal; - } - - /** - * Support method for getLatestTransaction. - * @return Date extracted from 008 (or very old date, if unavailable) - */ - private java.util.Date normalize008Date(String input) - { - // Normalize "null" strings to a generic bad value: - if (input == null || input.length() < 6) { - input = "null"; - } - - // Try to parse the date; default to "millisecond 0" (very old date) if we can't - // parse the data successfully. - java.util.Date retVal; - try { - retVal = marc008date.parse(input.substring(0, 6)); - } catch(java.lang.StringIndexOutOfBoundsException e) { - retVal = new java.util.Date(0); - } catch(java.text.ParseException e) { - retVal = new java.util.Date(0); - } - return retVal; - } - - /** - * Extract the latest transaction date from the MARC record. This is useful - * for detecting when a record has changed since the last time it was indexed. - * - * @param record MARC record - * @return Latest transaction date. - */ - public java.util.Date getLatestTransaction(Record record) { - // First try the 005 -- this is most likely to have a precise transaction date: - Set<String> dates = SolrIndexer.instance().getFieldList(record, "005"); - if (dates != null) { - Iterator<String> dateIter = dates.iterator(); - if (dateIter.hasNext()) { - return normalize005Date(dateIter.next()); - } - } - - // No luck with 005? Try 008 next -- less precise, but better than nothing: - dates = SolrIndexer.instance().getFieldList(record, "008"); - if (dates != null) { - Iterator<String> dateIter = dates.iterator(); - if (dateIter.hasNext()) { - return normalize008Date(dateIter.next()); - } - } - - // If we got this far, we couldn't find a valid value; return an arbitrary date: - return new java.util.Date(0); - } - - - /** - * Update the index date in the database for the specified core/ID pair. We - * maintain a database of "first/last indexed" times separately from Solr to - * allow the history of our indexing activity to be stored permanently in a - * fashion that can survive even a total Solr rebuild. - */ - public void updateTracker(String core, String id, java.util.Date latestTransaction) - { - // Update the database (if necessary): - try { - UpdateDateTracker.instance().index(core, id, latestTransaction); - } catch (java.sql.SQLException e) { - // If we're in the process of shutting down, an error is expected: - if (!DatabaseManager.instance().isShuttingDown()) { - dieWithError("Unexpected database error"); - } - } - } - - /** - * Get the "first indexed" date for the current record. (This is the first - * time that SolrMarc ever encountered this particular record). - * - * @param record current MARC record - * @param fieldSpec fields / subfields to be analyzed - * @param core core name - * @return ID string - */ - public String getFirstIndexed(Record record, String fieldSpec, String core) { - // Update the database, then send back the first indexed date: - updateTracker(core, SolrIndexer.instance().getFirstFieldVal(record, fieldSpec), getLatestTransaction(record)); - return UpdateDateTracker.instance().getFirstIndexed(); - } - - /** - * Get the "first indexed" date for the current record. (This is the first - * time that SolrMarc ever encountered this particular record). - * - * @param record current MARC record - * @param fieldSpec fields / subfields to be analyzed - * @return ID string - */ - public String getFirstIndexed(Record record, String fieldSpec) { - return getFirstIndexed(record, fieldSpec, "biblio"); - } - - /** - * Get the "first indexed" date for the current record. (This is the first - * time that SolrMarc ever encountered this particular record). - * - * @param record current MARC record - * @return ID string - */ - public String getFirstIndexed(Record record) { - return getFirstIndexed(record, "001", "biblio"); - } - - /** - * Get the "last indexed" date for the current record. (This is the last time - * the record changed from SolrMarc's perspective). - * - * @param record current MARC record - * @param fieldSpec fields / subfields to be analyzed - * @param core core name - * @return ID string - */ - public String getLastIndexed(Record record, String fieldSpec, String core) { - // Update the database, then send back the last indexed date: - updateTracker(core, SolrIndexer.instance().getFirstFieldVal(record, fieldSpec), getLatestTransaction(record)); - return UpdateDateTracker.instance().getLastIndexed(); - } - - /** - * Get the "last indexed" date for the current record. (This is the last time - * the record changed from SolrMarc's perspective). - * - * @param record current MARC record - * @param fieldSpec fields / subfields to analyze - * @return ID string - */ - public String getLastIndexed(Record record, String fieldSpec) { - return getLastIndexed(record, fieldSpec, "biblio"); - } - - /** - * Get the "last indexed" date for the current record. (This is the last time - * the record changed from SolrMarc's perspective). - * - * @param record current MARC record - * @return ID string - */ - public String getLastIndexed(Record record) { - return getLastIndexed(record, "001", "biblio"); - } - - /** - * Log an error message and throw a fatal exception. - * @param msg message to log - */ - private void dieWithError(String msg) - { - logger.error(msg); - throw new SolrMarcIndexerException(SolrMarcIndexerException.EXIT, msg); - } -} \ No newline at end of file diff --git a/import/index_java/src/org/vufind/index/UpdateDateTracker.java b/import/index_java/src/org/vufind/index/UpdateDateTracker.java deleted file mode 100644 index c43aa7a4077fb946e55b5a3d45bd36b76e310bb7..0000000000000000000000000000000000000000 --- a/import/index_java/src/org/vufind/index/UpdateDateTracker.java +++ /dev/null @@ -1,208 +0,0 @@ -package org.vufind.index; -/** - * Class for managing record update dates. - * - * Copyright (C) Villanova University 2017. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -import java.sql.*; -import java.text.SimpleDateFormat; - -/** - * Class for managing record update dates. - */ -public class UpdateDateTracker -{ - private Connection db; - private String core; - private String id; - private SimpleDateFormat iso8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - - private Timestamp firstIndexed; - private Timestamp lastIndexed; - private Timestamp lastRecordChange; - private Timestamp deleted; - - PreparedStatement insertSql; - PreparedStatement selectSql; - PreparedStatement updateSql; - - private static ThreadLocal<UpdateDateTracker> trackerCache = - new ThreadLocal<UpdateDateTracker>() - { - @Override - protected UpdateDateTracker initialValue() - { - try { - return new UpdateDateTracker(DatabaseManager.instance().getConnection()); - } catch (SQLException e) { - throw new RuntimeException(e.getMessage()); - } - } - }; - - public static UpdateDateTracker instance() - { - return trackerCache.get(); - } - - /* Private support method: create a row in the change_tracker table. - */ - private void createRow(Timestamp newRecordChange) throws SQLException - { - // Save new values to the object: - java.util.Date rightNow = new java.util.Date(); - firstIndexed = lastIndexed = new Timestamp(rightNow.getTime()); - lastRecordChange = newRecordChange; - - // Save new values to the database: - insertSql.setString(1, core); - insertSql.setString(2, id); - insertSql.setTimestamp(3, firstIndexed); - insertSql.setTimestamp(4, lastIndexed); - insertSql.setTimestamp(5, lastRecordChange); - insertSql.executeUpdate(); - } - - /* Private support method: read a row from the change_tracker table. - */ - private boolean readRow() throws SQLException - { - selectSql.setString(1, core); - selectSql.setString(2, id); - ResultSet result = selectSql.executeQuery(); - - // No results? Free resources and return false: - if (!result.first()) { - result.close(); - return false; - } - - // If we got this far, we have results -- load them into the object: - firstIndexed = result.getTimestamp(1); - lastIndexed = result.getTimestamp(2); - lastRecordChange = result.getTimestamp(3); - deleted = result.getTimestamp(4); - - // Free resources and report success: - result.close(); - return true; - } - - /* Private support method: update a row in the change_tracker table. - */ - private void updateRow(Timestamp newRecordChange) throws SQLException - { - // Save new values to the object: - java.util.Date rightNow = new java.util.Date(); - lastIndexed = new Timestamp(rightNow.getTime()); - // If first indexed is null, we're restoring a deleted record, so - // we need to treat it as new -- we'll use the current time. - if (firstIndexed == null) { - firstIndexed = lastIndexed; - } - lastRecordChange = newRecordChange; - - // Save new values to the database: - updateSql.setTimestamp(1, firstIndexed); - updateSql.setTimestamp(2, lastIndexed); - updateSql.setTimestamp(3, lastRecordChange); - updateSql.setNull(4, java.sql.Types.NULL); - updateSql.setString(5, core); - updateSql.setString(6, id); - updateSql.executeUpdate(); - } - - /* Constructor: - */ - public UpdateDateTracker(Connection dbConnection) throws SQLException - { - db = dbConnection; - insertSql = db.prepareStatement( - "INSERT INTO change_tracker(core, id, first_indexed, last_indexed, last_record_change) " + - "VALUES(?, ?, ?, ?, ?);"); - selectSql = db.prepareStatement( - "SELECT first_indexed, last_indexed, last_record_change, deleted " + - "FROM change_tracker WHERE core = ? AND id = ?;", - ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - updateSql = db.prepareStatement("UPDATE change_tracker " + - "SET first_indexed = ?, last_indexed = ?, last_record_change = ?, deleted = ? " + - "WHERE core = ? AND id = ?;"); - } - - /* Finalizer - */ - protected void finalize() throws SQLException, Throwable - { - insertSql.close(); - selectSql.close(); - updateSql.close(); - super.finalize(); - } - - /* Get the first indexed date (IMPORTANT: index() must be called before this method) - */ - public String getFirstIndexed() - { - return iso8601.format(new java.util.Date(firstIndexed.getTime())); - } - - /* Get the last indexed date (IMPORTANT: index() must be called before this method) - */ - public String getLastIndexed() - { - return iso8601.format(new java.util.Date(lastIndexed.getTime())); - } - - /* Update the database to indicate that the record has just been received by the indexer: - */ - public void index(String selectedCore, String selectedId, java.util.Date recordChange) throws SQLException - { - // If core and ID match the values currently in the class, we have already - // indexed the record and do not need to repeat ourselves! - if (selectedCore.equals(core) && selectedId.equals(id)) { - return; - } - - // If we made it this far, we need to update the database, so let's store - // the current core/ID pair we are operating on: - core = selectedCore; - id = selectedId; - - // Convert incoming java.util.Date to a Timestamp: - Timestamp newRecordChange = new Timestamp(recordChange.getTime()); - - // No row? Create one! - if (!readRow()) { - createRow(newRecordChange); - // Row already exists? See if it needs to be updated: - } else { - // Are we restoring a previously deleted record, or was the stored - // record change date before current record change date? Either way, - // we need to update the table! - // - // Note that we check for a time difference of at least one second in - // order to count as a change. Because dates are stored with second - // precision, some of the date conversions have been known to create - // minor inaccuracies in the millisecond range, which used to cause - // false positives. - if (deleted != null || - Math.abs(lastRecordChange.getTime() - newRecordChange.getTime()) > 999) { - updateRow(newRecordChange); - } - } - } -} diff --git a/import/index_scripts/README_SCRIPTS b/import/index_scripts/README_SCRIPTS deleted file mode 100644 index 69ad62c6d21c5964a59c60c466afd69f0e5d206d..0000000000000000000000000000000000000000 --- a/import/index_scripts/README_SCRIPTS +++ /dev/null @@ -1,3 +0,0 @@ -This is the directory in which you should place java-like beanshell scripts for handling custom indexing functions via dynamic scripts. - -Note that use of beanshell is discouraged now that java can be dynamically compiled; see the index_java directory instead. \ No newline at end of file diff --git a/import/index_scripts/accessInf.bsh b/import/index_scripts/accessInf.bsh deleted file mode 100644 index 0eb06fa8f83fa58b727415282a3c985f5aecd4fd..0000000000000000000000000000000000000000 --- a/import/index_scripts/accessInf.bsh +++ /dev/null @@ -1,630 +0,0 @@ -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Leander Seige - * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -static final Logger logger = Logger.getLogger("de.ubl.import.accessInf"); -static final HashMap quocosaMap = new HashMap(){{ - put( "article" , "ElectronicArticle" ); - put( "bachelorthesis" , "ElectronicThesis" ); - put( "book" , "eBook" ); - put( "bookpart" , "ElectronicArticle" ); - put( "conferenceobject" , "ElectronicArticle" ); - put( "doctoralthesis" , "ElectronicThesis" ); - put( "lecture" , "ElectronicArticle" ); - put( "masterthesis" , "ElectronicThesis" ); - put( "musicalnotation" , "ElectronicMusicalScore" ); - put( "other" , "ElectronicResourceRemoteAccess" ); - put( "periodical" , "ElectronicJournal" ); - put( "periodicalpart" , "ElectronicArticle" ); - put( "preprint" , "ElectronicArticle" ); - put( "report" , "eBook" ); - put( "studythesis" , "ElectronicThesis" ); - put( "workingpaper" , "ElectronicArticle" ); -}}; -// Ticket #2061 -// List of source id's -static final HashSet erSet = new HashSet() {{ - add("16"); - add("17"); - add("18"); - add("19"); -}}; - -public Set getAccessInfOld( Record record ) { - - Set result = new LinkedHashSet(); - - String source_id = indexer.getFirstFieldVal(record, "980b"); - - // check the 007 - this is a repeating field - List fields = record.getVariableFields("007"); - Iterator fieldsIter = fields.iterator(); - if (fields != null) { - ControlField formatField; - while(fieldsIter.hasNext()) { - formatField = (ControlField) fieldsIter.next(); - formatCode = formatField.getData().toUpperCase().charAt(0); - switch (formatCode) { - case 'A': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'D': - result.add("Atlas"); - break; - default: - result.add("Map"); - break; - } - break; - case 'C': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'A': - result.add("TapeCartridge"); - break; - case 'B': - result.add("ChipCartridge"); - break; - case 'C': - result.add("DiscCartridge"); - break; - case 'F': - result.add("TapeCassette"); - break; - case 'H': - result.add("TapeReel"); - break; - case 'J': - result.add("FloppyDisk"); - break; - case 'M': - case 'O': - result.add("CDROM"); - break; - case 'R': - // Do not return - this will cause anything with an - // 856 field to be labeled as "Electronic" - break; - default: - result.add("Software"); - break; - } - break; - case 'D': - result.add("Globe"); - break; - case 'F': - result.add("Braille"); - break; - case 'G': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'C': - case 'D': - result.add("Filmstrip"); - break; - case 'T': - result.add("Transparency"); - break; - default: - result.add("Slide"); - break; - } - break; - case 'H': - result.add("Microfilm"); - break; - case 'K': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'C': - result.add("Collage"); - break; - case 'D': - result.add("Drawing"); - break; - case 'E': - result.add("Painting"); - break; - case 'F': - result.add("Print"); - break; - case 'G': - result.add("Photonegative"); - break; - case 'J': - result.add("Print"); - break; - case 'L': - result.add("Drawing"); - break; - case 'O': - result.add("FlashCard"); - break; - case 'N': - result.add("Chart"); - break; - default: - result.add("Photo"); - break; - } - break; - case 'M': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'F': - result.add("VideoCassette"); - break; - case 'R': - result.add("Filmstrip"); - break; - default: - result.add("MotionPicture"); - break; - } - break; - case 'O': - result.add("Kit"); - break; - case 'Q': - result.add("MusicalScore"); - break; - case 'R': - result.add("SensorImage"); - break; - case 'S': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'D': - result.add("SoundDisc"); - break; - case 'S': - result.add("SoundCassette"); - break; - default: - result.add("SoundRecording"); - break; - } - break; - case 'V': - switch(formatField.getData().toUpperCase().charAt(1)) { - case 'C': - result.add("VideoCartridge"); - break; - case 'D': - result.add("VideoDisc"); - break; - case 'F': - result.add("VideoCassette"); - break; - case 'R': - result.add("VideoReel"); - break; - default: - result.add("Video"); - break; - } - break; - } - } - } - if (!result.isEmpty()) return result; - - // check the Leader at position 6 - String leader = record.getLeader().toString(); - char leaderBit = leader.charAt(6); - switch (Character.toUpperCase(leaderBit)) { - case 'C': - case 'D': - result.add("MusicalScore"); - break; - case 'E': - case 'F': - result.add("Map"); - break; - case 'G': - result.add("Slide"); - break; - case 'I': - result.add("SoundRecording"); - break; - case 'J': - result.add("MusicRecording"); - break; - case 'K': - result.add("Photo"); - break; - case 'M': - result.add("Electronic"); - break; - case 'O': - case 'P': - result.add("Kit"); - break; - case 'R': - result.add("PhysicalObject"); - break; - case 'T': - result.add("Manuscript"); - break; - } - if (!result.isEmpty()) return result; - - ControlField fixedField = (ControlField) record.getVariableField("008"); - // check the Leader at position 7 - leaderBit = leader.charAt(7); - switch (Character.toUpperCase(leaderBit)) { - // Monograph - case 'M': - if (formatCode == 'C') { - result.add("eBook"); - } else { - result.add("Book"); - } - break; - // Serial - case 'S': - // Look in 008 to determine what type of Continuing Resource - formatCode = fixedField.getData().toUpperCase().charAt(21); - switch (formatCode) { - case 'N': - result.add("Newspaper"); - break; - case 'P': - result.add("Journal"); - break; - default: - result.add("Serial"); - break; - } - } - - // Nothing worked! - if ( result.isEmpty() ) { - result.add("Unknown"); - } - - return result; -} - -public Set getAccessInf( Record record ) { - - logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on - - Set result = new LinkedHashSet(); - - String source_id = indexer.getFirstFieldVal(record, "980b"); - - // Ticket #2061 - if( erSet.contains( source_id ) ) { - result.add( "Electronic" ); - return result; - } - - // Source Id '008' wird wie Source Id '000' behandelt - - if (source_id.equals("3")) { // um NEP Facette erweitern - result.add("NewPublications"); - logger.info( "access: 3 New Pub.."); - return result; - } else if(source_id.equals("4")) { // um PDA erweitern - result.add("Electronic"); - logger.info( "access: 4 Elec.. Res.."); - return result; - } else if(source_id.equals("6")) { // Alle Datensätze mit 006 in Feld 980 b werden als ElectronicResources gekennzeichnet. #652 - result.add("Electronic"); - logger.info( "access: 6 Elec.. Res.."); - return result; - } else if(source_id.equals("7")) { // HMT # PAO # Anpassung von format.bsh und accessInf.bsh für die Indexierung #655 - result.add("Electronic"); - logger.info( "access: 7 Elec.. Res.."); - return result; - } else if(source_id.equals("8")) { // HMT # LFER # Anpassung von format.bsh und accessInf.bsh für die Indexierung #658 - result.add("Electronic"); - logger.info( "access: 8 Elec.. Res.."); - return result; - } else if(source_id.equals("9")) { // HMT # Early Music Online # Anpassung von format.bsh und accessInf.bsh für die Indexierung #664 - result.add("Electronic"); - logger.info( "access: 9 Elec.. Res.."); - return result; - } else if(source_id.equals("10")) { // MTC # Early Music Online # Anpassung von format.bsh und accessInf.bsh für die Indexierung #664 - result.add("Electronic"); - logger.info( "access: 10 Elec.. Res.." ); - return result; - } else if(source_id.equals("15")) { // IMSLP # 015 - result.add("Electronic"); - logger.info( "access: 15 Elec.. Res.."); - return result; - } else if(source_id.equals("20")) { // GALLICA Ticket #1258 und NEU #1574 - result.add("ElectronicMusicalScore"); - logger.info( "access: 20 Elec.. Res.. GALLICA"); - return result; - } - - - String leader = record.getLeader().toString(); - char leaderBit; - ControlField fixedField = (ControlField) record.getVariableField("008"); - char formatCode = ' '; - - String val; - Subfield s; - - fs = record.getVariableFields("935"); - if (fs != null) { - fsI = fs.iterator(); - DataField hsf; - while (fsI.hasNext()) { - - hsf = (DataField) fsI.next(); - - Subfield bSubfield = hsf.getSubfield('b'); - - List ss = hsf.getSubfields('c'); - if (ss != null) { - Iterator ssI = ss.iterator(); - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - val = s.getData(); - if(val.contains("hs")) { - // Ticket #1055 - if( bSubfield != null && bSubfield.getData().contains("cofz")) { - result.add("Electronic"); - } - } - } - } - } - } - - // Ticket #1555 Qucosa - if( source_id.equals( "22" ) ) { - - List fields = record.getVariableFields( "500" ); - if (fields != null) { - Iterator fieldsIter = fields.iterator(); - while( fieldsIter.hasNext() ) { - DataField dataField = (DataField) fieldsIter.next(); - List subfields = dataField.getSubfields( 'a' ); - Iterator subfieldsIter = subfields.iterator(); - if( subfields != null ) { - if( subfieldsIter.hasNext() ) { - String data = subfieldsIter.next().getData().toLowerCase(); - String value = quocosaMap.get( data ); - if( value != null ) { - String record_id = indexer.getFirstFieldVal( record, "980a" ); - result.add( value ); - logger.info( "FOUND QUCOSA record_id => " + record_id + ", VALUE => " + value ); - return result; - } - } - } - } - } - } - - // Ticket #1496 #7 - if( source_id.equals( "9" ) || source_id.equals( "10" ) - || source_id.equals( "14" ) || source_id.equals( "15" ) ) { - result.add( "ElectronicMusicalScore" ); - return result; - } - - if(source_id.equals("12")) { // Ticket #595 - result.add("Electronic"); - logger.info( "format: 12 Elec.. Res.." ); - return result; - } - - if(source_id.equals("13")) { // Ticket #597 - result.add("Electronic"); - logger.info( "format: 13 Elec.. Res.." ); - return result; - } - - String leader = record.getLeader().toString(); - - if( source_id.equals( "0" ) || source_id.equals( "8" ) ) { - - // check the Leader at position 7 - // Distinguish serials, articles, monographs - leaderBit = leader.charAt(7); - - DataField field935 = (DataField) record.getVariableField("935"); - - Set f935b = new LinkedHashSet(); - Set f935c = new LinkedHashSet(); - - fs = record.getVariableFields("935"); - if (fs != null) { - fsI = fs.iterator(); - DataField hsf; - while (fsI.hasNext()) { - hsf = (DataField) fsI.next(); - List ss = hsf.getSubfields('c'); - if (ss != null) { - Iterator ssI = ss.iterator(); - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - val = s.getData(); - f935c.add(val); - } - } - ss = hsf.getSubfields('b'); - if (ss != null) { - Iterator ssI = ss.iterator(); - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - val = s.getData(); - f935b.add(val); - } - } - } - } - - char leaderBit7 = Character.toUpperCase(leaderBit); - if( leaderBit7 == 'S' ) { - // Serial - // Look in 008 to determine what type of Continuing Resource - ControlField fixedField800 = (ControlField) record.getVariableField("008"); - formatCode = fixedField800.getData().toUpperCase().charAt(21); - switch (formatCode) { - case 'N': - if( f935b.contains( "cofz" )) { - result.add( "ElectronicNewspaper" ); - } else { - result.add( "Newspaper" ); - } - break; - case 'P': - if( f935b.contains("cofz")) { - result.add("ElectronicJournal"); - } else if( f935b.contains( "soerd" )) { - result.add( "ElectronicResourceDataCarrier" ); - } else { - result.add("Journal"); - } - break; - case 'M': - if( f935b.contains("cofz")) { - result.add( "ElectronicSerial" ); - } else { - result.add("Serial"); - } - break; - } - // Article - } else if( leaderBit7 == 'A') { - if( f935b.contains( "cofz" )) { - result.add( "ElectronicArticle" ); - } else { - result.add("Article"); - } - // Monograph - } else if( leaderBit7 == 'M' ) { - - if( f935c.contains( "hs" )) { - if( f935b.contains( "cofz" )) { - result.add( "ElectronicThesis" ); - } else { - result.add( "Thesis" ); - } - return result; - } else if( f935b.contains( "cofz" )) { - result.add( "eBook" ); - } else { - // Check 935c (PICA 1140) to identify notated music and maps - if( f935c.contains( "muno" )) { - result.add( "NotatedMusic" ); - } else if( f935c.contains( "kart" )) { - result.add( "Map" ); - // #1997 - if( f935b.contains("cofz") ) result.add( "ElectronicResourceRemoteAccess" ); - // Check 935b (PICA 1130) to identify all kinds of formats - } else if( f935b.contains( "arbtrans" )) { - result.add( "Transparency" ); - } else if( f935b.contains("cdda") ) { - result.add( "CD" ); - } else if( f935b.contains("crom") ) { - result.add( "CDROM" ); - } else if( f935b.contains("dias") ) { - result.add( "Slide" ); - } else if( f935b.contains("disk") ) { - result.add( "FloppyDisk" ); - } else if( f935b.contains("druck") ) { - result.add( "Book" ); - } else if( f935b.contains("dvda") ) { - result.add( "DVDAudio" ); - } else if( f935b.contains("dvdr") ) { - result.add( "DVDROM" ); - } else if( f935b.contains("dvdv") ) { - result.add( "DVDVideo" ); - } else if( f935b.contains("anfi") ) { - result.add( "AudioVisualMedia" ); - } else if( f935b.contains("foto") ) { - result.add( "Photo" ); - } else if( f935b.contains("handschr") ) { - result.add( "Manuscript" ); - } else if( f935b.contains("kunstbl") ) { - result.add( "ArtPrint" ); - } else if( f935b.contains("nachl") ) { - result.add( "Nachlass" ); - } else if( f935b.contains("plakat") ) { - result.add( "Placard" ); - } else if( f935b.contains("scha") ) { - result.add( "Record" ); - } else if( f935b.contains("soerd") ) { - result.add( "ElectronicResourceDataCarrier" ); - } else if( f935b.contains("sobildtt") ) { - result.add( "AudioVisualMedia" ); - } else if( f935b.contains("sott") ) { - result.add( "SoundRecordingMedium" ); - } else if( f935b.contains("tonbd") ) { - result.add( "AudioTape" ); - } else if( f935b.contains("tonks") ) { - result.add( "AudioTape" ); - } else if( f935b.contains("vika") ) { - result.add( "VideoTape" ); - } else if( f935b.contains("blindendr") ) { - result.add( "Braille" ); - } else if( f935b.contains("bray") ) { - result.add( "BluRayDisc" ); - } else if( f935b.contains("ckop") ) { - result.add( "Microfiche" ); - } else if( f935b.contains("cofz") ) { - result.add( "ElectronicResourceRemoteAccess" ); - } else if( f935b.contains("gegenst") ) { - result.add( "PhysicalObject" ); - } else if( f935b.contains("lkop") ) { - result.add( "Microfilm" ); - } else if( f935b.contains("skop") ) { - result.add( "Microform" ); - } else { - result.add( "Book" ); - } - } - } // 'S', 'A' und 'M' - - if (!result.isEmpty()) { - return result; - } - - // Check for Combination of Media (Kit) - // if 007 = zm return "Kit" break - ControlField fixedField700 = (ControlField) record.getVariableField("007"); - if( fixedField700 != null && fixedField700.equals( "zm")) { - result.add( "Kit" ); - } else if( leader.charAt(6) == 'o') { // if LDR[6] = o return "Kit" break - result.add( "Kit" ); - } - - } // source_id 0 or 8 - - if (!result.isEmpty()) { - return result; - } - - return getAccessInfOld( record ); -} diff --git a/import/index_scripts/attached_DE-15.bsh b/import/index_scripts/attached_DE-15.bsh deleted file mode 100644 index 457b98457778e4d61ab2e23e8fc4c9b4976a8571..0000000000000000000000000000000000000000 --- a/import/index_scripts/attached_DE-15.bsh +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2014 finc team, team@finc.info - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import java.util.logging.Level; -import java.util.logging.Logger; - -static final Logger logger = Logger.getLogger("de.ubl.import.attached_DE15"); -static final Set institutions = new LinkedHashSet(){{ - add( "DE-15" ); -}}; - -/* - * Ticket #2048 - */ -public String getAttached( Record record ) { - - logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on - - String result = ""; - String institution = indexer.getFirstFieldVal(record, "852a"); - if( institution != null && institutions.contains( institution ) ) { - String timestamp = indexer.getFirstFieldVal(record, "852z"); - if( timestamp != null ) result = timestamp; - } - return result; -} diff --git a/import/index_scripts/finc_class.bsh b/import/index_scripts/finc_class.bsh deleted file mode 100644 index e6eea4bef3af8dba1184c7c8518f16a9fdd126e7..0000000000000000000000000000000000000000 --- a/import/index_scripts/finc_class.bsh +++ /dev/null @@ -1,404 +0,0 @@ -/* - * Copyright (C) 2012 finc team, team@finc.info - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author finc team - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.logging.Level; -import java.util.logging.Logger; - -static final Logger logger = Logger.getLogger("de.ubl.import.finc_class"); - -public Set getFincClass(Record record) { - - logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on - - Set result = new LinkedHashSet(); - String val; - Subfield s; - - HashMap rvk_sMap = new HashMap(); - HashMap ddc_sMap = new HashMap(); - HashMap bic_sMap = new HashMap(); - HashMap rvk_rMap = new HashMap(); - HashMap ddc_rMap = new HashMap(); - HashMap bic_rMap = new HashMap(); - - // sMap.put("1","A[A-Z] [0-9]+.*"); - // rMap.put("1","Allgemeines"); - - // RVK - rvk_sMap.put("0", "A[A-Z] [0-9]+.*"); - rvk_rMap.put("0", "Allgemeines"); - rvk_sMap.put("1", "B[A-Z] [0-9]+.*"); - rvk_rMap.put("1", "Theologie und Religionswissenschaft"); - rvk_sMap.put("2", "C[A-I] [0-9]+.*"); - rvk_rMap.put("2", "Philosophie"); - rvk_sMap.put("3", "C[L-Z] [0-9]+.*"); - rvk_rMap.put("3", "Psychologie"); - rvk_sMap.put("4", "D[A-Z] [0-9]+.*"); - rvk_rMap.put("4", "Pädagogik"); - rvk_sMap.put("5", "E[A-Z] [0-9]+.*"); - rvk_rMap.put("5", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); - rvk_sMap.put("6", "G[A-Z] [0-9]+.*"); - rvk_rMap.put("6", "Germanistik, Niederlandistik, Skandinavistik"); - rvk_sMap.put("7", "H[A-Z] [0-9]+.*"); - rvk_rMap.put("7", "Anglistik, Amerikanistik"); - rvk_sMap.put("8", "I[A-Z] [0-9]+.*"); - rvk_rMap.put("8", "Romanistik"); - rvk_sMap.put("9", "K[A-Z] [0-9]+.*"); - rvk_rMap.put("9", "Slawistik"); - rvk_sMap.put("10", "L[A-C] [0-9]+.*"); - rvk_rMap.put("10", "Ethnologie (Volks- und Völkerkunde)"); - rvk_sMap.put("11", "(LD [1-2][0-9]+)|(L[E-G] [0-9]+).*"); - rvk_rMap.put("11", "Klassische Archäologie"); - rvk_sMap.put("12", "(LD [3-7][0-9]+)|(L[H-O] [0-9]+).*"); - rvk_rMap.put("12", "Kunst und Kunstgeschichte"); - rvk_sMap.put("13", "(LD [8-9][0-9]+)|(L[P-Y] [0-9]+).*"); - rvk_rMap.put("13", "Musikwissenschaft"); - rvk_sMap.put("14", "M[A-L] [0-9]+.*"); - rvk_rMap.put("14", "Politologie"); - rvk_sMap.put("15", "M[N-W] [0-9]+.*"); - rvk_rMap.put("15", "Soziologie"); - rvk_sMap.put("16", "M[X-Z] [0-9]+.*"); - rvk_rMap.put("16", "Militärwissenschaft"); - rvk_sMap.put("17", "N[A-Z] [0-9]+.*"); - rvk_rMap.put("17", "Geschichte"); - rvk_sMap.put("18", "P[A-Z] [0-9]+.*"); - rvk_rMap.put("18", "Rechtswissenschaft"); - rvk_sMap.put("19", "Q[A-Z] [0-9]+.*"); - rvk_rMap.put("19", "Wirtschaftswissenschaften"); - rvk_sMap.put("20", "R[A-Z] [0-9]+.*"); - rvk_rMap.put("20", "Geographie"); - rvk_sMap.put("21", "S[A-P] [0-9]+.*"); - rvk_rMap.put("21", "Mathematik"); - rvk_sMap.put("22", "S[Q-U] [0-9]+.*"); - rvk_rMap.put("22", "Informatik"); - rvk_sMap.put("23", "T[A-D] [0-9]+.*"); - rvk_rMap.put("23", "Allgemeine Naturwissenschaft"); - rvk_sMap.put("24", "T[E-Z] [0-9]+.*"); - rvk_rMap.put("24", "Geologie und Paläontologie"); - rvk_sMap.put("25", "U[A-Z] [0-9]+.*"); - rvk_rMap.put("25", "Physik"); - rvk_sMap.put("26", "V[A-Z] [0-9]+.*"); - rvk_rMap.put("26", "Chemie und Pharmazie"); - rvk_sMap.put("27", "W[A-Z] [0-9]+.*"); - rvk_rMap.put("27", "Biologie"); - rvk_sMap.put("28", "(W[W-Z]|X[A-Z]|Y[A-V]) [0-9]+.*"); - rvk_rMap.put("28", "Medizin"); - rvk_sMap.put("29", "Z[A-E] [0-9]+.*"); - rvk_rMap.put("29", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); - rvk_sMap.put("30", "Z[G-S] [0-9]+.*"); - rvk_rMap.put("30", "Technik"); - rvk_sMap.put("31", "Z[X-Y] [0-9]+.*"); - rvk_rMap.put("31", "Sport"); - rvk_sMap.put("32", "(F[BCEHNOPQTX] [0-9]+)|(FF [1-2][0-9]+).*"); - rvk_rMap.put("32", "Klassische Philologie"); - rvk_sMap.put("33", "(FK [0-9]+)|(FF [5-6][0-9]+).*"); - rvk_rMap.put("33", "Byzantinistik"); - rvk_sMap.put("34", "F[RUY] [0-9]+.*"); - rvk_rMap.put("34", "Mittellateinische Philologie"); - rvk_sMap.put("35", "(F[GL] [0-9]+)|(FD [1-2][0-9]+).*"); - rvk_rMap.put("35", "Neugriechische Philologie"); - rvk_sMap.put("36", "F[SVZ] [0-9]+.*"); - rvk_rMap.put("36", "Neulateinische Philologie"); - // DDC - ddc_sMap.put("37", "^0[1-35-9][0-9].*"); - ddc_rMap.put("37", "Allgemeines"); - ddc_sMap.put("38", "((^2[0-9]{2})|(^1[37][0-9])).*"); - ddc_rMap.put("38", "Theologie und Religionswissenschaft"); - ddc_sMap.put("39", "^((1[0-46-9])|21)[0-9].*"); - ddc_rMap.put("39", "Philosophie"); - ddc_sMap.put("40", "^1[35][0-9].*"); - ddc_rMap.put("40", "Psychologie"); - ddc_sMap.put("41", "^37[0-9].*"); - ddc_rMap.put("41", "Pädagogik"); - ddc_sMap.put("42", "^(4[019][0-9])|(8[09][0-9]).*"); - ddc_rMap.put("42", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); - ddc_sMap.put("43", "^(43[0-9])|(83[0-9]).*"); - ddc_rMap.put("43", "Germanistik, Niederlandistik, Skandinavistik"); - ddc_sMap.put("44", "^(42[0-9])|(8[12][0-9]).*"); - ddc_rMap.put("44", "Anglistik, Amerikanistik"); - ddc_sMap.put("45", "^(4[4-6][0-9])|(8[4-6][0-9]).*"); - ddc_rMap.put("45", "Romanistik"); - ddc_sMap.put("46", "^39[0-9].*"); - ddc_rMap.put("46", "Ethnologie (Volks- und Völkerkunde)"); - ddc_sMap.put("47", "^93[0-9].*"); - ddc_rMap.put("47", "Klassische Archäologie"); - ddc_sMap.put("48", "^7[0234-7][0-9].*"); - ddc_rMap.put("48", "Kunst und Kunstgeschichte"); - ddc_sMap.put("49", "^78[0-9].*"); - ddc_rMap.put("49", "Musikwissenschaft"); - ddc_sMap.put("50", "^32[0-9].*"); - ddc_rMap.put("50", "Politologie"); - ddc_sMap.put("51", "^3[0-367][0-9].*"); - ddc_rMap.put("51", "Soziologie"); - ddc_sMap.put("52", "^35[0-9].*"); - ddc_rMap.put("52", "Militärwissenschaft"); - ddc_sMap.put("53", "^((9[012-9])|(1[89])|27)[0-9].*"); - ddc_rMap.put("53", "Geschichte"); - ddc_sMap.put("54", "^3[45][0-9].*"); - ddc_rMap.put("54", "Rechtswissenschaft"); - ddc_sMap.put("55", "^(3[38][0-9])|(65[0-9]).*"); - ddc_rMap.put("55", "Wirtschaftswissenschaften"); - ddc_sMap.put("56", "^(91|55)[0-9].*"); - ddc_rMap.put("56", "Geographie"); - ddc_sMap.put("57", "^(51|16|31)[0-9].*"); - ddc_rMap.put("57", "Mathematik"); - ddc_sMap.put("58", "^(00|77)[0-9].*"); - ddc_rMap.put("58", "Informatik"); - ddc_sMap.put("59", "^50[0-9].*"); - ddc_rMap.put("59", "Allgemeine Naturwissenschaft"); - ddc_sMap.put("60", "^5[56][0-9].*"); - ddc_rMap.put("60", "Geologie und Paläontologie"); - ddc_sMap.put("61", "^5[23][0-9].*"); - ddc_rMap.put("61", "Physik"); - ddc_sMap.put("62", "^(54[0-9])|(66[0-9]).*"); - ddc_rMap.put("62", "Chemie und Pharmazie"); - ddc_sMap.put("63", "^5[7-9][0-9].*"); - ddc_rMap.put("63", "Biologie"); - ddc_sMap.put("64", "^(61|57)[0-9].*"); - ddc_rMap.put("64", "Medizin"); - ddc_sMap.put("65", "^(6[34][0-9])|(7[134][0-9]).*"); - ddc_rMap.put("65", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); - ddc_sMap.put("66", "^((6[0-789])|72)[0-9].*"); - ddc_rMap.put("66", "Technik"); - ddc_sMap.put("67", "^79[0-9].*"); - ddc_rMap.put("67", "Sport"); - ddc_sMap.put("68", "^((4[78])|8[78])[0-9].*"); - ddc_rMap.put("68", "Klassische Philologie"); - ddc_sMap.put("69", "^[48]8[0-9].*"); - ddc_rMap.put("69", "Neugriechische Philologie"); - ddc_sMap.put("70", "^[48]7[0-9].*"); - ddc_rMap.put("70", "Neulateinische Philologie"); - ddc_sMap.put("71", "^04[0-9].*"); - ddc_rMap.put("71", "no subject assigned"); - //BIC - bic_sMap.put("72", "((^[BGW]$)|(^((B[GJMT])|(G[BLMPT])|(WZ))([A-Z]|$)))"); - bic_rMap.put("72", "Allgemeines"); - bic_sMap.put("73", "^HR([A-Z]|$)"); - bic_rMap.put("73", "Theologie und Religionswissenschaft"); - bic_sMap.put("74", "^HP([A-Z]|$)"); - bic_rMap.put("74", "Philosophie"); - bic_sMap.put("75", "^JM([A-Z]|$)"); - bic_rMap.put("75", "Psychologie"); - bic_sMap.put("76", "((^E$)|(^((CJ)|(E[BLS])|(JN)|(YQ))([A-Z]|$)))"); - bic_rMap.put("76", "Pädagogik"); - bic_sMap.put("77", "((^[CD]$)|(^((C[BF])|(D[CDNQS]))([A-Z]|$)))"); - bic_rMap.put("77", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); - bic_sMap.put("78", "^E[BLS]([A-Z]|$)"); - bic_rMap.put("78", "Anglistik, Amerikanistik"); - bic_sMap.put("79", "^HD([A-Z]|$)"); - bic_rMap.put("79", "Klassische Archäologie"); - bic_sMap.put("80", "((^A$)|(^((A[BCFGJKMNPS])|(WF))([A-Z]|$)))"); - bic_rMap.put("80", "Kunst und Kunstgeschichte"); - bic_sMap.put("81", "(((^AS)|(^AV))([A-Z]|$))"); - bic_rMap.put("81", "Musikwissenschaft"); - bic_sMap.put("82", "^JP([A-Z]|$)"); - bic_rMap.put("82", "Politologie"); - bic_sMap.put("83", "((^J$)|(^J[FHK]([A-Z]|$)))"); - bic_rMap.put("83", "Soziologie"); - bic_sMap.put("84", "^JW([A-Z]|$)"); - bic_rMap.put("84", "Militärwissenschaft"); - bic_sMap.put("85", "((^H$)|(^(HB|WQ|BG)([A-Z]|$)))"); - bic_rMap.put("85", "Geschichte"); - bic_sMap.put("86", "((^L$)|(^L[ABNR]([A-Z]|$)))"); - bic_rMap.put("86", "Rechtswissenschaft"); - bic_sMap.put("87", "((^K$)|(^((K[CFJN])|AK|TR|UF)([A-Z]|$)))"); - bic_rMap.put("87", "Wirtschaftswissenschaften"); - bic_sMap.put("88", "((^R$)|(^RG([A-Z]|$)))"); - bic_rMap.put("88", "Geographie"); - bic_sMap.put("89", "^PB([A-Z]|$)"); - bic_rMap.put("89", "Mathematik"); - bic_sMap.put("90", "((^U$)|(^((U[BDFGKLMNQRTY])|TJ)([A-Z]|$)))"); - bic_rMap.put("90", "Informatik"); - bic_sMap.put("91", "((^P$)|(^PD([A-Z]|$)))"); - bic_rMap.put("91", "Allgemeine Naturwissenschaft"); - bic_sMap.put("92", "^(RB|TH)([A-Z]|$)"); - bic_rMap.put("92", "Geologie und Paläontologie"); - bic_sMap.put("93", "^P[GH]([A-Z]|$)"); - bic_rMap.put("93", "Physik"); - bic_sMap.put("94", "^(PN|TD|TC)([A-Z]|$)"); - bic_rMap.put("94", "Chemie und Pharmazie"); - bic_sMap.put("95", "^(MZ|PS|TC|RN)([A-Z]|$)"); - bic_rMap.put("95", "Biologie"); - bic_sMap.put("96", "((^M$)|(^M[BFJMNQRX]([A-Z]|$)))"); - bic_rMap.put("96", "Medizin"); - bic_sMap.put("97", "^(RP|TV|WB|WF|WK|WM)([A-Z]|$)"); - bic_rMap.put("97", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); - bic_sMap.put("98", "((^T$)|(^(AM|RN|RP|TC|TD|TH|(T[BGJNQRT]))([A-Z]|$)))"); - bic_rMap.put("98", "Technik"); - bic_sMap.put("99", "^WS([A-Z]|$)"); - bic_rMap.put("99", "Sport"); - bic_sMap.put("100", "((^[FVY]$)|(^((F[ACFHJKLMPQRTVWXYZ])|(V[FSX])|(W[CDGHJNT])|(Y[BDFNRXZ]))([A-Z]|$)))"); - bic_rMap.put("100", "no subject assigned"); - - - // sMap.put("28","(W[W-Z]|X[A-Z]|Y[A-V]) [0-9]+.*"); - // rMap.put("28","Medizin"); - - // LCC - HashMap lcc_pMap = new HashMap(); - lcc_pMap.put("^[AZ]+.*", "Allgemeines"); - lcc_pMap.put("^B[0-9CDHJ]+.*", "Philosophie"); - lcc_pMap.put("^BF+.*", "Psychologie"); - lcc_pMap.put("^B[LMPQRSTVX]+.*", "Theologie und Religionswissenschaften"); - lcc_pMap.put("^C[0-9BDEJNRST]+.*", "Geschichte"); - lcc_pMap.put("^CC+.*", "Klassische Archäologie"); - lcc_pMap.put("^[DEF]+.*", "Geschichte"); - lcc_pMap.put("^G[0-9ABCEF]+.*", "Geographie"); - lcc_pMap.put("^G[NRT]+.*", "Ethnologie (Volks- und Völkerkunde)"); - lcc_pMap.put("^GV+.*", "Sport"); - lcc_pMap.put("^H[0-9AMNQSTVX]+.*", "Soziologie"); - lcc_pMap.put("^H[BCDEFGJ]+.*", "Wirtschaftswissenschaften"); - lcc_pMap.put("^J+.*", "Politologie"); - lcc_pMap.put("^K+.*", "Rechtswissenschaft"); - lcc_pMap.put("^L+.*", "Pädagogik"); - lcc_pMap.put("^M+.*", "Musikwissenschaft"); - lcc_pMap.put("^N+.*", "Kunst und Kunstgeschichte"); - lcc_pMap.put("^P[0-9BHJKLMNZ]+.*", "Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen"); - lcc_pMap.put("^PA+.*", "Klassische Philologie"); - lcc_pMap.put("^P[CQ]+.*", "Romanistik"); - lcc_pMap.put("^P[DFT]+.*", "Germanistik, Niederlandistik, Skandinavistik"); - lcc_pMap.put("^P[ERS]+.*", "Anglistik, Amerikanistik"); - lcc_pMap.put("^PG+.*", "Slawistik"); - lcc_pMap.put("^Q[0-9]+.*", "Allgemeine Naturwissenschaft"); - lcc_pMap.put("^QA+.*", "Mathematik"); - lcc_pMap.put("^Q[BC]+.*", "Physik"); - lcc_pMap.put("^QD+.*", "Chemie und Pharmazie"); - lcc_pMap.put("^QE+.*", "Geologie und Paläontologie"); - lcc_pMap.put("^Q[HKLMPR]+.*", "Biologie"); - lcc_pMap.put("^R+.*", "Medizin"); - lcc_pMap.put("^S+.*", "Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft"); - lcc_pMap.put("^T+.*", "Technik"); - lcc_pMap.put("^[UV]+.*", "Militärwissenschaft"); - - List fs = record.getVariableFields("084"); - Iterator fsI = fs.iterator(); - // RVK - if (fs != null) { - DataField rvk; - while (fsI.hasNext()) { - rvk = (DataField) fsI.next(); - List ss = rvk.getSubfields('2'); - Iterator ssI = ss.iterator(); - if (ss != null) { - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - if (s.getData().toLowerCase().contains("rvk")) { - val = rvk.getSubfield('a').getData(); - - for (String key : rvk_sMap.keySet()) { - if (val.matches(rvk_sMap.get(key))) { - result.add(rvk_rMap.get(key)); - logger.info( "finc_class RVK => " + rvk_rMap.get( key ) ); - } - } - } - } - } - } - } - - fs = record.getVariableFields("082"); - fsI = fs.iterator(); - // DDC - if (fs != null) { - DataField ddc; - while (fsI.hasNext()) { - ddc = (DataField) fsI.next(); - List ss = ddc.getSubfields('a'); - Iterator ssI = ss.iterator(); - if (ss != null) { - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - val = s.getData(); - for (String key : ddc_sMap.keySet()) { - if (val.matches(ddc_sMap.get(key))) { - result.add(ddc_rMap.get(key)); - logger.info( "finc_class DDC => " + ddc_rMap.get( key ) ); - } - } - } - } - } - } - - fs = record.getVariableFields("072"); - fsI = fs.iterator(); - // BIC - if (fs != null) { - DataField bic; - while (fsI.hasNext()) { - bic = (DataField) fsI.next(); - List ss = bic.getSubfields('2'); - Iterator ssI = ss.iterator(); - if (ss != null) { - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - if (s.getData().toLowerCase().contains("bic")) { - val = bic.getSubfield('a').getData(); - - for (String key : bic_sMap.keySet()) { - if (val.matches(bic_sMap.get(key))) { - result.add(bic_rMap.get(key)); - logger.info( "finc_class BIC => " + bic_rMap.get( key ) ); - } - } - } - } - } - } - } - - - fs = record.getVariableFields("050"); - fsI = fs.iterator(); - // LCC - if (fs != null) { - DataField lcc; - while (fsI.hasNext()) { - lcc = (DataField) fsI.next(); - List ss = lcc.getSubfields('a'); - Iterator ssI = ss.iterator(); - if (ss != null) { - while (ssI.hasNext()) { - s = (Subfield) ssI.next(); - val = s.getData(); - // System.out.println("LCC: " + val); - for (String key : lcc_pMap.keySet()) { - if (val.matches(key)) { - result.add(lcc_pMap.get(key)); - logger.info( "finc_class LCC => " + lcc_pMap.get( key ) ); - } - } - } - } - } - } - - - if (result.isEmpty()) result.add("no subject assigned"); - return result; -} diff --git a/import/index_scripts/format_de105.bsh b/import/index_scripts/format_de105.bsh deleted file mode 100644 index 101d439bfc5ec5639155e41e905ec15e8570c4bd..0000000000000000000000000000000000000000 --- a/import/index_scripts/format_de105.bsh +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2014 Project finc http://finc.info - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import java.util.LinkedHashSet; -import java.util.logging.Level; -import java.util.logging.Logger; - -/* - * Ticket #2897, TUF: Icons zuweisen - * - * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -static final Logger logger = Logger.getLogger("de.ubl.import.format_de105"); - -static final HashMap qucosaMap = new HashMap(){{ - put( "article" , "QucosaArticles" ); - put( "bachelorthesis" , "QucosaThesis" ); - put( "book" , "EBOOK" ); - put( "bookpart" , "QucosaArticles" ); - put( "conferenceobject" , "QucosaConferenceproceeding" ); - put( "doctoralthesis" , "QucosaThesis" ); - put( "lecture" , "QucosaArticles" ); - put( "masterthesis" , "QucosaThesis" ); - put( "musicalnotation" , "QucosaScore" ); - put( "other" , "QucosaElectronicResource" ); - put( "periodical" , "QucosaArticles" ); - put( "periodicalpart" , "QucosaArticles" ); - put( "preprint" , "QucosaArticles" ); - put( "report" , "EBOOK" ); - put( "studythesis" , "QucosaThesis" ); - put( "workingpaper" , "QucosaArticles" ); -}}; - - -public Set getFormat( Record record ) { - - logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on - - Set result = new LinkedHashSet(); - - String format_de105 = indexer.getFirstFieldVal( record, "972c" ); - - // Ticket #1555 Qucosa - if( format_de105 == null || format_de105.isEmpty() ) { - String source_id = indexer.getFirstFieldVal( record, "980b" ); - if( source_id.equals( "22" ) ) { - String data = indexer.getFirstFieldVal( record, "500a" ); - if( data != null ) { - format_de105 = qucosaMap.get( data.toLowerCase() ); - } - } - } - - if (format_de105 != null) { - logger.info( "TUF Format => " + format_de105); - result.add(format_de105); - } else { - logger.info( "TUF Format NOT FOUND" ); - } - - return result; -} diff --git a/import/index_scripts/geogr_code.bsh b/import/index_scripts/geogr_code.bsh deleted file mode 100644 index 723fb6ca265a806d35ff7df88b5ed84d2dc1197a..0000000000000000000000000000000000000000 --- a/import/index_scripts/geogr_code.bsh +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.geogrcode"); - -public Set getGeogrCode(Record record) { - - logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on - - Set result = new LinkedHashSet(); - - Set geogrCodeList = indexer.getFieldList(record, "951a"); - - for( String geogr_code : geogrCodeList ) { - geogr_code = geogr_code.trim(); - if(geogr_code.length() > 0) { - String[] split = geogr_code.split( "-" ); - StringBuilder b = new StringBuilder(); - for( String s : split ) { - if( b.length() > 0 ) b.append( "-" ); - b.append(s); - String code = b.toString(); - result.add(code); - } - } - } - - return result; -} diff --git a/import/index_scripts/getBranches.bsh b/import/index_scripts/getBranches.bsh deleted file mode 100644 index 415724cc999424c04f32ffaf13a17cea73ca86aa..0000000000000000000000000000000000000000 --- a/import/index_scripts/getBranches.bsh +++ /dev/null @@ -1,181 +0,0 @@ -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null, stp = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getbranches"); -static final HashMap patternCache = new HashMap(); - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Leander Seige - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -public Set getBranches(Record record, String pattern) { - - logger.setLevel(Level.WARNING); // FINE,INFO,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - Set result = new LinkedHashSet(); - - String source_id = indexer.getFirstFieldVal(record, "980b"); - - // Ticket #1625 - if(source_id.equals("23")) { - result.add("GR"); - return(result); - } - - if(source_id == null || !source_id.equals("0")) { - return(result); - } - - Set sigelfs = indexer.getFieldList(record, "852a"); - - Matcher m = patternCache.get(pattern); - if(m == null) { - m = Pattern.compile(pattern).matcher(""); - patternCache.put(pattern, m); - } - - String currentSigel = null; - for( String current : sigelfs) { - m.reset(current); - if(m.find()) { - currentSigel = current; - break; - } - } - - if(currentSigel == null) { - logger.info(">>> exiting due to pattern mismatch " + pattern); - return(result); - } - - logger.info(">>> getting branches for " + currentSigel); - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - try { - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - properties.load(new FileInputStream( ppPath )); - properties.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR gB reading config file (mddb.conf)"); - return(result); - } - String sDbUrl=properties.getProperty("DatabaseUrl"); - String sUsr=properties.getProperty("DatabaseUser"); - String sPwd=properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT gB to " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - "SELECT DISTINCT(branch) " + - "FROM item " + - "WHERE finc_id = ? " + - "AND sigel = ?" - ); - stp = cn.prepareStatement( - "SELECT DISTINCT(i.branch) " + - "FROM parents p, item i " + - // "WHERE p.parent_record_id = CONCAT('(DE-576)', ?) " + - "WHERE p.parent_record_id = ? " + // #4087 - "AND i.finc_id = p.finc_id " + - "AND i.sigel = ?" - ); - logger.info("CONNECT gB OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR gB create database connection: " + e.getMessage()); - return(result); - } - logger.info("CONNECT gB to " + sDbUrl); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN gB 1st statement"); - try { if( null != stp ) stp.close(); } catch( Exception ex ) {} - logger.info("SHUTTING DOWN gB 2nd statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT gB from " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - } - } - - String finc_id = indexer.getFirstFieldVal(record, "001"); - Long fincNumber = Long.valueOf(finc_id); - String record_id = indexer.getFirstFieldVal(record, "980a"); - - logger.info("checking gB " + finc_id + " " + source_id + " " + record_id); - - ResultSet rs = null; - - try { - - st.setLong( 1, fincNumber); - st.setString( 2, currentSigel); - rs = st.executeQuery(); - while( rs.next() ) { - if( rs.getString(1) == null ) continue; - result.add(rs.getString(1)); - logger.info("ADDING gB : " + rs.getString(1)); - } - try { rs.close(); } catch( Exception ex ) {} - if( result.isEmpty() ) rs = null; - - if( rs == null ) { - stp.setString( 1, record_id); - stp.setString( 2, currentSigel); - rs = stp.executeQuery(); - while( rs.next() ) { - if( rs.getString(1) == null ) continue; - result.add(rs.getString(1)); - logger.info("ADDING gB : " + rs.getString(1)); - } - } - - } catch( Exception ex ) { - logger.severe( "ERROR gB => " + ex.getMessage() ); - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - return result; -} diff --git a/import/index_scripts/getCollCode.bsh b/import/index_scripts/getCollCode.bsh deleted file mode 100644 index f1cb887aa78ccc401639d91b7c5d227a2ebf188d..0000000000000000000000000000000000000000 --- a/import/index_scripts/getCollCode.bsh +++ /dev/null @@ -1,168 +0,0 @@ -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null, stc = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getcollcode"); - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Leander Seige - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -public Set getCollCodes(Record record, String sigel) { - - logger.setLevel(Level.WARNING); // FINE,INFO,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - Set result = new LinkedHashSet(); - - String source_id = indexer.getFirstFieldVal(record, "980b"); - if(!source_id.equals("0")) { - return(result); - } - - Set sigelfs = indexer.getFieldList(record, "852a"); - - Iterator sigelfs_iter = sigelfs.iterator(); - - int conti = 0; - - while (sigelfs_iter.hasNext() && conti==0) { - String current = sigelfs_iter.next(); - logger.info(">>> comparing " + sigel + " " + current); - if(sigel.equals(current)) { - conti = 1; - } - } - - if(conti==0) { - logger.info(">>> exiting due to sigel mismatch " + sigel); - return(result); - } - - logger.info(">>> getting collcodes for " + sigel); - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - try { - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - properties.load(new FileInputStream( ppPath )); - properties.put( "LOAD", "true"); - } catch (IOException e) { - logger.severe("ERROR gCC reading config file => " + ppPath); - return(result); - } - String sDbUrl = properties.getProperty("DatabaseUrl"); - String sUsr = properties.getProperty("DatabaseUser"); - String sPwd = properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT gCC to " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - "SELECT DISTINCT(collection_code) " + - "FROM item " + - "WHERE finc_id = ? " + - "AND sigel = ?" - ); - stc = cn.prepareStatement( - "SELECT DISTINCT(i.collection_code) " + - "FROM parents p, item i " + - // "WHERE p.parent_record_id = CONCAT('(DE-576)', ?) " + - "WHERE p.parent_record_id = ? " + // #4087 - "AND i.finc_id = p.finc_id " + - "AND i.sigel = ?" - ); - logger.info("CONNECT gCC OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR gCC create database connection: " + e.getMessage()); - return(result); - } - logger.info("CONNECT gCC to " + sDbUrl); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN gCC 1st statement"); - try { if( null != stc ) stc.close(); } catch( Exception ex ) {} - logger.info("SHUTTING DOWN gCC 2nd statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT gCC from " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - } - } - - String finc_id = indexer.getFirstFieldVal(record, "001"); - Long fincNumber = Long.valueOf(finc_id); - String record_id = indexer.getFirstFieldVal(record, "980a"); - - logger.info("checking gCC " + finc_id + " " + source_id + " " + record_id); - - ResultSet rs = null; - - try { - - st.setLong( 1, fincNumber); - st.setString( 2, sigel); - rs = st.executeQuery(); - while( rs.next() ) { - if( rs.getString(1) == null ) continue; - result.add(rs.getString(1)); - logger.info("ADDING gCC : " + rs.getString(1)); - } - try { rs.close(); } catch( Exception ex ) {} - if( result.isEmpty() ) rs = null; - - if( rs == null ) { - stc.setString( 1, record_id); - stc.setString( 2, sigel); - rs = stc.executeQuery(); - while( rs.next() ) { - if( rs.getString(1) == null ) continue; - result.add(rs.getString(1)); - logger.info("ADDING gCC : " + rs.getString(1)); - } - } - - } catch( Exception ex ) { - logger.severe( "ERROR gCC => " + ex.getMessage() ); - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - return result; -} diff --git a/import/index_scripts/getFieldRegex.bsh b/import/index_scripts/getFieldRegex.bsh deleted file mode 100644 index 11a6c4ced2c815a72b442eb1bd21a9a63c5b6173..0000000000000000000000000000000000000000 --- a/import/index_scripts/getFieldRegex.bsh +++ /dev/null @@ -1,47 +0,0 @@ -/* Leander Seige */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; - -public Set getFieldRegex(Record record, String fieldnums, String subfield, String match, String search, String replace) { - - Set result = new LinkedHashSet(); - - String[] fields=fieldnums.split(":"); - - for(int i =0; i < fields.length ; i++) { - field=fields[i]; - - List fs = record.getVariableFields(field); - Iterator fsI = fs.iterator(); - - if (fs != null) { - DataField author; - while(fsI.hasNext()) { - author = (DataField) fsI.next(); - String val; - - List ss = author.getSubfields(subfield.charAt(0)); - Iterator ssI = ss.iterator(); - if (ss != null) { - while (ssI.hasNext()) { - val=ssI.next().getData(); - if (val.matches(match)) { - val=val.replaceAll(search,replace); - val=val.trim(); - if(val.length()>0) { - // System.out.println(">>> Value: "+val); - result.add(val); - } - } - } - } else { - } - } - } else { - } - } - return result; -} - diff --git a/import/index_scripts/getFincFulltext.bsh b/import/index_scripts/getFincFulltext.bsh deleted file mode 100644 index 66ad42ac7ddc31ee640122b64daf0157b9d8beb9..0000000000000000000000000000000000000000 --- a/import/index_scripts/getFincFulltext.bsh +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -/* - * Suche in Inhaltsverzeichnis etc. ("Volltextsuche") als Option gestalten - * Zum deserialisieren von JSON wird die Google JSON Software Bibliothek - * benötigt (http://code.google.com/p/google-gson/). - */ - -import java.io.*; -import java.sql.*; -import java.net.*; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.marc4j.marc.*; -import com.google.gson.Gson; - -org.solrmarc.index.SolrIndexer indexer = null; - -static final Properties fftProperties = new Properties(); -static final Logger logger = Logger.getLogger("de.ubl.import.getfincfulltext"); -static final Gson gson = new com.google.gson.GsonBuilder().create(); - -static final String config = "getFincFulltext.conf"; -static String[] fields; - -static final Properties properties_22 = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null; - -public String getFincFulltext(Record record) { - - logger.setLevel(Level.WARNING); // FINE,INFO,WARNING,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - // nicht alle durchsuchen, da Z.b. NAXOS eine URL als RECORD ID enthält!!! - String source_id = indexer.getFirstFieldVal(record, "980b"); - - // Ticket #15555, Qucosa - if(source_id != null && source_id.equals( "22" ) ) { - - String qucosaText = ""; - - // Datenbank Konfiguration aus 'mddb.conf' - synchronized(properties_22) { - if(properties_22.size() == 0) { - Class.forName( sDbDrv ); - try { - // mddb3 Datenbankverbindung Einstellungen - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - // if( vufindHome == null ) ppPath = bsh.cwd + "/../import/index_scripts/mddb.conf"; - properties_22.load(new FileInputStream( ppPath )); - properties_22.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR 'CUCOSA FULLTEXT' reading config file (getFincFulltext)"); - return(result); - } - String sDbUrl = properties_22.getProperty("DatabaseUrl"); - String sUsr = properties_22.getProperty("DatabaseUser"); - String sPwd = properties_22.getProperty("DatabasePassword"); - - try { - logger.info("TRY TO OPEN A CONNECTION 'CUCOSA FULLTEXT': " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - "SELECT value " + - "FROM annotation " + - "WHERE source_id = ? " + - "AND sha1sum = ?" - ); - logger.info("CONNECTION ESTABLISHED 'CUCOSA FULLTEXT' OK: " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR 'CUCOSA FULLTEXT' create database connection: " + e.getMessage()); - return(result); - } - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN 'CUCOSA FULLTEXT' statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT 'CUCOSA FULLTEXT': " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - } - } - - List fields_520 = record.getVariableFields( "520" ); - if (fields_520 != null) { - Iterator fieldsIter = fields_520.iterator(); - while( fieldsIter.hasNext() ) { - DataField dataField = (DataField) fieldsIter.next(); - List subfields = dataField.getSubfields( '9' ); - if( subfields != null && !subfields.isEmpty() ) { - // Ist der erste Indikator "2" handelt es sich um das Inhaltsverzeichnis (TOC). - // Ist der erste Indikator "3" handelt es sich um die Zusammenfassung (Abstract). - // char indicator = dataField.getIndicator1(); - Iterator subfieldsIter = subfields.iterator(); - if( subfields != null ) { - if( subfieldsIter.hasNext() ) { - - String sha1sum = subfieldsIter.next().getData(); - ResultSet rs = null; - - try { - st.setString( 1, source_id ); - st.setString( 2, sha1sum ); - rs = st.executeQuery(); - if( rs.next() ) { - qucosaText = rs.getString(1); - } - try { rs.close(); } catch( Exception ex ) {} - rs = null; - - } catch( Exception ex ) { - logger.severe( "ERROR 'CUCOSA FULLTEXT' => " + ex.getMessage() ); - qucosaText = ""; - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - if( !qucosaText.isEmpty() ) { - String record_id = indexer.getFirstFieldVal( record, "980a" ); - logger.info( "FOUND 'CUCOSA FULLTEXT' record_id => " + record_id + ", text => " + qucosaText); - return qucosaText; - } - } - } - } - } - } - } - - if(source_id == null || (!source_id.equals( "0" ) && !source_id.equals( "8" )) ) { - logger.info( "FULLTEXT: IGNORE SOURCE ID => " + source_id ); - return ""; - } - - String record_id = indexer.getFirstFieldVal(record, "980a"); - if( record_id == null ) { - logger.severe( "ERROR FULLTEXT: could't not found record id"); - return "ERROR FULLTEXT: RECORD ID NOT FOUND"; - } - - synchronized( fftProperties ) { - - if( fftProperties.size() == 0 ) { - logger.info( "FULLTEXT: Read config file => " + config); - String ppFile = vufindHome + "/import/index_scripts/" + config; - fftProperties.load( new FileInputStream( ppFile ) ); - - if ( !fftProperties.containsKey( "keywords" ) ) { - Strng errmsg = "ERROR FULLTEXT: Could't find property 'keywords'"; - logger.severe( errmsg ); - return errmsg; - } - - fftProperties.put( "read", true); - fields = fftProperties.get( "keywords" ).toString().trim().split( "," ); - } - } - - URL url = new URL( fftProperties.get( "solrService" ) + "?q=ppn:" + record_id + "&version=2.2&start=0&wt=json" ); - URLConnection urlConnection = url.openConnection(); - - InputStreamReader in = new InputStreamReader( urlConnection.getInputStream(), "UTF-8" ); - - StringBuilder builder = new StringBuilder(); - - int c = 0; - char[] buff = new char[1024 * 8]; - - while( ( c = in.read( buff, 0, buff.length ) ) > 0 ) { - builder.append( buff, 0, c ); - } - - in.close(); - in = null; - - Map o = gson.fromJson( builder.toString(), Object.class ); - - if( o == null ) return "ERROR FULLTEXT: FROM JSON"; - - Object mapObj = o.get("response"); - if( mapObj == null ) return ""; - Map response = (Map)mapObj; - - Object docsObj = response.get( "docs" ); - if( docsObj == null ) return ""; - List docs = (List)docsObj; - - StringBuilder b = new StringBuilder(); - for(Map docMap : docs) { - for(String s : fields) { - Object obj = docMap.get(s.trim()); - if( obj != null ) { - b.append(b.length() > 0 ? " " : "").append( obj.toString().trim().replaceAll("\\s+"," ")); - } - } - } - - String text = b.toString(); - if ( text.length() > 0) { - logger.info( "FULLTEXT: " + record_id + " => " + ( text.length() <= 80 ? text : text.substring( 0, 80 ))); - } - - return text; - -} diff --git a/import/index_scripts/getFincFulltext.conf b/import/index_scripts/getFincFulltext.conf deleted file mode 100644 index 7c91f351be9cfda34265cf67baaf43b3a892515b..0000000000000000000000000000000000000000 --- a/import/index_scripts/getFincFulltext.conf +++ /dev/null @@ -1,12 +0,0 @@ -# -# Suche in Inhaltsverzeichnis etc. ("Volltextsuche") als Option gestalten -# - -solrService = http://172.18.85.120:8983/solr/select/ - -# search for this keys in 'docs' list, separate them with komma (,) -keywords = tableofcontents,abstract,publishinginfo,introduction,errata,formulary,chapter,bibliography,review,excerpt,blurb,index,preface,epilogue - -# -# -# diff --git a/import/index_scripts/getFincFulltextSwbp.bsh b/import/index_scripts/getFincFulltextSwbp.bsh deleted file mode 100644 index 9eaca8dfa8b805de866e21bf6d29f54018553bb6..0000000000000000000000000000000000000000 --- a/import/index_scripts/getFincFulltextSwbp.bsh +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -/* - * Suche Volltexte in Swb Plus Datenbank. - * Siehe Ticket #2483 {@link https://intern.finc.info/issues/2483} - */ - -import java.io.*; -import java.sql.*; -import java.net.*; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.marc4j.marc.*; - -org.solrmarc.index.SolrIndexer indexer = null; - -static final String baseURL = "http://139.18.19.240:8080/swbp/webresources/swbplus"; -static final Logger logger = Logger.getLogger("de.ubl.import.getfincfulltext"); -static final Set acceptedSourceIds = new HashSet(){{ - add("0"); - add("8"); - add("22"); -}}; - -public String getFincFulltextSwbp(Record record) { - - logger.setLevel(Level.WARNING); // FINE,INFO,WARNING,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - String finc_id = indexer.getFirstFieldVal( record, "001"); - - // nicht alle durchsuchen, da Z.b. NAXOS eine URL als RECORD ID enthält!!! - String source_id = indexer.getFirstFieldVal( record, "980b"); - - if(source_id == null || (!acceptedSourceIds.contains( source_id )) ) { - logger.info( "FULLTEXT: IGNORE SOURCE ID => " + source_id ); - return ""; - } - - String record_id = indexer.getFirstFieldVal(record, "980a"); - if( record_id == null ) { - logger.severe( "ERROR 'SWB+ FULLTEXT': could't not found record id"); - return "ERROR 'SWB+ FULLTEXT': RECORD ID NOT FOUND"; - } - - // sind Resourcen vorhanden? - Set urlList = indexer.getFieldList(record, "856u"); - if( urlList.isEmpty() ) return ""; - - // Indikator 1('4') und 2('0') beachten - boolean urlFound = false; - List list = record.getVariableFields( "856" ); - Iterator urlFields = list.iterator(); - while( urlFields.hasNext() ) { - DataField dataField = (DataField) urlFields.next(); - urlFound = dataField.getIndicator1() == '4'; - if( urlFound ) break; - } - if( !urlFound ) return ""; - - URL url = new URL( baseURL + "/" + finc_id); - URLConnection urlConnection = url.openConnection(); - - InputStreamReader in = new InputStreamReader( urlConnection.getInputStream(), "UTF-8" ); - - StringBuilder builder = new StringBuilder(); - - int c = 0; - char[] buff = new char[1024 * 8]; - - while( ( c = in.read( buff, 0, buff.length ) ) > 0 ) { - builder.append( buff, 0, c ); - } - - in.close(); - in = null; - - String text = builder.toString(); - if ( text.length() > 0) { - logger.info( "SWB+ FULLTEXT: record_id => " + record_id + ", finc_id => " + finc_id + " => " + ( text.length() <= 80 ? text : text.substring( 0, 80 ))); - } - - return text; - -} diff --git a/import/index_scripts/getGnd.bsh b/import/index_scripts/getGnd.bsh deleted file mode 100644 index f1c25736e9b2aa31ec57e156e2eede293c96ea44..0000000000000000000000000000000000000000 --- a/import/index_scripts/getGnd.bsh +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Ticket Allgemein #1750 - * - * Beanshell zum Befüllen vorbereiten, dabei müssen wir flexibel versch. Datenquellen abfragen - * speziell GND und DBpedia, ich habe mappings ;-) * zB Titel, die "118540238" im author_id haben, - * können "4053309-8" in connotation_id bekommen, siehe RDF Link in http://d-nb.info/gnd/118540238 * - * lokales Cache-System konzipieren, ich habe momentan einen mysql cache laufen, - * der genutzt werden kann performs some cool foo and then generates a lot of bar. - */ - -import java.io.*; -import java.net.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.logging.Level; -import java.util.logging.Logger; - -static final Logger logger = Logger.getLogger("de.ubl.import.getGnd"); -org.solrmarc.index.SolrIndexer indexer = null; - -static final Matcher gndM = Pattern.compile( "gnd/(.+)$").matcher( "" ); -static final Matcher fieldM = Pattern.compile("\\(DE-588\\)(\\S+)$").matcher( "" ); -static final Matcher rm = Pattern.compile( "<dc:relation>(.+?)</dc:relation>", Pattern.MULTILINE).matcher( "" ); - -/* Service URL */ -static final URL url = new URL( "http://139.18.19.243/lulknows/index.php" ); - -/* - * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -public Set getGnd(Record record) { - - logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on - - Set result = new LinkedHashSet(); - - List gnd = record.getVariableFields("689"); - Iterator gndIter = gnd.iterator(); - if (gnd != null) { - while(gndIter.hasNext()) { - DataField gnd_df = (DataField) gndIter.next(); - List subfields = gnd_df.getSubfields( '0' ); - if ( subfields != null ) { - Iterator subfieldsIter = subfields.iterator(); - while( subfieldsIter.hasNext() ) { - String data = subfieldsIter.next().getData(); - fieldM.reset( data.trim() ); - if( fieldM.find() ) { - result.add( fieldM.group( 1 ) ); - } - } - } - } - } - - if( result.isEmpty() ) { return result; } - - // sort for cache - result = new TreeSet( result ); - logger.info( "GND: search for => " + result ); - - StringBuilder queryList = new StringBuilder(); - for ( String GND : result ) { - queryList.append( queryList.length() == 0 ? "" : "," ).append(GND); - } - - result.clear(); - - StringBuilder xml = new StringBuilder(); - - HttpURLConnection con = (HttpURLConnection)url.openConnection(); - con.setRequestMethod( "POST" ); - con.setDoInput( true ); - con.setDoOutput( true ); - con.setUseCaches( false ); - con.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" ); - - OutputStreamWriter writer = new OutputStreamWriter( con.getOutputStream() ); - - writer.write( "template=finc_solr_context&gnd=" + queryList.toString()); - writer.flush(); - - String line; - BufferedReader reader = new BufferedReader( new InputStreamReader( con.getInputStream() ) ); - while ((line = reader.readLine()) != null) { - xml.append( line ).append( System.getProperty( "line.separator" ) ); - } - writer.close(); - reader.close(); - - con.disconnect(); - - // REGEX Methode - rm.reset( xml.toString() ); - while( rm.find() ) { - gndM.reset( rm.group( 1 ) ); - if( gndM.find() && result.add( gndM.group( 1 )) ) {} - } - - if( !result.isEmpty() ) logger.info( "GND: got gnd => " + result ); - - return result; -} \ No newline at end of file diff --git a/import/index_scripts/getInstitution.bsh b/import/index_scripts/getInstitution.bsh deleted file mode 100644 index fb7cc876b0aa2035e262f708b8b06c16c87107c3..0000000000000000000000000000000000000000 --- a/import/index_scripts/getInstitution.bsh +++ /dev/null @@ -1,117 +0,0 @@ -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getinstitution"); -static final HashMap patternCache = new HashMap(); - -/* - * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * Ticket #2048, mdma: ansigeln via mddb3 - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ -public Set getInstitution( Record record ) { - - logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - Set result = new LinkedHashSet(); - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - try { - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - properties.load(new FileInputStream( ppPath )); - properties.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR gI reading config file (getInstitution)"); - return(result); - } - String sDbUrl=properties.getProperty("DatabaseUrl"); - String sUsr=properties.getProperty("DatabaseUser"); - String sPwd=properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT gI to " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - "SELECT DISTINCT(isil) " + - "FROM sigels " + - "WHERE finc_id = ?" - ); - logger.info("CONNECT gI OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR gI create database connection: " + e.getMessage()); - return(result); - } - logger.info("CONNECT gI to " + sDbUrl); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN gI statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT gI from " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - } - } - - String finc_id = indexer.getFirstFieldVal(record, "001"); - - ResultSet rs = null; - - try { - - st.setLong( 1, Long.valueOf(finc_id) ); - rs = st.executeQuery(); - while( rs.next() ) { - if( rs.getString(1) == null ) continue; - result.add(rs.getString(1)); - } - - } catch( Exception ex ) { - logger.severe( "ERROR gI => " + ex.getMessage() ); - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - logger.info( "Institution: " + finc_id + " => " + result); - - return result; -} diff --git a/import/index_scripts/getItemData.bsh b/import/index_scripts/getItemData.bsh deleted file mode 100644 index ed28564857451f886c1ca3d151d6fe9bb9d058a0..0000000000000000000000000000000000000000 --- a/import/index_scripts/getItemData.bsh +++ /dev/null @@ -1,141 +0,0 @@ -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getitemdata"); -static Pattern isilPattern; - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hospe 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -/** -* Ticket #2648 -* Ticket #3962 -* -*/ -public Set getItemData( Record record, String namespace, String isilRegex ) { - - logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - Set result = new LinkedHashSet(); - - String source_id = indexer.getFirstFieldVal(record, "980b"); - if(source_id == null || !source_id.equals("0")) { - return result; - } - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - try { - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - properties.load(new FileInputStream( ppPath )); - properties.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR gID reading config file (getItemData)"); - return result; - } - String sDbUrl=properties.getProperty("DatabaseUrl"); - String sUsr=properties.getProperty("DatabaseUser"); - String sPwd=properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT gID to " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - "SELECT sigel,barcode,call_number " + - "FROM item " + - "WHERE finc_id = ? " + - "ORDER BY sigel" - ); - logger.info("CONNECT gID OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR gID create database connection: " + e.getMessage()); - return result; - } - logger.info("CONNECT gID to " + sDbUrl); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN gID statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT gID from " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - isilPattern = Pattern.compile(isilRegex); - } - } - - String finc_id = indexer.getFirstFieldVal(record, "001"); - Long fincNumber = Long.valueOf(finc_id); - ResultSet rs = null; - - try { - Matcher m = isilPattern.matcher(""); - HashMap sigelMap = new HashMap(); - st.setLong( 1, fincNumber); - rs = st.executeQuery(); - while( rs.next() ) { - m.reset( rs.getString(1) ); - if( m.find()) { - String value = ""; - switch ( namespace ) { - case "barcode" : - value = rs.getString(2); // barcode - break; - case "signatur" : - value = rs.getString(3); // call_number - break; - default : - throw new Exception( "Unknown namespace " + namespace); - } - result.add( "(" + rs.getString(1) + ")" + value); - } - } - try { rs.close(); } catch( Exception ex ) {} - logger.info( "gID: " + namespace + " => " + result); - } catch( Exception ex ) { - logger.severe( "ERROR gID => " + ex.getMessage() ); - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - return result; -} diff --git a/import/index_scripts/getItemDataJSON.bsh b/import/index_scripts/getItemDataJSON.bsh deleted file mode 100644 index ab7d82f7a5f79202643d66c93faf3be33e862fc4..0000000000000000000000000000000000000000 --- a/import/index_scripts/getItemDataJSON.bsh +++ /dev/null @@ -1,136 +0,0 @@ -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.logging.Level; -import java.util.logging.Logger; -import com.google.gson.Gson; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getitemdatajson"); -static final Gson gson = new com.google.gson.GsonBuilder().create(); - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hospe 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -/** -* Ticket #2648, #3962 -* -*/ -public String getItemDataJSON( Record record ) { - - logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - String result = ""; - - String source_id = indexer.getFirstFieldVal(record, "980b"); - if(source_id == null || !source_id.equals("0")) { - return result; - } - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - try { - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - properties.load(new FileInputStream( ppPath )); - properties.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR gIDJ reading config file (getItemDataJSON)"); - return result; - } - String sDbUrl=properties.getProperty("DatabaseUrl"); - String sUsr=properties.getProperty("DatabaseUser"); - String sPwd=properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT gIDJ to " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - "SELECT sigel,barcode,call_number " + - "FROM item " + - "WHERE finc_id = ? " + - "ORDER BY sigel" - ); - logger.info("CONNECT gIDJ OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR gIDJ create database connection: " + e.getMessage()); - return result; - } - logger.info("CONNECT gIDJ to " + sDbUrl); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN gIDJ statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT gIDJ from " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - } - } - - String finc_id = indexer.getFirstFieldVal(record, "001"); - Long fincNumber = Long.valueOf(finc_id); - ResultSet rs = null; - - try { - - HashMap sigelMap = new HashMap(); - st.setLong( 1, fincNumber); - rs = st.executeQuery(); - while( rs.next() ) { - List itemList = sigelMap.get( rs.getString(1) ); - if( itemList == null ) { - itemList = new ArrayList(); - sigelMap.put( rs.getString(1), itemList); - } - HashMap bccn = new HashMap(); - bccn.put( "bc", rs.getString(2) ); - bccn.put( "cn", rs.getString(3) ); - itemList.add( bccn ); - // logger.info("ADDING gID : " + rs.getString(1)); - } - try { rs.close(); } catch( Exception ex ) {} - result = gson.toJson( sigelMap ); - logger.info( result ); - } catch( Exception ex ) { - logger.severe( "ERROR gIDJ => " + ex.getMessage() ); - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - return result; -} diff --git a/import/index_scripts/getParentData.bsh b/import/index_scripts/getParentData.bsh deleted file mode 100644 index 75e91efb419f5fe4750fa0ae9035a0cd74fe9989..0000000000000000000000000000000000000000 --- a/import/index_scripts/getParentData.bsh +++ /dev/null @@ -1,172 +0,0 @@ -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cn = null; -static PreparedStatement st = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getparentdata"); -static Pattern isilPattern; - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hospe 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Finc Team - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -/** -* Ticket #4087 -* -* # marc_local.properties: -* hierarchytype="series" // todo -* hierarchy_top_id = script(getParentData.bsh), getParentData(parent_id) -* hierarchy_top_title = script(getParentData.bsh), getParentData(parent_title) -* hierarchy_parent_id = script(getParentData.bsh), getParentData(parent_id) -* hierarchy_parent_title = script(getParentData.bsh), getParentData(parent_title) -* # hierarchy_sequence = -* is_hierarchy_id = script(getParentData.bsh), getParentData(is_hierarchy_id) -* is_hierarchy_title = script(getParentData.bsh), getParentData(is_hierarchy_title) -* -*/ -public Set getParentData( Record record, String attribute ) { - - logger.setLevel(Level.WARNING); // WARNING,FINE,INFO,ALL and so on - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - Set result = new LinkedHashSet(); - - String source_id = indexer.getFirstFieldVal(record, "980b"); - if(source_id == null || !source_id.equals("0")) { - return result; // todo: open up - } - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - try { - properties.load(new FileInputStream( ppPath )); - properties.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR (getParentData) cannot read " + ppPath); - return result; - } - String sDbUrl=properties.getProperty("DatabaseUrl"); - String sUsr=properties.getProperty("DatabaseUser"); - String sPwd=properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT getParentData to " + sDbUrl); - cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - st = cn.prepareStatement( - //"select lpad(t.finc_id,10,0), t.title from parents p, finc_mapping f, parent_titles t where t.finc_id=f.finc_id and f.source_id=p.parent_source_id and f.record_id=p.parent_record_id and p.finc_id=?" - "select lpad(t.finc_id,10,0), t.title, f.finc_id, null from parents p, finc_mapping f, parent_titles t where t.finc_id=f.finc_id and f.source_id=p.parent_source_id and f.record_id=p.parent_record_id and p.finc_id=? UNION select distinct null,null,null,lpad(f.finc_id,10,0) from parents p, finc_mapping f where f.source_id=p.parent_source_id and f.record_id=p.parent_record_id and f.finc_id=?" - // result set has entries when there are parents involved, ie when there's hierarchy. rs(4) is null when current finc_id has no parents but is parent (rs(4) actually not needed). - ); - logger.info("CONNECT getParentData OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR getParentData create database connection: " + e.getMessage()); - return result; - } - logger.info("CONNECT getParentData to " + sDbUrl); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN getParentData statement"); - try { if( null != st ) st.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT getParentData from " + sDbUrl); - try { if( null != cn ) cn.close(); } catch( Exception ex ) {} - } - })); - } - } - - String is_hierarchy_title = indexer.getFirstFieldVal(record, "245ab"); - String finc_id = indexer.getFirstFieldVal(record, "001"); - Long fincNumber = Long.valueOf(finc_id); - ResultSet rs = null; - - try { - st.setLong( 1, fincNumber); - st.setLong( 2, fincNumber); - rs = st.executeQuery(); - while( rs.next() ) { - String value = ""; - switch ( attribute ) { - case "parent_id" : - value = rs.getString(1); // finc_id - break; - case "parent_title" : - value = rs.getString(2); // title - break; - case "is_hierarchy_id" : - // value = rs.getString(4); // returns current finc_id (001) iff we are parent - // if (rs.wasNull()) { - // value = ""; - value = finc_id; // we have result set so there's hierarchy - break; - case "is_hierarchy_title" : - //value = rs.getString(4); // returns current finc_id (001) iff we are parent - //if (rs.wasNull()) { - value = is_hierarchy_title; - break; - case "hierarchy_top_id" : - //value = rs.getString(4); // returns current finc_id (001) iff we are parent - value = rs.getString(1); // parent finc_id - if (rs.wasNull()) { - value = finc_id; - } - break; - case "hierarchy_top_title" : - //value = rs.getString(4); // returns current finc_id (001) iff we are parent - value = rs.getString(1); // parent finc_id - if (rs.wasNull()) { - value = is_hierarchy_title; - } - break; - default : - throw new Exception( "Unknown attribute " + attribute); - } - if (value != null) { - result.add(value); - } - } - try { rs.close(); } catch( Exception ex ) {} - logger.info( "getParentData: " + attribute + " => " + result); - } catch( Exception ex ) { - logger.severe( "ERROR getParentData => " + ex.getMessage() ); - } finally { - try { if( null != rs ) rs.close(); } catch( Exception ex ) {} - } - - return result; -} diff --git a/import/index_scripts/getPublishDateSort.bsh b/import/index_scripts/getPublishDateSort.bsh deleted file mode 100644 index d21b787cc6c889dd751b5ccf0b7d9eab062288c5..0000000000000000000000000000000000000000 --- a/import/index_scripts/getPublishDateSort.bsh +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2014 finc team, team@finc.info - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import java.io.*; -import java.sql.*; -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getpublishdatesort"); - -static final Matcher dm = Pattern.compile("^\\d{4}$").matcher( "" ); -static final Matcher dateMatcher = Pattern.compile("^\\d{2}[^0-9][^0-9]$").matcher( "" ); -static final Matcher date260cMatcher = Pattern.compile("(\\d{2}[0-9a-zA-Z][0-9a-zA-Z])").matcher( "" ); - -static final Properties properties = new Properties(); -static final String sDbDrv = "com.mysql.jdbc.Driver"; -static Connection cnPDS = null; -static PreparedStatement stPDS = null; - -/** -* Ticket Allgemein #1748 -* -* Datum z.B. '19uu' nach '1999'. -*/ -public String getPublishDateSort(Record record) { - - logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on - - returndate = ""; - - ControlField fixedField = (ControlField) record.getVariableField("008"); - if (fixedField != null) { - String val = fixedField.getData(); - if( val != null) { - String date = val.substring( 7, 11 ); - if( dm.reset( date ).find()) { - logger.info( "NEW publishDateSort 008 exact match => " + date ); - returndate = date; - } else if( dateMatcher.reset( date ).find() ) { // ..uu pattern - logger.info( "publishDateSort 008 GESAMTAUFNAHME"); - String db = getPublishDateSortDB( record ); - if( db.isEmpty() ) return date.replaceAll( ".{2}$" , "99" ); - returndate = db; - } else { // match field 260 c, see #2258 - List fields = record.getVariableFields( "260" ); - List result = new ArrayList(); - if (fields != null) { - Iterator fieldsIter = fields.iterator(); - while( fieldsIter.hasNext() ) { - DataField dataField = (DataField) fieldsIter.next(); - List subfields = dataField.getSubfields( 'c' ); - Iterator subfieldsIter = subfields.iterator(); - if( subfields != null ) { - if( subfieldsIter.hasNext() ) { - String data = subfieldsIter.next().getData(); - if( data != null && date260cMatcher.reset( data ).find() ) { - result.add( date260cMatcher.group( 1 ) ); - } - } - } - } - } - if( result.size() > 0 ) { - Collections.sort( result); - logger.info( "NEW publishDateSort 260c '" + date + "' => " + result.get( 0 ) ); - returndate = result.get( 0 ); - } - } - } - } - // Ticket #2966 - year_current = Calendar.getInstance().get(Calendar.YEAR); - String maxokyear = (year_current + 2).toString(); - logger.info(year_current + " " + maxokyear + " " + returndate + " " + returndate.compareTo(maxokyear)); - if (returndate.compareTo(maxokyear) <= 0) { // year+2 ok - return returndate; - } else { - logger.warning("publishDateSort ignoring future value of " + returndate); - } - return ""; -} - -/* -* Allgemein #2330 -* Gesamtaufnahmen erhalten für die Sortierung das Datum des ältesten Bandes -* -* *** NUR BEI SOURCE ID 0 *** -*/ -private String getPublishDateSortDB( Record record ) { - - String vufindHome = System.getenv( "VUFIND_HOME_SOLR4" ); - if (vufindHome == null) { - vufindHome = ""; - } - - String result = ""; - - String source_id = indexer.getFirstFieldVal( record, "980b" ); - String record_id = indexer.getFirstFieldVal( record, "980a"); - - if( source_id == null || !source_id.equals( "0" ) ) { - return( result ); - } - - synchronized(properties) { - if(properties.size() == 0) { - Class.forName( sDbDrv ); - try { - String ppPath = vufindHome + "/import/index_scripts/mddb.conf"; - properties.load(new FileInputStream( ppPath )); - properties.put("LOAD","true"); - } catch (IOException e) { - logger.severe("ERROR 'getPublishedDateSortDB' reading config file (getItemData)"); - return(result); - } - String sDbUrl = properties.getProperty("DatabaseUrl"); - String sUsr = properties.getProperty("DatabaseUser"); - String sPwd = properties.getProperty("DatabasePassword"); - try { - logger.info("CONNECT 'getPublishedDateSortDB' to " + sDbUrl); - cnPDS = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); - stPDS = cnPDS.prepareStatement( - "SELECT MIN(year) " + - "FROM parents " + - "WHERE parent_record_id = ?" - ); - logger.info("CONNECT 'getPublishedDateSortDB' OK => " + sDbUrl); - } catch(Exception e) { - logger.severe("ERROR 'getPublishedDateSortDB' create database connection: " + e.getMessage()); - return(result); - } - logger.info( "CONNECT 'getPublishedDateSortDB' to " + sDbUrl ); - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable(){ - public void run() { - logger.info("SHUTTING DOWN 'getPublishedDateSortDB' statement"); - try { if( null != stPDS ) stPDS.close(); } catch( Exception ex ) {} - logger.info("DISCONNECT 'getPublishedDateSortDB' from " + sDbUrl); - try { if( null != cnPDS ) cnPDS.close(); } catch( Exception ex ) {} - } - })); - } - } - - // logger.info("CHECKING 'getPublishedDateSortDB', RECORD_ID => " + record_id); - - ResultSet rsPDS = null; - - try { - - stPDS.setString( 1, "(DE-576)" + record_id ); // ist immer Sigel DE-576 - stPDS.setString( 1, record_id ); // #4087 - rsPDS = stPDS.executeQuery(); - if( rsPDS.next() ) { - String minYear = rsPDS.getString( 1 ); - if( minYear != null ) { - result = minYear; - logger.info( "getPublishedDateSortDB - ADDING : " + record_id + ", YEAR => " + minYear ); - } else { result = ""; } - } else { - result = ""; - } - rsPDS.close(); rsPDS = null; - - } catch( Exception ex ) { - logger.severe( "ERROR 'getPublishedDateSortDB' => " + ex.getMessage() ); - } finally { - if( rsPDS != null ) try { rsPDS.close(); } catch( Exception ex ) {} - } - - return result; -} diff --git a/import/index_scripts/getSuperMP.bsh b/import/index_scripts/getSuperMP.bsh deleted file mode 100644 index 26d29735db3a86fbcb718d93631480a18707c07c..0000000000000000000000000000000000000000 --- a/import/index_scripts/getSuperMP.bsh +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Leander Seige - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import org.apache.commons.lang.StringUtils; -import java.util.HashMap; - - -public Set getSuperMP(Record record, String fieldnums) { - - Set retval = new LinkedHashSet(); - - //HashMap<String, String> resvalues = new HashMap<String, String> (); - HashMap resvalues = new HashMap(); - //HashMap<String, Integer> resscores = new HashMap<String, Integer> (); - HashMap resscores = new HashMap(); - - String value; - String id; - Integer score; - Integer cscore; - - String[] fields=fieldnums.split(":"); - - for(int i =0; i < fields.length ; i++) { - field=fields[i]; - - fnum=field.substring(0,3); - fsfc=field.substring(3,4); - - List fs = record.getVariableFields(fnum); - Iterator fsI = fs.iterator(); - - if (fs != null) { - DataField df; - while(fsI.hasNext()) { - df = (DataField) fsI.next(); - - Subfield fw = df.getSubfield('w'); - if (fw == null) { // qucosa - fw = df.getSubfield('6'); - } - if (fw != null) { - Subfield fsubany = df.getSubfield(fsfc.charAt(0)); - if(fsubany != null) { - value=fsubany.getData().trim(); - id=fw.getData().replaceAll("^\\([^\\)]+\\)",""); - score=StringUtils.countMatches(value,","); - - if(resvalues.containsKey(id)) { - cscore=resscores.get(id); - if(cscore>score) { - // System.out.println(">>> skipping: "+fnum+fsfc+": "+value); - continue; - } - } - // System.out.println(">>> choosing: "+fnum+fsfc+": "+value); - resvalues.put(id,value); - resscores.put(id,score); - } - } - } - } - } - - for (String key : resvalues.keySet()) { - value="("+key+")"+resvalues.get(key); - // System.out.println(">>> adding: "+value); - retval.add(value); - } - - return retval; -} - - diff --git a/import/index_scripts/imprint.bsh b/import/index_scripts/imprint.bsh deleted file mode 100644 index d0c71cd533210fa7df6cbcd8fdb4bc2bccb68707..0000000000000000000000000000000000000000 --- a/import/index_scripts/imprint.bsh +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Custom 260abc script - * - */ -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.apache.commons.lang.StringUtils; - -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - - -/** - * Read first values of 260abc. - * Ticket #3314 - * - * @param Record record - * @return String of first 260: first a, first b, first c - */ - -static final Logger logger = Logger.getLogger("de.ubl.import.imprint"); - -public String getImprint(Record record) { - - // logger.setLevel( Level.INFO ); - - char[] subfield_codes = new char[]{'a', 'b', 'c'}; - List result_parts = new ArrayList(); - List fields = record.getVariableFields("260"); - Iterator fieldsIter = fields.iterator(); - if (fields != null) { - DataField df; - while(fieldsIter.hasNext()) { - df = (DataField) fieldsIter.next(); - for (char subfield_code : subfield_codes) { - List subfields = df.getSubfields(subfield_code); - Iterator subfieldsIter = subfields.iterator(); - if (subfields != null) { - while (subfieldsIter.hasNext()) { - String val = subfieldsIter.next().getData(); - // logger.info("imprint val: " + val); - result_parts.add(val); - break; // first subfield value only - } - } - } - // break; // first 260 field only - return StringUtils.join(result_parts, " "); - } - } - return null; -} diff --git a/import/index_scripts/ismn.bsh b/import/index_scripts/ismn.bsh deleted file mode 100644 index bf8def4e1b40182852b310cb7513c57f5a5b30f9..0000000000000000000000000000000000000000 --- a/import/index_scripts/ismn.bsh +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.ismn"); - -/** -* Da in dem Feld '024a' aber auch allerhand andere Sachen stehen (können) - -* siehe Ticket #1538 -, müssen wir genauer unterscheiden. -* Das Beanshell soll den Inhalt von 024a zurückliefern unter folgender -* Bedingung: 1. Indikator = 2 -*/ -public String getIsmn( Record record ) { - - logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on - - List fields = record.getVariableFields( "024" ); - if (fields != null) { - Iterator fieldsIter = fields.iterator(); - while( fieldsIter.hasNext() ) { - DataField dataField = (DataField) fieldsIter.next(); - List subfields = dataField.getSubfields( 'a' ); - if( subfields != null && !subfields.isEmpty() && dataField.getIndicator1() == '2') { - Iterator subfieldsIter = subfields.iterator(); - if( subfields != null ) { - if( subfieldsIter.hasNext() ) { - String data = subfieldsIter.next().getData().toLowerCase(); - String record_id = indexer.getFirstFieldVal( record, "980a" ); - logger.info( "FOUND ISMN record_id => " + record_id + ", ismn => " + data); - return data; - } - } - } - } - } - - return ""; -} diff --git a/import/index_scripts/mddb.conf b/import/index_scripts/mddb.conf deleted file mode 100644 index daa801789fd0b4126f1a8d1cb9c62ef88e05da6b..0000000000000000000000000000000000000000 --- a/import/index_scripts/mddb.conf +++ /dev/null @@ -1,4 +0,0 @@ -DatabaseUrl = jdbc:mysql://172.18.113.101:3306/mddb3 -DatabaseUser = vufind2 -DatabasePassword = vufind2 - diff --git a/import/index_scripts/mddb.conf_default b/import/index_scripts/mddb.conf_default deleted file mode 100644 index 564099d6d05024e32d59dc4bd56fe768e2282651..0000000000000000000000000000000000000000 --- a/import/index_scripts/mddb.conf_default +++ /dev/null @@ -1,4 +0,0 @@ -DatabaseUrl = jdbc:mysql://localhost:3306/mddb3 -DatabaseUser = USER -DatabasePassword = PASS - diff --git a/import/index_scripts/mddb.conf_finc_hw1 b/import/index_scripts/mddb.conf_finc_hw1 deleted file mode 100644 index 1344411b326ec0563b4fd49c7714374d96b76c05..0000000000000000000000000000000000000000 --- a/import/index_scripts/mddb.conf_finc_hw1 +++ /dev/null @@ -1,4 +0,0 @@ -DatabaseUrl = jdbc:mysql://172.18.85.101:3306/mddb -DatabaseUser = mddb -DatabasePassword = mddb - diff --git a/import/index_scripts/mega_collection.bsh b/import/index_scripts/mega_collection.bsh deleted file mode 100644 index ffc2e0b4ec82b8ed13bf54a43de4b51ac6e95dde..0000000000000000000000000000000000000000 --- a/import/index_scripts/mega_collection.bsh +++ /dev/null @@ -1,96 +0,0 @@ -import org.marc4j.marc.Record; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Leander Seige - * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.getMegaCollection"); - -public Set getMegaCollection(Record record) { - - logger.setLevel( Level.WARNING ); // FINE,INFO,ALL,WARNING and so on - - Set result = new LinkedHashSet(); - - String sid = indexer.getFirstFieldVal(record, "980b"); - String rid = indexer.getFirstFieldVal(record, "980a"); - - List list = record.getVariableFields("912"); - if( list != null && list.size() > 0 ) { - for( Object df_obj : list ) { - DataField df = (DataField)df_obj; - Subfield sbData = df.getSubfield( 'a' ); - if ( sbData != null ) { - String data = sbData.getData(); - data = data.trim(); - // Ticket #1629: 912a=qucosa could be in sid 0, 8, 13 (22) - // check 912a for qucosa in any sid - if ( data.equals( "qucosa" ) || data.equals( "KEY" ) ) { - logger.info( "QUCOSA => " + rid + " - " + data ); - result.add( data ); - } - if ( sid.equals( "17" ) ) { - result.add( data ); - } - } - } - } - - if ( sid.equals( "0") ) { - - // Tickets #1565, #2038, #2399 - // multiple 935 possible - List list935 = record.getVariableFields("935"); - if( list935 != null && list935.size() > 0 ) { - for( Object df_obj : list935 ) { - DataField df = (DataField)df_obj; - Subfield sbData = df.getSubfield( 'a' ); - if ( sbData != null ) { - String data = sbData.getData(); - data = data.trim(); - if ( data.equals("TRCS") || data.equals("AMSP") ) { - logger.info("935a => " + data); - result.add(data); - } - } - } - } - - // Ticket #1773, safe to assume single 971 - String val = indexer.getFirstFieldVal( record, "971p" ); - if ( val != null && val.equals( "pdam" ) ) { - logger.info( "971p => " + val ); - result.add( val ); - } - - } - - result.add( sid ); - return result; -} diff --git a/import/index_scripts/misc_del152.bsh b/import/index_scripts/misc_del152.bsh deleted file mode 100644 index 623951b3782cf12635225d412f5258d3a7e9aecc..0000000000000000000000000000000000000000 --- a/import/index_scripts/misc_del152.bsh +++ /dev/null @@ -1,85 +0,0 @@ - /* - * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.miscdel52"); - -/** -* Allgemein #1680 -* Beanshell (neu) für misc_del152 -* Wenn source_id = 15, dann gib den Inhalt von 590 $b zurück. Und 590 $a. #872 -* Wenn source_id = 21 und 655 $2 = DE-Wim8, dann gib den Inhalt von 655 $a zurück. -*/ -public Set misc_del152( Record record ) { - - logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on - - Set result = new LinkedHashSet(); - String source_id = indexer.getFirstFieldVal( record, "980b" ); - - if( source_id.equals( "15" ) ) { - List fs = record.getVariableFields("590"); - Iterator fsIter = fs.iterator(); - if (fs != null) { - while(fsIter.hasNext()) { - DataField df = (DataField) fsIter.next(); - if (df.getSubfield('a') != null){ - String value = df.getSubfield('a').getData().trim(); - result.add( value ); - } - if (df.getSubfield('b') != null){ - String value = df.getSubfield('b').getData().trim(); - result.add( value ); - } - } - } - } else if( source_id.equals( "21" ) ) { - List rvk = record.getVariableFields("655"); - Iterator rvkIter = rvk.iterator(); - if (rvk != null) { - while(rvkIter.hasNext()) { - DataField rvk_df = (DataField) rvkIter.next(); - if ( rvk_df.getSubfield( '2' ) != null ) { - if ( rvk_df.getSubfield( '2' ).getData().equals( "DE-Wim8" ) ) { - if ( rvk_df.getSubfield( 'a' ) != null ) { - String value = rvk_df.getSubfield('a').getData().trim(); - logger.info( "MISCDEL152 655a => " + value); - result.add( value ); - } - } - } - } - } - } - - if( result.isEmpty() ) { result.add( "" ); } // leer - - return result; -} \ No newline at end of file diff --git a/import/index_scripts/purchaseInfo.bsh b/import/index_scripts/purchaseInfo.bsh deleted file mode 100644 index 841c669fe3d15589432c1daf5f33bf68c4a4c664..0000000000000000000000000000000000000000 --- a/import/index_scripts/purchaseInfo.bsh +++ /dev/null @@ -1,72 +0,0 @@ -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import org.marc4j.marc.Subfield; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/* - * Copyright (C) 2013 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.purchaseinfo"); -static final Map m = Collections.synchronizedMap( new LinkedHashMap() ); - -/** - * Determine Record Format(s) - * - * @param Record record - * @return Set of sigel - */ -public Set purchaseInfo( Record record ) { - - logger.setLevel(Level.WARNING); // FINE,INFO,ALL and so on - - Set result = new LinkedHashSet(); - - if( m.size() == 0 ) { - logger.info( "PURCHASE INFO => init sigel map" ); - m.put( "969m", "DE-15" ); - m.put( "970m", "DE-L152" ); - m.put( "971m", "DE-Ch1" ); - m.put( "972m", "DE-105" ); - m.put( "973m", "DE-520" ); - m.put( "974m", "DE-L189" ); - m.put( "975m", "DE-Zwi2" ); - m.put( "976m", "DE-Zi4" ); - m.put( "977m", "DE-D117" ); - m.put( "978m", "DE-540" ); - m.put( "979m", "DE-L242" ); - } - - for( String field : m.keySet() ) { - String e = indexer.getFirstFieldVal( record, field ); - if(e != null && e.equals( "e" )) { - result.add( m.get( field ) ); - logger.info( "PURCHASE INFO => added sigel " + m.get( field ) ); - } - } - - return result; -} diff --git a/import/index_scripts/rvk.bsh b/import/index_scripts/rvk.bsh deleted file mode 100644 index 8736fa7ca3fc11fa1055a9236b1ff486eebb20bf..0000000000000000000000000000000000000000 --- a/import/index_scripts/rvk.bsh +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2012 finc team, team@finc.info - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author finc team - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import org.marc4j.marc.DataField; - -org.solrmarc.index.SolrIndexer indexer = null; - -public Set getRvk(Record record){ - Set result = new LinkedHashSet(); - // DataField rvk = (DataField) record.getVariableField("084"); - // DataField rvkSecond = (DataField) record.getVariableField("936"); - - // check if there's "rvk" in the 084 $2; ignore if it isn't - // return RVK-Notation from 084 $a - List rvk = record.getVariableFields("084"); - Iterator rvkIter = rvk.iterator(); - if (rvk != null) { - while(rvkIter.hasNext()) { - DataField rvk_df = (DataField) rvkIter.next(); - if (rvk_df.getSubfield('2') != null){ - if (rvk_df.getSubfield('2').getData().toLowerCase().contains("rvk")) { - // result.add(indexer.getFirstFieldVal(record, "084a")); - result.add(rvk_df.getSubfield('a').getData()); - } - } - } - } - - // In 936 stehen die gleichen RVK-Notationen, die sich schon in 084 finden. - // Sie sind lediglich durch Benennung und Identnummer ergänzt. - // Diese Notationen müssen also nicht zusätzlich - // check if there's 936 and return RVK-Notation from 936 $a -/* List fields = record.getVariableFields("936"); - Iterator fieldsIter = fields.iterator(); - if (fields != null) { - while(fieldsIter.hasNext()) { - result.add(indexer.getFirstFieldVal(record, "936a")); - } - } -*/ - - if (!result.isEmpty()) { - return result; - } - - // Nothing worked! - if (result.isEmpty()) { - result.add("No subject assigned"); - } - return result; -} diff --git a/import/index_scripts/signatur.bsh b/import/index_scripts/signatur.bsh deleted file mode 100644 index 139a2b0fb8ba1b6e8cc50f910675b0746f67fd55..0000000000000000000000000000000000000000 --- a/import/index_scripts/signatur.bsh +++ /dev/null @@ -1,126 +0,0 @@ -import org.marc4j.marc.Record; -import org.marc4j.marc.ControlField; -import org.marc4j.marc.DataField; -import java.util.regex.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/* - * Copyright (C) 2012 Leander Seige, seige@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Leander Seige - * @author Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -static final Logger logger = Logger.getLogger("de.ubl.import.format"); - -public Set getSignatur(Record record) { - - logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on - - Pattern pattern = Pattern.compile("^(.*):([^:]*)$"); - - Set result = new LinkedHashSet(); - - List fields,subfields; - Iterator fields_it,subfields_it; - DataField field; - String value,temp; - String[] values; - - fields = record.getVariableFields("971"); - if (fields != null) { - fields_it = fields.iterator(); - while(fields_it.hasNext()) { - field = (DataField) fields_it.next(); - subfields = field.getSubfields( 'j' ); - if( subfields != null ) { - subfields_it= subfields.iterator(); - while( subfields_it.hasNext() ) { - value=subfields_it.next().getData(); - Matcher matcher = pattern.matcher(value); - if( matcher.find() ) { - for( int i = 1; i <= matcher.groupCount(); i++ ) { - if( i > 1 ) { - temp = "(DE-Ch1)" + matcher.group(i); - result.add(temp); - } - } - } - result.add(value); - } - } - } - } - - fields = record.getVariableFields("972"); - if (fields != null) { - fields_it = fields.iterator(); - while(fields_it.hasNext()) { - field = (DataField) fields_it.next(); - subfields = field.getSubfields('i'); - if (subfields != null) { - subfields_it= subfields.iterator(); - while (subfields_it.hasNext()) { - value=subfields_it.next().getData(); - result.add(value); - } - } - } - } - - fields = record.getVariableFields("981"); - if (fields != null) { - fields_it = fields.iterator(); - while(fields_it.hasNext()) { - field = (DataField) fields_it.next(); - subfields = field.getSubfields('a'); - if (subfields != null) { - subfields_it= subfields.iterator(); - while (subfields_it.hasNext()) { - value = subfields_it.next().getData(); - result.add(value); - } - } - } - } - - // #1302 - Zwickau Finc-Kategorie - fields = record.getVariableFields("975"); - if (fields != null) { - fields_it = fields.iterator(); - while(fields_it.hasNext()) { - field = (DataField) fields_it.next(); - subfields = field.getSubfields('o'); - if (subfields != null) { - subfields_it= subfields.iterator(); - while (subfields_it.hasNext()) { - value = subfields_it.next().getData(); - result.add( "(DE-Zwi2)" + value); - } - } - } - } - - logger.info( "SIGNATUR => " + result); - - return result; - -} diff --git a/import/index_scripts/zdb.bsh b/import/index_scripts/zdb.bsh deleted file mode 100644 index d81c0276c883fdf016798c839a7b8ca4e7b2f106..0000000000000000000000000000000000000000 --- a/import/index_scripts/zdb.bsh +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2012 Polichronis Tsolakidis, tsolakidis@ub.uni-leipzig.de - * Leipzig University Library, Project finc - * http://www.ub.uni-leipzig.de - * - * This program 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 3 of the License, or - * (at your option) any later version. - * - * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. - * - * @author Polichronis Tsolakidis - * @license http://opensource.org/licenses/gpl-3.0.html GNU General Public License - * @link http://finc.info - */ - -import org.marc4j.marc.Record; -import java.util.*; -import java.util.regex.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -org.solrmarc.index.SolrIndexer indexer = null; -static final Logger logger = Logger.getLogger("de.ubl.import.zdb"); -static final Matcher m = Pattern.compile( "ZDB(.+)$" ).matcher( "" ); - -public String getZdb( Record record ) { - - logger.setLevel( Level.WARNING ); // WARNING,FINE,INFO,ALL and so on - - String zdbString = indexer.getFirstFieldVal( record, "035a" ); - - if( zdbString != null ) { - zdbString = zdbString.trim(); - if( zdbString.length() > 0 ) { - m.reset( zdbString ); - if( m.find() ) { - String zdb = m.group( 1 ); - String record_id = indexer.getFirstFieldVal(record, "980a"); - logger.info( "ZDB record_id => " + record_id + ", zdb => " + zdb ); - return zdb; - } - } - } - - return ""; -} diff --git a/import/lib/bsh-2.0b5.jar b/import/lib/bsh-2.0b5.jar deleted file mode 100644 index e326510007373f0a5f96acf121e97fb58c4fc8ed..0000000000000000000000000000000000000000 Binary files a/import/lib/bsh-2.0b5.jar and /dev/null differ diff --git a/import/lib/classgraph-4.1.6.jar b/import/lib/classgraph-4.1.6.jar deleted file mode 100644 index a0788bc1b2d882cd446e304b5ad1843ed221e802..0000000000000000000000000000000000000000 Binary files a/import/lib/classgraph-4.1.6.jar and /dev/null differ diff --git a/import/lib/commons-lang3-3.3.2.jar b/import/lib/commons-lang3-3.3.2.jar deleted file mode 100644 index bb069797f1d28d388a7711443b0da889d24f4bcd..0000000000000000000000000000000000000000 Binary files a/import/lib/commons-lang3-3.3.2.jar and /dev/null differ diff --git a/import/lib/gson-2.2.2.jar b/import/lib/gson-2.2.2.jar deleted file mode 100644 index f2108e00c632f672f108bf4d0282f5bcdb953307..0000000000000000000000000000000000000000 Binary files a/import/lib/gson-2.2.2.jar and /dev/null differ diff --git a/import/lib/java-cup-11b-runtime.jar b/import/lib/java-cup-11b-runtime.jar deleted file mode 100644 index b248460839d0ec0bfc4326e157860e563ec1dd08..0000000000000000000000000000000000000000 Binary files a/import/lib/java-cup-11b-runtime.jar and /dev/null differ diff --git a/import/lib/jopt-simple-5.0.2.jar b/import/lib/jopt-simple-5.0.2.jar deleted file mode 100644 index 2c7a0872d2f164d78ae877922ea15af92baf8290..0000000000000000000000000000000000000000 Binary files a/import/lib/jopt-simple-5.0.2.jar and /dev/null differ diff --git a/import/lib/log4j-1.2.17.jar b/import/lib/log4j-1.2.17.jar deleted file mode 100644 index 1d425cf7d7e25f81be64d32c406ff66cfb6c4766..0000000000000000000000000000000000000000 Binary files a/import/lib/log4j-1.2.17.jar and /dev/null differ diff --git a/import/lib/marc4j-2.8.3.jar b/import/lib/marc4j-2.8.3.jar deleted file mode 100644 index 370ee8e3c874474711da77264f15f7002983138b..0000000000000000000000000000000000000000 Binary files a/import/lib/marc4j-2.8.3.jar and /dev/null differ diff --git a/import/lib/miglayout15-swing.jar b/import/lib/miglayout15-swing.jar deleted file mode 100644 index 2d6a62f1bfcaf5282cc3496371e2a9e1fafaac7c..0000000000000000000000000000000000000000 Binary files a/import/lib/miglayout15-swing.jar and /dev/null differ diff --git a/import/lib/slf4j-log4j12-1.7.16.jar b/import/lib/slf4j-log4j12-1.7.16.jar deleted file mode 100644 index a6aef80e9eed61f717d2f7c2655bebd2b3290b68..0000000000000000000000000000000000000000 Binary files a/import/lib/slf4j-log4j12-1.7.16.jar and /dev/null differ diff --git a/import/lib/sqlitejdbc-v053.jar b/import/lib/sqlitejdbc-v053.jar deleted file mode 100644 index 776fbe311c008d29e1cf9fd1a53c9cf76cf4e7fc..0000000000000000000000000000000000000000 Binary files a/import/lib/sqlitejdbc-v053.jar and /dev/null differ diff --git a/import/lib_local/README.md b/import/lib_local/README.md deleted file mode 100644 index f5ff428ebd44c5d00040192aa5efd080adf973e5..0000000000000000000000000000000000000000 --- a/import/lib_local/README.md +++ /dev/null @@ -1,3 +0,0 @@ -This folder contains dependencies specific to VuFind's custom indexing functions. - -Core SolrMarc dependencies are found in the regular lib directory. diff --git a/import/lib_local/ini4j-0.5.2-SNAPSHOT.jar b/import/lib_local/ini4j-0.5.2-SNAPSHOT.jar deleted file mode 100644 index 85707732290732acd99e4444dd750ff1b1134897..0000000000000000000000000000000000000000 Binary files a/import/lib_local/ini4j-0.5.2-SNAPSHOT.jar and /dev/null differ diff --git a/import/lib_local/mysql-connector-java-5.0.8-bin.jar b/import/lib_local/mysql-connector-java-5.0.8-bin.jar deleted file mode 100644 index 0170c3e53a223416f427809065a7f98ef60ce1bc..0000000000000000000000000000000000000000 Binary files a/import/lib_local/mysql-connector-java-5.0.8-bin.jar and /dev/null differ diff --git a/import/lib_local/postgresql-9.1-902.jdbc4.jar b/import/lib_local/postgresql-9.1-902.jdbc4.jar deleted file mode 100644 index 078f37936c4ec69efe53fdcc8b4b2bbdff91e2e1..0000000000000000000000000000000000000000 Binary files a/import/lib_local/postgresql-9.1-902.jdbc4.jar and /dev/null differ diff --git a/import/log4j.properties b/import/log4j.properties deleted file mode 100644 index 59a6adaa0a6a6dd61f33bd791bf8132720983604..0000000000000000000000000000000000000000 --- a/import/log4j.properties +++ /dev/null @@ -1,49 +0,0 @@ -# Properties file for logging via log4j -# -# $Id: log4j.properties 396 2009-02-13 15:24:07Z rh9ec@virginia.edu $ - -log4j.rootLogger=info, stdout, file - -# Application logging level -# Valid options are TRACE,DEBUG,INFO,WARN,ERROR,FATAL -log4j.logger.org.solrmarc=DEBUG -log4j.logger.org.solrmarc.index.extractor.impl.java.JavaValueExtractorUtils=INFO -log4j.logger.org.solrmarc.index.utils.FastClasspathUtils=INFO -log4j.logger.org.solrmarc.marc.MarcHandler=INFO -log4j.logger.org.solrmarc.tools.PropertyUtils=INFO -log4j.logger.org.solrmarc.tools.DataUtil=INFO -log4j.logger.org.solrmarc.index.mapping.impl.TranslationMappingFactory=INFO -log4j.logger.org.solrmarc.driver.ThreadedIndexer=INFO -log4j.logger.org.solrmarc.driver.ChunkIndexerWorker=INFO -log4j.logger.org.solrmarc.driver.IndexDriver=DEBUG -log4j.logger.org.solrmarc.index.indexer.FullConditionalParser=INFO -log4j.logger.org.solrmarc.index.indexer.VerboseSymbolFactory=INFO -log4j.logger.org.apache.solr=INFO - -# stdout appender -# Output the file name and line number to the console -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n -log4j.appender.stdout.target=System.out - -# Log file appender -# Use a RollingFileAppender -# named solrmarc.log -# with a max file size of 100KB -# and keep 1 previous log file -log4j.appender.file=org.apache.log4j.RollingFileAppender -log4j.appender.file.File=${solrmarc.jar.dir}/solrmarc.log -log4j.appender.file.MaxFileSize=100KB -log4j.appender.file.MaxBackupIndex=1 -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %t %c - %m%n - -#smtp -#log4j.appender.appMail=org.apache.log4j.net.SMTPAppender -#log4j.appender.appMail.From=bounce@myuniversity.edu -#log4j.appender.appMail.SMTPHost=smtp.myuniversity.edu -#log4j.appender.appMail.Subject=VuFind Import Log -#log4j.appender.appMail.To=you@myuniversity.edu -#log4j.appender.appMail.layout=org.apache.log4j.PatternLayout -#log4j.appender.appMail.layout.ConversionPattern=%p %d{dd/MM/yyyy HH:mm:ss} %F %L %m%n diff --git a/import/marc.properties b/import/marc.properties deleted file mode 100644 index e061dae9f6e615bc1b2f39ddc57262a8447bd0a6..0000000000000000000000000000000000000000 --- a/import/marc.properties +++ /dev/null @@ -1,116 +0,0 @@ -############################################################################### -# marc.properties -- standard VuFind MARC mappings. If you wish to customize # -# these settings, it is recommended that you edit # -# marc_local.properties to make upgrades simpler. # -############################################################################### -id = 001, first -lccn = 010a, first -ctrlnum = 035a -collection = "Catalog" -institution = "MyInstitution" -building = "Library A" - -fullrecord = FullRecordAsMarc -recordtype = "marc" -allfields = custom, getAllSearchableFieldsAsSet(100, 900) - -language = 008[35-37]:041a:041d:041h:041j, language_map.properties -format = custom, getFormat, format_map.properties - -# All of the *FilteredByRelator() indexing functions take the same list of -# parameters: -# -# 1. The field specification for retrieving author names -# 2. A colon-delimited list of tags whose contents should be accepted even if no -# relator term is specified. -# 3. Either a colon-delimited list of relator terms whose corresponding authors -# should be indexed into the field, or a setting name from the [AuthorRoles] -# section of author-classification.ini containing such a list. -# 4. A colon-delimited list of tags whose contents should be accepted if an -# unknown (not defined in author-classification.ini's [RelatorSynonyms] section) -# relator term is encountered. You can set this to "none" to ignore all unknown -# relator terms. Optional; defaults to the same list as parameter 2. -# 5. Whether to index raw relator terms instead of mapping them according to -# [RelatorSynonyms] in author-classification.ini. Default value is 'false' (do -# not index raw values). -# -# It is VERY IMPORTANT to pass identical values for all 5 parameters to all related -# fields. Thus, author/author_variant/author_fuller/author_role/author_sort should -# all receive the same parameters, as should the groupings of -# author2/author2_variant/author2_fuller/author2_role and -# author_corporate/author_corporate_role. If the parameters are not kept in sync, -# the index may contain mismatched author names and relator values. -# -# see $VUFIND_HOME/config/vufind/author-classification.ini for relator definitions -author = custom, getAuthorsFilteredByRelator(100abcd:700abcd,100,firstAuthorRoles) -author_variant = custom, getAuthorInitialsFilteredByRelator(100a:700a,100,firstAuthorRoles) -author_fuller = custom, getAuthorsFilteredByRelator(100q:700q,100,firstAuthorRoles) -author_role = custom, getRelatorsFilteredByRelator(100abcd:700abcd,100,firstAuthorRoles) -author2 = custom, getAuthorsFilteredByRelator(100abcd:700abcd,700,secondAuthorRoles) -author2_variant = custom, getAuthorInitialsFilteredByRelator(100a:700a,700,secondAuthorRoles) -author2_fuller = custom, getAuthorsFilteredByRelator(100q:700q,700,secondAuthorRoles) -author2_role = custom, getRelatorsFilteredByRelator(100abcd:700abcd,700,secondAuthorRoles) -author_corporate = custom, getAuthorsFilteredByRelator(110ab:111abc:710ab:711ab,110:111:710:711,firstAuthorRoles|secondAuthorRoles) -author_corporate_role = custom, getRelatorsFilteredByRelator(110ab:111abc:710ab:711ab,110:111:710:711,firstAuthorRoles|secondAuthorRoles) -author_sort = custom, getFirstAuthorFilteredByRelator(100abcd:110ab:111abc:700abcd,100:110:111:700,firstAuthorRoles) -author_additional = 505r - -title = 245ab, first -title_sub = 245b, first -title_short = 245a, first -title_full = custom, getAllAlphaSubfields(245, first) -title_auth = 245ab, first -title_alt = 100t:130adfgklnpst:240a:246a:505t:700t:710t:711t:730adfgklnpst:740a -title_old = 780ast -title_new = 785ast -title_sort = custom, getSortableTitle -#title_sort = 245ab, join(" "), titleSortLower -series = 440ap:800abcdfpqt:830ap -series2 = 490a - -publisher = custom, getPublishers -publishDate = custom, getDates -publishDateSort = custom, getFirstDate - -physical = 300abcefg:530abcd -dateSpan = 362a -edition = 250a, first -#description = -contents = 505a:505t - -isbn = 020a:773z -issn = 022a:440x:490x:730x:773x:776x:780x:785x - -callnumber-first = 099a[0]:090a[0]:050a[0], callnumber_map.properties, first -callnumber-subject = custom, getCallNumberSubject(090a:050a), callnumber_subject_map.properties -callnumber-label = custom, getCallNumberLabel(090a:050a) -callnumber-sort = custom, getLCSortable(099ab:090ab:050ab) -callnumber-raw = 099ab:090ab:050ab - -topic = custom, getAllSubfields(600:610:611:630:650:653:656, " ") -genre = custom, getAllSubfields(655, " ") -geographic = custom, getAllSubfields(651, " ") -era = custom, getAllSubfields(648, " ") - -topic_facet = 600x:610x:611x:630x:648x:650a:650x:651x:655x -genre_facet = 600v:610v:611v:630v:648v:650v:651v:655a:655v -geographic_facet = 600z:610z:611z:630z:648z:650z:651a:651z:655z -era_facet = 600d:610y:611y:630y:648a:648y:650y:651y:655y - -url = 856u:555u - -illustrated = custom, isIllustrated - -dewey-hundreds = custom, getDeweyNumber(082a:083a, 100), ddc22_map.properties(hundreds) -dewey-tens = custom, getDeweyNumber(082a:083a, 10), ddc22_map.properties(tens) -dewey-ones = custom, getDeweyNumber(082a:083a, 1), ddc22_map.properties(ones) -dewey-full = custom, getDeweySearchable(082a:083a) -dewey-sort = custom, getDeweySortable(082a:083a) -dewey-raw = 082a:083a - -# Extract the numeric portion of the OCLC number using a pattern map: -oclc_num = 035a, (pattern_map.oclc_num) -pattern_map.oclc_num.pattern_0 = [(][Oo][Cc][Oo][Ll][Cc][)][^0-9]*[0]*([0-9]+)=>$1 -pattern_map.oclc_num.pattern_1 = ocm[0]*([0-9]+)[ ]*[0-9]*=>$1 -pattern_map.oclc_num.pattern_2 = ocn[0]*([0-9]+).*=>$1 -pattern_map.oclc_num.pattern_3 = on[0]*([0-9]+).*=>$1 diff --git a/import/marc_auth.properties b/import/marc_auth.properties deleted file mode 100644 index e4aadb68f039f1a09f8aa29ca0a5c2411e46f3d6..0000000000000000000000000000000000000000 --- a/import/marc_auth.properties +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################### -# marc_auth.properties -- VuFind MARC mappings for authority records. See # -# marc.properties for the more commonly changed # -# bibliographic settings. # -############################################################################### -id = custom, getFirstNormalizedLCCN("010a") -record_format = "marc" -lccn = custom, getNormalizedLCCNs("010a") - -# These values should be overridden in a second properties file (for example, -# see marc_auth_fast_*.properties). This allows the basic authority mappings to -# be used for multiple sources/types of authority records. -source = "Unknown" -record_type = "Unknown" - -fullrecord = FullRecordAsMarc -allfields = custom, getAllSearchableFieldsAsSet(100, 900) - -# These are just artificial examples -- as with source and record_type, they -# should be overridden in a second properties file: -heading = custom, getAllSubfields(100:110:111, " ") -use_for = custom, getAllSubfields(400:410:411, " ") -see_also = custom, getAllSubfields(500:510:511, " ") -scope_note = custom, getAllSubfields(665:663:360, " ") - -# RDA fields -birth_date = 046f, first -death_date = 046g, first -birth_place = 370a, first -death_place = 370b, first -country = 370c -related_place = 370f -field_of_activity = 372a -occupation = 374a -gender = 375a -language = 377a, language_map.properties diff --git a/import/marc_auth_fast_chronological.properties b/import/marc_auth_fast_chronological.properties deleted file mode 100644 index 249d2214fc45cdbedb656c2ca9b0df34f1a355b8..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_chronological.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Chronological authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Chronological" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:148avxyz:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:448avxyz:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:548avxyz:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_corporate.properties b/import/marc_auth_fast_corporate.properties deleted file mode 100644 index 909b6a3863eee98ae07b80984b8f02a89025dc6c..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_corporate.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Corporate Names authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Corporate Names" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_event.properties b/import/marc_auth_fast_event.properties deleted file mode 100644 index abdfc58434ab5fc091dbb3fbeefed214e58dcbf0..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_event.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Event authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Event" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_formgenre.properties b/import/marc_auth_fast_formgenre.properties deleted file mode 100644 index bc16130e2bb866d0d73cb1ae9ab4d77231cc70c4..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_formgenre.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Form/Genre authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Form/Genre" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_geographic.properties b/import/marc_auth_fast_geographic.properties deleted file mode 100644 index bf60930b4a925bd08ab13c3166ba42d6f200f8ee..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_geographic.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Geographic authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Geographic" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_personal.properties b/import/marc_auth_fast_personal.properties deleted file mode 100644 index e2611287477c2e3c2a31164b0aa5b47165cf9ebe..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_personal.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Personal Names authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Personal Names" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_title.properties b/import/marc_auth_fast_title.properties deleted file mode 100644 index 1b1a141c44d8bed5d5d30137062122bcfc89cb03..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_title.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Uniform Titles authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Uniform Titles" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_fast_topical.properties b/import/marc_auth_fast_topical.properties deleted file mode 100644 index 3e3eef243cd63118d94180027939a23e0d1a16dc..0000000000000000000000000000000000000000 --- a/import/marc_auth_fast_topical.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Mappings for loading FAST Topical authority records using the # -# import-marc-auth script. For more details on FAST, see: # -# http://www.oclc.org/research/activities/fast/download.htm # -############################################################################### -id = 001 -source = "FAST" -record_type = "Topical" -heading = 100abcdegjqt:110abcdegjqt:111abcdegjqt:130abcdegjqt:150abvxyz:151avxyz:155avxyz:180vxyz:181vxyz:182vxyz:185vxyz -use_for = 400abcdegjqt:410abcdegjqt:411abcdegjqt:430abcdegjqt:450abvxyz:451avxyz:455avxyz:480vxyz:481vxyz:482vxyz:485vxyz -see_also = 500abcdegjqt:510abcdegjqt:511abcdegjqt:530abcdegjqt:550abvxyz:551avxyz:555avxyz:580vxyz:581vxyz:582vxyz:585vxyz -form_facet_str_mv = 150v:151v:155v:180v:181v:182v:185v -general_facet_str_mv = 150x:151x:155x:180x:181x:182x:185x -chronological_facet_str_mv = 150y:151y:155y:180y:181y:182y:185y -geographic_facet_str_mv = 150z:151z:155z:180z:181z:182z:185z diff --git a/import/marc_auth_ils.properties b/import/marc_auth_ils.properties deleted file mode 100644 index ccdc98cc71c08909713c391298521576adf5c0bf..0000000000000000000000000000000000000000 --- a/import/marc_auth_ils.properties +++ /dev/null @@ -1,5 +0,0 @@ -############################################################################### -# marc_auth_ils.properties -- VuFind MARC mappings for authority records from # -# an ILS. # -############################################################################### -id = 001 \ No newline at end of file diff --git a/import/marc_local.properties b/import/marc_local.properties deleted file mode 100644 index 82a9654b9034a7fe2a89c9bac99611b6a6a55fa3..0000000000000000000000000000000000000000 --- a/import/marc_local.properties +++ /dev/null @@ -1,297 +0,0 @@ -############################################################################### -# marc_local.properties -- local overrides to standard VuFind MARC mappings. # -# All settings in this file override equivalent # -# settings in marc.properties. # -############################################################################### - -# Uncomment the following settings to insert appropriate values for your site: -#collection = "Catalog" -#institution = "MyInstitution" -#building = "Library A" - -# Uncomment the following lines to track history of indexing times for RSS feeds, -# OAI-PMH server and other updates. The parameter to these functions must be the -# same fieldspec as the id setting above! -# IMPORTANT: Indexing this extra information will make extra database calls during -# the indexing process and will likely slow things down significantly. -#first_indexed = custom, getFirstIndexed(001) -#last_indexed = custom, getLastIndexed(001) - -# Uncomment the following line to index full text from URLs found in your MARC -# records. All sorts of document formats are supported (PDF, Word Doc, ASCII -# text, HTML, etc.) The first parameter is a fieldspec showing which fields to use -# for URL retrieval. The second parameter is optional -- if included, only files -# matching the specified suffix will be indexed. Note that this functionality -# depends on a full text tool being installed on your system. See the wiki for -# details: -# https://vufind.org/wiki/indexing:full_text_tools -#fulltext = custom, getFulltext(856u, pdf) - -# Uncomment the following if you want to use the OpenLayers3 Geographic Search -# and OpenLayers3 Geo-Display functionality -# See searches.ini for configuration options for Geographic Searching. -# See config.ini for configuration options for Geo-Display. -#long_lat = custom, getAllCoordinates -#long_lat_display = custom, getDisplayCoordinates -#long_lat_label = 034z - -# Uncomment the following lines if you are indexing journal article data that uses -# the 773 field to describe the journal containing the article. These settings -# assume the records have been formatted according to recommendation 4.1 found at: -# http://www.loc.gov/marc/marbi/2003/2003-dp01.html -# If you have records using a different 773 format, you may need to write a custom -# indexing script to parse out volume/issue/number. -# Additionally, you will need to make sure articles have a format value of "Article." -# You can hard-code this if all of your records are articles, but if you need to -# distinguish between articles and non-articles, you will need to build a custom -# getFormat script. -#format = "Article" -#container_volume = 773v -#container_issue = 773l -#container_start_page = 773q -#container_reference = 773g -#container_title = 773s - -############################################## -# finc-spezifisch, bibliotheksuebergreifend - -# ID des Datensatzes innerhalb der Quelle -record_id = 980a -# ID der Quelle -source_id = 980b -# bibliographic level -mrc0007=000[7] -# category of material -# mrc0070=007[0] first -# collection / source_name -mega_collection = script(mega_collection.bsh), getMegaCollection(), collection_map.properties -authorized_mode = "true" -# ISIL / internationales Bibiothekssigel -# institution = 852a -institution = script(getInstitution.bsh), getInstitution() -rsn = 983a -# Zugangsfacette - Unterscheidung zw. Online-Ressourcen und lokalen Bestaenden -access_facet = script(format.bsh), getFormat, access_map.properties -# IDs fuer Personen und Schlagw\u00c3\u00b6rter (Normdatenerweiterung) -author_id = script(getFieldRegex.bsh), getFieldRegex("100:110:111:700:710:711","0","^\\(DE\\-588\\).*$","\\(DE\\-588\\)","") -topic_id = script(getFieldRegex.bsh), getFieldRegex("600:610:611:648:650:651:689","0","^\\(DE\\-588\\).*$","\\(DE\\-588\\)","") -# Normdaten :: Verweisungsformen -author_ref = 900a -author_corp_ref = 910a:911a -topic_ref = 950a -# MBW und Serien (..., #2063, #2418) -multipart_set = 000[19] -# multipart_set = 000[19]:000[7], multipart_set.properties, first -multipart_link = 773w[8-16]:800w[8-16]:810w[8-16]:811w[8-16]:830w[8-16]:8306 -multipart_part = script(getSuperMP.bsh), getSuperMP("773q:800q:800g:773g:800v:810v:811v:830v:830g") -# Erwerbungsinformation (#959) -purchase = script(purchaseInfo.bsh), purchaseInfo() - -############################################## -# finc-spezifisch UND bibliotheksspezifisch - -# Sammelfeld fuer bibliotheksspezifische Informationen; Bsp. DE-CH1: Lizenzinformationen -# misc_de15 = xxx -misc_del152 = script(misc_del152.bsh), misc_del152 -misc_dech1 = 971g -# misc-Feld f\u00fcr die TUF, enth\u00e4lt den Libero-Code f\u00fcr den Medientyp -# (zur Darstellung der Icons in der Ergebnisliste) -# misc_de105 = 972c # redundant to format_de105 -# misc_de520 = xxx -# misc_del189 = xxx -# misc_dezwi2 = xxx -# misc_dezi4 = xxx -# misc_ded117 = xxx -# misc_de540 = xxx -# misc_del242 = xxx -# Zweigbibliothek - Kommentar entfernen, wenn Facettierung gewuenscht -branch_de15 = script(getBranches.bsh), getBranches("^DE-15(-.+)?$"), branch_map_de15.properties -# CH1 971a -branch_dech1 = script(getBranches.bsh), getBranches("^DE-Ch1$"), branch_map_dech1.properties -# DE105 972a -branch_de105 = script(getBranches.bsh), getBranches("^DE-105$"), branch_map_de105.properties -branch_de520 = script(getBranches.bsh), getBranches("^DE-520$"), branch_map_de520.properties -# branch_del189 = 974a -# branch_dezwi2 = 975a -branch_dezwi2 = script(getBranches.bsh), getBranches("^DE-Zwi2$"), branch_map_dezwi2.properties -branch_dezi4 = script(getBranches.bsh), getBranches("^DE-Zi4$"), branch_map_dezi4.properties -# branch_dezi4 = 976a -# branch_ded117 = 977a -# branch_de540 = 978a -# branch_del242 = 979a -# Standort/Literaturabteilung - Kommentar entfernen, wenn Facettierung gewuenscht -collcode_de15 = 969b, collcode_map_de15.properties -#collcode_dech1 = 971b, collcode_map_dech1.properties -collcode_dech1 = script(getCollCode.bsh), getCollCodes(DE-Ch1), collcode_map_dech1.properties -#collcode_de105 = 972b, collcode_map_de105.properties -collcode_de105 = script(getCollCode.bsh), getCollCodes(DE-105), collcode_map_de105.properties -collcode_de520 = script(getCollCode.bsh), getCollCodes(DE-520), collcode_map_de520.properties -# collcode_del189 = 974b -collcode_dezwi2 = script(getCollCode.bsh), getCollCodes(DE-Zwi2), collcode_map_dezwi2.properties -# In Zittau basieren Zweigstelle und Collection Code auf den Libero-Zweigstellen, deshalb -# verwenden wir ein Skript f\u00fcr beide Felder -collcode_dezi4 = script(getBranches.bsh), getBranches("^DE-Zi4$"), collcode_map_dezi4.properties -# collcode_dezi4 = 976b -# collcode_ded117 = 977b -# collcode_de540 = 978b -# collcode_del242 = 979b -# Format/Medientyp - Kommentar entfernen, wenn individuelle Formatfacettierung erwuenscht -format_de15 = script(format.bsh), getFormat, format_map_de15.properties -format_del152 = 970c, format_map_del152.properties(del152) -# dech1 nutzt ubl formate vgl https://intern.finc.info/issues/2086#note-7 -format_dech1 = 971c, format_map_dech1.properties(dech1) -format_de105 = script(format_de105.bsh),getFormat,format_map_de105.properties(de105) -format_de520 = 973c, format_map_de520.properties -format_del189 = script(format.bsh), getFormat, format_map_del189.properties -format_dezwi2 = 975c, format_map_dezwi2.properties -format_dezi4 = 976c:980b, format_map_dezi4.properties -format_de540 = script(format.bsh), getFormat, format_map_de540.properties -format_ded117 = script(format.bsh), getFormat, format_map_ded117.properties -# format_ded117 = 977c, format_map_ded117.properties -# format_de540 = 978c, format_map_de540.properties -# format_del242 = 979c, format_map_del242.properties -# HMT # local subject headings -local_heading_facet_del152 = 970d -# WHZ (Zwickau) Lokales Schlagwort aus PICA 6800, BSZ-MARC-LOKAL 689 $a -local_heading_dezwi2 = 975q -local_heading_facet_dezwi2 = 975q:600a:600x:610a:610x:611a:611x:630a:630x:648x:650a:650x:651x:655x:689a -# TUBAF und HTWK # UDK fuer Anzeige und Facette -udk_raw_de105 = 972f -udk_facet_de105 = 972f, tuf_udk_map.properties(tuf_udk) -udk_raw_del189 = 974f -# HTWK will keine UDK-Facette -# udk_facet_del189 = 974f, htwk_udk_map.properties(htwk_udk) -# HGB Lokales Schlagwort aus PICA 6800, BSZ-MARC-LOKAL 689 $a -local_heading_del242 = 979q -# HGB Lokale Notation aus PICA 6700, BSZ-MARC-LOKAL 936 $a. Und Ausschrift aus 979|9 Ticket #4209 -local_class_del242 = 979f:9799 -# UBL # finc-Klassifikation -finc_class_facet = script(finc_class.bsh), getFincClass() - -############################################## -# allgemeingueltig - -# allfields without urls (856) -allfields = custom, getAllSearchableFields(100, 831) -zdb = script(zdb.bsh), getZdb -format = script(format.bsh), getFormat -language = 008[35-37]:041a:041d:041h:130l:730l, language_map.properties -author = 100abcd -author_orig = custom, getLinkedField(100abcd) -author2 = 700abcd -author2_orig = custom, getLinkedField(700abcd) -author_corp = 110ab:111acde -author_corp_orig = custom, getLinkedField(110ab:111acde) -author_corp2 = 710ab:711acde -author_corp2_orig = custom, getLinkedField(710ab:711acde) -author2-role = 700e:710e -# author_fuller = 100q -author_letter = 100a -# author_additional = 505r -# fuer gemeinsame Facette von Verfasser, beteiligten Personen u. Koerperschaften -author_facet = 100abcd:700abcd:110ab:111acde:710ab:711acde -title = 245ab -title_part = 245np -title_sub = 245b first -title_short = 245a -# title_full = custom, getAllSubfields(245, " ") -# keine Verfasserwiederholung mehr in title_full -title_full = 245abdefgknp -title_alt = custom, getLinkedFieldCombined(130ap:240ap:246abp:730ap:740ap:920t) -# musikalische EST -title_uniform = 130adfgklmnoprst:240adfghklmnoprs -title_old = 780ast -title_new = 785ast -title_sort = custom, getSortableTitle -title_orig = custom, getLinkedField(245abnp) -series = 800abcdefgmnopqt:810abcdefgmnoprst:811acdegjnpqstuv:830adgmnoprst -series2 = 490a -series_orig = custom, getLinkedField(800abcdefgmnopqt:810abcdefgmnoprst:811acdegjnpqstuv:830adgmnoprst:490a) -publisher = custom, getLinkedFieldCombined(260b) -# publishDate = script(getdate.bsh), getDate -publishDate = custom, removeTrailingPunct(260c) -# publishDateSort = 008[7-10] -publishDateSort = script(getPublishDateSort.bsh), getPublishDateSort -publishPlace = custom, getLinkedFieldCombined(260a) -imprint = 260abc, first -# imprint = custom, removeTrailingPunct(260abc), first -physical = custom, getLinkedFieldCombined(300abcefg) -footnote = custom, getLinkedFieldCombined(500a) -dissertation_note = custom, getLinkedFieldCombined(502abcd) -performer_note = 511a -illustrated = script(illustrated.bsh), isIllustrated -contents = custom, getLinkedFieldCombined(505agrt:520ab) -# Uncomment the following line to index full text from URLs found in your MARC -# records. All sorts of document formats are supported (PDF, Word Doc, ASCII -# text, HTML, etc.) The first parameter is a fieldspec showing which fields to use -# for URL retrieval. The second parameter is optional -- if included, only files -# matching the specified suffix will be indexed. Note that this functionality -# depends on Aperture being installed on your system. See the wiki for details: -# http://vufind.org/wiki/aperture -# old version: fulltext = custom, getFulltext(856u, pdf) -# fulltext = script(getFincFulltext.bsh), getFincFulltext -fulltext = script(getFincFulltextSwbp.bsh), getFincFulltextSwbp -# fulltext_inh = script(swbplus.bsh), getSWBPlusText(001[10-18],inh) -isbn = 020a:776z:780z:785z -# NOTE: 029a ist \u00c3\u00bcberregional definiertes, anwenderspezifisches Feld, kein MARC-Standard -issn = 022a:029a:490x:730x:776x:780x:785x:800x:810x:811x:830x -# ismn = 024a -ismn = script(ismn.bsh), getIsmn -isbn_canc = 020z -issn_canc = 022yz -# topic enthaelt 970de f\u00c3\u00bcr lokale SW der HMT und 937abc f\u00c3\u00bcr Filmgattungen -topic = 600abcdefghjklmnopqrstuvxyz:610abcdefghklmnoprstuvxyz:611acdefghjklnpqstuvxyz:630adefghklmnoprstvxyz:650abcdevxyz:689a:655abvxyz:651avxyz:648avxyz:970de:937abc -topic_facet = 600a:600x:610a:610x:611a:611x:630a:630x:648x:650a:650x:651x:655x:689a -# fuer Geofacette #1028 -geogr_code = script(geogr_code.bsh), getGeogrCode, geogr_code_map.properties -# fuer Geographische Codes f\u00c3\u00bcr Personen (HMT) #1567 -geogr_code_person = 951b, geogr_code_map.properties -# fuer Facette Zeitcode HMT #1571 -timecode = 046j, timecode_map.properties -# fuer Suche in separatem Feld, Indexfunktion, fuer Browsing ggf. noch aufsplitten (Ticket #284) -music_heading = 937def -# fuer Facettierung der Filmgattungen -film_heading = 937a -dewey-hundreds = script(dewey.bsh), getDeweyNumber(082a:083a, 100), ddc22_map.properties(hundreds) -dewey-tens = script(dewey.bsh), getDeweyNumber(082a:083a, 10), ddc22_map.properties(tens) -dewey-ones = script(dewey.bsh), getDeweyNumber(082a:083a, 1), ddc22_map.properties(ones) -dewey-full = script(dewey.bsh), getDeweySearchable(082a:083a) -dewey-sort = script(dewey.bsh), getDeweySortable(082a:083a) -dewey-raw = 082a:083a, first -# RVK - Notation fuer Facette und Ausschrift zur Einbindung in die Suche -rvk_facet = script(rvk.bsh), getRvk -rvk_label = 936k -rvk_path = 0849 -# GND = script(getGnd.bsh), getGnd -# Uncomment the following lines to track history of indexing times for RSS feeds, -# OAI-PMH server and other updates. The parameter to these functions must be the -# same fieldspec as the id setting above! -# IMPORTANT: Indexing this extra information will make extra database calls during -# the indexing process and will likely slow things down significantly. -# first_indexed = custom, getFirstIndexed(001) -# last_indexed = custom, getLastIndexed(001) - -# Ticket #2048 -attached_de15 = script(attached_DE-15.bsh), getAttached() - -# Ticket #2648, #3962 -itemdata = script(getItemDataJSON.bsh), getItemDataJSON - -# Ticket #3962, Barcode und Signatur aus MARC entfernen. Daten kommen jetzt aus mddb -# Maskiere '(', ')' und '.'. '[' und ']' auch? Viel Gl\u00fcck. Aber Testen ist besser! -barcode = script(getItemData.bsh), getItemData( "barcode" , "\(DE-Ch1|DE-105|DE-Zwi2|DE-15\)") -signatur = script(getItemData.bsh), getItemData( "signatur" , "\\.*") - -# Ticket #3674 -urn=024a:037n:856u, (pattern_map.urly_urn) -pattern_map.urly_urn.pattern_0=^.*(urn:.*)$=>$1 - -# Ticket #4087 -# hierarchytype = -hierarchy_top_id = script(getParentData.bsh), getParentData(hierarchy_top_id) -hierarchy_top_title = script(getParentData.bsh), getParentData(hierarchy_top_title) -hierarchy_parent_id = script(getParentData.bsh), getParentData(parent_id) -hierarchy_parent_title = script(getParentData.bsh), getParentData(parent_title) -# hierarchy_sequence = -is_hierarchy_id = script(getParentData.bsh), getParentData(is_hierarchy_id) -is_hierarchy_title = script(getParentData.bsh), getParentData(is_hierarchy_title) diff --git a/import/ndltd.properties b/import/ndltd.properties deleted file mode 100644 index b962661fdd70cfc75abf86ad7e53831874aa5eb5..0000000000000000000000000000000000000000 --- a/import/ndltd.properties +++ /dev/null @@ -1,28 +0,0 @@ -; XSLT Import Settings for NDLTD Union Catalog (see http://alcme.oclc.org/ndltd/) -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = ndltd.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = strtolower -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My University" -collection = "NDLTD" -urnresolver = "http://nbn-resolving.de/" - diff --git a/import/nlm_ojs.properties b/import/nlm_ojs.properties deleted file mode 100644 index bc4821750ce15f11e5b6be5e85c43c1103c3d509..0000000000000000000000000000000000000000 --- a/import/nlm_ojs.properties +++ /dev/null @@ -1,26 +0,0 @@ -; XSLT Import Settings for OJS -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = nlm_ojs.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -php_function[] = strtolower -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My University" -collection = "OJS" \ No newline at end of file diff --git a/import/ojs.properties b/import/ojs.properties deleted file mode 100644 index 0e62e1b660fb6f3d9cc91ea6213b22fed7056f5e..0000000000000000000000000000000000000000 --- a/import/ojs.properties +++ /dev/null @@ -1,26 +0,0 @@ -; XSLT Import Settings for Open Journal Systems -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = ojs.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = str_replace -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFind -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "My University" -collection = "OJS" diff --git a/import/sitemap.properties b/import/sitemap.properties deleted file mode 100644 index ea7a8eaf76aa0b159072524f327f5a022e376d10..0000000000000000000000000000000000000000 --- a/import/sitemap.properties +++ /dev/null @@ -1,24 +0,0 @@ -; XSLT Import Settings for sitemaps (used for populating the special website core) -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = sitemap.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -;php_function[] = str_replace -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class must live within a PHP namespace. You may specify a fully-qualified -; name; if you do not include a namespace, the class will automatically be assumed -; to live in the \VuFind\XSLT\Import namespace. -custom_class[] = VuFindSitemap -; OPTIONAL: If true, all custom_class settings above will be passed to the XSLT with -; their namespaces stripped off; for example, \VuFind\XSLT\Import\VuFind would be -; treated as \VuFind in XSLT files. This allows more compact syntax within XSLT -; files, but it can lead to name conflicts if used carelessly. If set to false, you -; must use fully-qualified names in your XSLT. The false setting is recommended, but -; the current default is "true" for compatibility with legacy configurations. -truncate_custom_class = true - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] diff --git a/import/solrmarc_core_3.2.jar b/import/solrmarc_core_3.2.jar deleted file mode 100644 index 57a4769999664fb277dadefef5235c877ab42a73..0000000000000000000000000000000000000000 Binary files a/import/solrmarc_core_3.2.jar and /dev/null differ diff --git a/import/translation_maps/README_MAPS b/import/translation_maps/README_MAPS deleted file mode 100644 index b7f4196cd5f607f02928cb609de54687fcf9773f..0000000000000000000000000000000000000000 --- a/import/translation_maps/README_MAPS +++ /dev/null @@ -1 +0,0 @@ -This is the directory in which you should place locally defined translation maps. diff --git a/import/translation_maps/access_map.properties b/import/translation_maps/access_map.properties deleted file mode 100644 index f899ba2413eea52a3eaa3ebe5db22a0fae035861..0000000000000000000000000000000000000000 --- a/import/translation_maps/access_map.properties +++ /dev/null @@ -1,74 +0,0 @@ -ArtPrint = Local Holdings -Article = Local Holdings -Atlas = Local Holdings -AudioTape = Local Holdings -AudioVisualMedia = Local Holdings -BluRayDisc = Local Holdings -Book = Local Holdings -Braille = Local Holdings -CD = Local Holdings -CDROM = Local Holdings -Chart = Local Holdings -ChipCartridge = Local Holdings -Collage = Local Holdings -DiscCartridge = Local Holdings -Drawing = Local Holdings -DVDAudio = Local Holdings -DVDROM = Local Holdings -DVDVideo = Local Holdings -eBook = Electronic Resources -Electronic = Electronic Resources -ElectronicArticle = Electronic Resources -ElectronicJournal = Electronic Resources -ElectronicMusicalScore = Electronic Resources -ElectronicNewspaper = Electronic Resources -ElectronicResourceDataCarrier = Local Holdings -ElectronicResourceRemoteAccess = Electronic Resources -ElectronicSerial = Electronic Resources -ElectronicThesis = Electronic Resources -Filmstrip = Local Holdings -FlashCard = Local Holdings -FloppyDisk = Local Holdings -Globe = Local Holdings -Journal = Local Holdings -Kit = Local Holdings -Manuscript = Local Holdings -Map = Local Holdings -Microfiche = Local Holdings -Microfilm = Local Holdings -Microform = Local Holdings -MotionPicture = Local Holdings -MusicalScore = Local Holdings -MusicRecording = Local Holdings -Nachlass = Local Holdings -Newspaper = Local Holdings -NotatedMusic = Local Holdings -Painting = Local Holdings -Photo = Local Holdings -Photonegative = Local Holdings -PhysicalObject = Local Holdings -Placard = Local Holdings -Print = Local Holdings -Record = Local Holdings -RegionalHoldings = Regional Holdings -SensorImage = Local Holdings -Serial = Local Holdings -Slide = Local Holdings -Software = Local Holdings -SoundRecordingMedium = Local Holdings -SoundCassette = Local Holdings -SoundDisc = Local Holdings -SoundRecording = Local Holdings -TapeCartridge = Local Holdings -TapeCassette = Local Holdings -TapeReel = Local Holdings -Thesis = Local Holdings -Transparency = Local Holdings -Unknown = Local Holdings -Video = Local Holdings -VideoTape = Local Holdings -VideoCartridge = Local Holdings -VideoCassette = Local Holdings -VideoDisc = Local Holdings -VideoReel = Local Holdings -# NewPublications = New Publications diff --git a/import/translation_maps/branch_map_de105.properties b/import/translation_maps/branch_map_de105.properties deleted file mode 100644 index a7bf638b5cb102bc8116f492aa0235c1b49c01d4..0000000000000000000000000000000000000000 --- a/import/translation_maps/branch_map_de105.properties +++ /dev/null @@ -1,16 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Zweigstellen der UB Freiberg, aus LIB_BRANCH_DESC -# Siehe auch Ticket #748 - -HB = Hauptbibliothek -#IN = Internet -3 = Zw 3 - Chemie / Biologie -15 = Zw 15 - Fremdsprachen -#18 = Zw 18 -#23 = Zw 23 -#27 = Zw 27 -73 = Zw 7/3 - Reiche Zeche -#92 = Wärmetechnik/Thermodynamik -102 = Zw 10/2 - Technikgeschichte (IWTG) diff --git a/import/translation_maps/branch_map_de15.properties b/import/translation_maps/branch_map_de15.properties deleted file mode 100644 index 02cc36a5b5bc6ba891dd2c2a34e1f97e934767f9..0000000000000000000000000000000000000000 --- a/import/translation_maps/branch_map_de15.properties +++ /dev/null @@ -1,97 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Zweigstellen der UBL, aus LIB_BRANCH_DESC -11 = Musik -12 = Psychologie -13 = Sudhoffinstitut -31 = Rechtswissenschaft -#36 = Wirtschaftswiss. (ab 09/2009 nicht mehr benutzen!) -41 = Orientwissenschaften -46 = Erziehungswissenschaft -51 = Theologie -#56 = Mathematik (ab 12/06 nicht mehr benutzen!) -#61 = Informatik (ab 12/06 nicht mehr benutzen!) -66 = Geowissenschaften -71 = Physik -76 = Chemie/Physik -81 = Biowissenschaften -81idiv = iDiv -86 = Veterinärmedizin -#91 = ZB Medizin -91 = Zentralbibliothek Medizin -96 = Sportwissenschaft -#91004 = Rechtsmedizin (ab 09/2009 nicht mehr benutzen!) -91006 = Apotheke -#91007 = ZB Medizin, Zweigstelle Härtelstraße (ab 08/2009 nicht mehr benutzen!) -#91016 = Zentralbibliothek Medizin 2 -91016 = Zentralbibliothek Medizin 2 -91018 = Kopfkliniken -#91050 = Mikrobiologie (ab 10/2009 nicht mehr benutzen!) -#91163 = Kinderklinik u. Kinderchirurgie (ab 2008 nicht mehr benutzen!) -91166 = Neurochirurgie -#91204 = Paul-Flechsig-Institut (ab 01/2011 nicht mehr benutzen!) -#91271 = Arbeitsmed. u. Sozialmed. (ab 01/2011 nicht mehr benutzen!) -#00 = 00 -#01 = Hauptbibliothek -01 = Bibliotheca Albertina -#01FL = HB Fernleihe -#01com = Hauptbibliothek/Comenius (ab 2007 nicht mehr benutzen!) -#01mag = Hauptbibliothek Mag. (ab 2007 nicht mehr benutzen!) -#01rara = Hauptbibliothek Raramag. (ab 2007 nicht mehr benutzen!) -#01sm = Hauptbibliothek Sondermag (ab 2007 nicht mehr benutzen!) -01theat = Theaterwissenschaften -#01zw1 = Hauptbibliothek 02 (ab 09/2009 nicht mehr benutzen!) -02 = Campus-Bibliothek -02kmw = Kommunikations- und Medienwissenschaft -#02mag = Zw1 Mag. (ab 2007 nicht mehr benutzen!) -#03 = Orientwiss. (ab 2009 nicht mehr benutzen!) -05 = Archäologie -#06 = DLL -06 = Deutsches Literaturinstitut Leipzig -07 = Geographie -08 = Kunst -08akl = Kunst/AKL -#08mag = Kunst Mag. (ab 2007 nicht mehr benutzen!) -#09 = Herder (nicht mehr benutzen!) -11instr = Museum für Musikinstrumente -#36mag = Wirtschaftswiss. Mag (ab 2007 nicht mehr benutzen!) -#41alt = Orientwiss., Altorientalistik -41alt = Orientwissenschaften, Altorientalistik -#41ori = Orientwiss., Ägyptologie -41ori = Orientwissenschaften, Ägyptologie -#46mag = Erziehungswiss. Mag. (ab 2007 nicht mehr benutzen!) -#51mag = Theologie Mag. (ab 2007 nicht mehr benutzen!) -71thph = Theoretische Physik -76thph = Theoretische Physik -76min = Mineralogie -#86amb = Ambulator u. Geburtshilfl. Tierklinik -86amb = Ambulator und Geburtshilfliche Tierklinik -#86ana = Vet.-Anatomie -86ana = Veterinäranatomie -#86bak = Bakteriologie u. Mykologie -86bak = Bakteriologie und Mykologie -#86bio = Vet.-Physiol.-Chem. Inst. -86bio = Veterinär-physiologisch-chemisches Institut -#86chir = Chirurg. Tierklinik -86chir = Chirurgische Tierklinik -#86hyg = Tierhyg. u. öffentl. Veterinärwesen -86hyg = Tierhygiene und öffentliches Veterinärwesen -#86imm = Immunologie (ab 10/2009 nicht mehr benutzen!) -86kle = Kleintierklinik -#86leb = Lebensmitelhyg. (ab 10/2009 nicht mehr benutzen!) -86par = Parasitologie -#86pat = Vet.-Pathologie -86pat = Veterinärpathologie -86pha = Pharmakologie, Pharmazie, Toxikologie -#86phy = Vet.-Physiologie -86phy = Veterinärphysiologie -86te = Tierernährung -#86tie = Med. Tierklinik -86tie = Medizinische Tierklinik -86vir = Virologie -86vog = Poliklinik Vögel, Reptilien -#91mag = ZB Medizin Mag. (ab 2007 nicht mehr benutzen!) -#96mag = Sportwiss. Mag. (ab 2007 nicht mehr benutzen!) -#SG13 = Allg. Verw. SG13 -SG13 = Allgemeine Verwaltung SG13 diff --git a/import/translation_maps/branch_map_de520.properties b/import/translation_maps/branch_map_de520.properties deleted file mode 100644 index 612ea0b4d870e00633d89d9204c72348f228f709..0000000000000000000000000000000000000000 --- a/import/translation_maps/branch_map_de520.properties +++ /dev/null @@ -1,33 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Zweigstellen der HTW Dresden, aus LIB_BRANCH_DESC - -A = Zentralbibliothek, A.-Schubert-Str. 8 -B = Zentralbibliothek, A.-Schubert-Str. 8 -BUBI = Zentralbibliothek, A.-Schubert-Str. 8 -D = Zentralbibliothek, A.-Schubert-Str. 8 -EF = Zentralbibliothek, A.-Schubert-Str. 8 -FS = Zentralbibliothek, A.-Schubert-Str. 8 -GR = Zentralbibliothek, A.-Schubert-Str. 8 -KE = Zentralbibliothek, A.-Schubert-Str. 8 -KF = Zentralbibliothek, A.-Schubert-Str. 8 -KS = Zentralbibliothek, A.-Schubert-Str. 8 -L = Zentralbibliothek, A.-Schubert-Str. 8 -M = Zentralbibliothek, A.-Schubert-Str. 8 -M1 = Zentralbibliothek, A.-Schubert-Str. 8 -R = Zentralbibliothek, A.-Schubert-Str. 8 -SAL = Zentralbibliothek, A.-Schubert-Str. 8 -SDA = Zentralbibliothek, A.-Schubert-Str. 8 -SEN = Zentralbibliothek, A.-Schubert-Str. 8 -SFR = Zentralbibliothek, A.-Schubert-Str. 8 -SON = Zentralbibliothek, A.-Schubert-Str. 8 -SRU = Zentralbibliothek, A.-Schubert-Str. 8 -SSI = Zentralbibliothek, A.-Schubert-Str. 8 -T = Zentralbibliothek, A.-Schubert-Str. 8 -ZB = Zentralbibliothek, A.-Schubert-Str. 8 -P1 = Zweigbibliothek Pillnitz -P2 = Zweigbibliothek Pillnitz -P3 = Zweigbibliothek Pillnitz -P4 = Zweigbibliothek Pillnitz -P5 = Zweigbibliothek Pillnitz \ No newline at end of file diff --git a/import/translation_maps/branch_map_dech1.properties b/import/translation_maps/branch_map_dech1.properties deleted file mode 100644 index 9c7a7249e670e5eac79f167c3521452b16b6831d..0000000000000000000000000000000000000000 --- a/import/translation_maps/branch_map_dech1.properties +++ /dev/null @@ -1,7 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Zweigstellen der UB Chemnitz, aus LIB_BRANCH_DESC -ZB = Zentralbibliothek -CBI = Campusbibliothek I -CBII = Campusbibliothek II \ No newline at end of file diff --git a/import/translation_maps/branch_map_dezi4.properties b/import/translation_maps/branch_map_dezi4.properties deleted file mode 100644 index 185c5e303c7834f5ea2a6442916ffdedaa33e78e..0000000000000000000000000000000000000000 --- a/import/translation_maps/branch_map_dezi4.properties +++ /dev/null @@ -1,42 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Zweigstellen der HSZG Zittau/Görlitz, aus LIB_BRANCH_DESC - -# komplette Code-Liste aus P99: -# Teile sind bei uns als "Bereich" bezeichnet: - -# BB = Buchbinder in Bearbeitung [nicht in finc, ANFRAGE] -# BW = Bücherwagen [nicht in finc] -FH = Zittau -FHGR = Görlitz -FHMGR = Görlitz -FHMZI = Zittau -# FL = Fernleihe [nicht in finc] -GR = Görlitz -# HS = Hochschule Zittau/Görlitz [nicht in finc] -# IHI = Internationales Hochschulinstitut [nicht in finc] -# K = Kst. Zeitschriften Zittau [nicht in finc] -# KM = Magazin Zittau [nicht in finc] -# L = LIBERO [nicht in finc] -LBGR = Görlitz -LBS = Zittau -LBSP = Zittau -LR = Zittau -LRGR = Görlitz -LRKS = Zittau -M = Zittau -MGR = Görlitz -# MGRB = Magazin Görlitz zum Buchbinder [nicht in finc] -MOG = Zittau -MP = Zittau -MS = Zittau -PGR = Görlitz -# RFL = Reservierung Fernleihe [nicht in finc] -# RGR = Reservierung Görlitz [nicht in finc] -# RZI = Reservierung Zittau [nicht in finc] -SAPP = Görlitz -TGR = Görlitz -THEKE = Zittau -VIZI = Zittau -ZI = Zittau \ No newline at end of file diff --git a/import/translation_maps/branch_map_dezwi2.properties b/import/translation_maps/branch_map_dezwi2.properties deleted file mode 100644 index 57d3e21ee2aef5786e8de0efef7f6e2c79c0988b..0000000000000000000000000000000000000000 --- a/import/translation_maps/branch_map_dezwi2.properties +++ /dev/null @@ -1,15 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Zweigstellen der WH Zwickau, aus LIB_BRANCH_DESC - - - -E8 = ZB Scheffelstraße -H1 = Hauptbibliothek -M6 = ZB Markneukirchen -R9 = ZB Reichenbach -S7 = ZB Schneeberg -T = In Transfer -B = In Bearbeitung -BI = Buchbinder diff --git a/import/translation_maps/callnumber_map.properties b/import/translation_maps/callnumber_map.properties deleted file mode 100644 index 75aa08c8248053831de57cbff4649ef10d5b89fa..0000000000000000000000000000000000000000 --- a/import/translation_maps/callnumber_map.properties +++ /dev/null @@ -1,21 +0,0 @@ -A = A - General Works -B = B - Philosophy, Psychology, Religion -C = C - Historical Sciences -D = D - World History -E = E - United States History -F = F - General American History -G = G - Geography, Anthropology, Recreation -H = H - Social Science -J = J - Political Science -K = K - Law -L = L - Education -M = M - Music -N = N - Fine Arts -P = P - Language and Literature -Q = Q - Science -R = R - Medicine -S = S - Agriculture -T = T - Technology -U = U - Military Science -V = V - Naval Science -Z = Z - Library Science diff --git a/import/translation_maps/callnumber_subject_map.properties b/import/translation_maps/callnumber_subject_map.properties deleted file mode 100644 index 7a172bd9296ab8fc3b44269ad1de2420a7e54842..0000000000000000000000000000000000000000 --- a/import/translation_maps/callnumber_subject_map.properties +++ /dev/null @@ -1,225 +0,0 @@ -AC = AC - Collections and Collected Works -AE = AE - Encyclopedias -AG = AG - Dictionaries and Reference -AI = AI - Indexes -AM = AM - Museums and Collecting -AN = AN - Newspapers -AP = AP - Periodicals -AS = AS - Academies -AY = AY - Yearbooks, Almanacs, Directories -AZ = AZ - History of Scholarship -B = B - Philosophy -BC = BC - Logic -BD = BD - Speculative Philosophy -BF = BF - Psychology -BH = BH - Aesthetics -BJ = BJ - Ethics -BL = BL - Religions, Mythology, Rationalism -BM = BM - Judaism -BP = BP - Islam, Bahaism, Theosophy -BQ = BQ - Buddhism -BR = BR - Christianity -BS = BS - The Bible -BT = BT - Doctrinal Theology -BV = BV - Practical Theology -BX = BX - Christian Denominations -C = C - General History -CB = CB - History of Civilization -CC = CC - Archaeology -CD = CD - Diplomatics, Archives, Seals -CE = CE - Technical Chronology, Calendar -CJ = CJ - Numismatics -CN = CN - Inscriptions, Epigraphy -CR = CR - Heraldry -CS = CS - Genealogy -CT = CT - Biography -D = D - General History -DA = DA - Great Britain -DAW = DAW - Central Europe -DB = DB - Austria, Liechtenstein, Hungary, Czechoslovakia -DC = DC - France, Andorra, Monaco -DD = DD - Germany -DE = DE - Grecco-Roman World -DF = DF - Greece -DG = DG - Italy, Malta -DH = DH - Low Countries -DJ = DJ - Netherlands (Holland) -DJK = DJK - Eastern Europe (General) -DK = DK - Russia, Soviet Union, Former Soviet Republics, Poland -DL = DL - Northern Europe, Scandinavia -DP = DP - Spain, Portugal -DQ = DQ - Switzerland -DR = DR - Balkan Peninsula -DS = DS - Asia -DT = DT - Africa -DU = DU - Oceania (South Seas) -DX = DX - Gypsies -E = E - United States History -F = F - General American History -G = G - General Geography -GA = GA - Mathematical Geography and Cartography -GB = GB - Physical Geography -GC = GC - Oceanography -GE = GE - Environmental Sciences -GF = GF - Human Ecology and Anthropogeography -GN = GN - Anthropology -GR = GR - Folklore -GT = GT - Manners and Customs -GV = GV - Leisure and Recreation -H = H - Social Science -HA = HA - Statistics -HB = HB - Economic Theory and Demography -HC = HC - Economic History and Conditions -HD = HD - Industries, Land Use, Labor -HE = HE - Transportation and Communications -HF = HF - Commerce -HG = HG - Finance -HJ = HJ - Public Finance -HM = HM - Sociology -HN = HN - Social History and Conditions -HQ = HQ - Family, Marriage, Women -HS = HS - Societies -HT = HT - Communities, Classes, Races -HV = HV - Social Pathology, Criminology -HX = HX - Socialism, Communism, Anarchism -J = J - General Legislature -JA = JA - Political Science -JC = JC - Political Theory -JF = JF - Public Administration -JJ = JJ - North America -JK = JK - United States -JL = JL - Canada and Central America -JQ = JQ - Europe -JS = JS - Local and Municipal Government -JV = JV - Colonization, Immigration -JX = JX - International Law -JZ = JZ - International Relations -K = K - General Law -KB = KB - Religious Law -KBM = KBM - Jewish Law -KBP = KBP - Islamic Law -KBR = KBR - History of Canon Law -KBU = KBU - Catholic Law -KD = KD - United Kingdom and Ireland -KDZ = KDZ - North America -KE = KE - Canada -KF = KF - United States -KG = KG - Mexico and Central America -KH = KH - South America -KJ = KJ - Europe -KL = KL - Asia, Africa, Pacific -KZ = KZ - Law of Nations -L = L - General Education -LA = LA - History of Education -LB = LB - Theory and Practice of Education -LC = LC - Social Aspects of Education -LD = LD - United States -LE = LE - Canada and Central America -LF = LF - Europe -LG = LG - Asia, Africa, Australia, Pacific -LH = LH - School Magazine and Papers -LJ = LJ - Student Fraternities and Societies -LT = LT - Textbooks -M = M - Music -ML = ML - Literature on Music -MT = MT - Instruction and Study -N = N - Visual Arts -NA = NA - Architecture -NB = NB - Sculpture -NC = NC - Drawing, Design, Illustration -ND = ND - Painting -NE = NE - Print Media -NK = NK - Decorative Arts -NX = NX - Arts in General -P = P - Philology and Linguistics -PA = PA - Latin and Greek -PB = PB - Modern and Celtic Languages -PC = PC - Romanic Languages -PD = PD - Germanic Languages -PE = PE - English Languages -PF = PF - West Germanic Languages -PG = PG - Slavic, Baltic, Abanian Languages -PH = PH - Uralic, Basque Languages -PJ = PJ - Oriental -PK = PK - Indo-Iranian -PL = PL - Eastern Asia, Africa, Oceania -PM = PM - Hyperborean, Indian, and Artificial Languages -PN = PN - General Literature -PQ = PQ - French, Italian, Spanish, Portuguese Literature -PR = PR - English Literature -PS = PS - American Literature -PT = PT - European, Asian and African Literature -PZ = PZ - Fiction -Q = Q - General Science -QA = QA - Mathematics -QB = QB - Astronomy -QC = QC - Physics -QD = QD - Chemistry -QE = QE - Geology -QH = QH - Natural History and Biology -QK = QK - Botany -QL = QL - Zoology -QM = QM - Human Anatomy -QP = QP - Physiology -QR = QR - Microbiology -R = R - General Medicine -RA = RA - Public Medicine -RB = RB - Pathology -RC = RC - Internal Medicine -RD = RD - Surgery -RE = RE - Ophthalmology -RF = RF - Otorhinolarynhology -RG = RG - Gynecology and Obstetrics -RJ = RJ - Pediatrics -RK = RK - Dentistry -RL = RL - Dermatology -RM = RM - Therapeutics and Pharmacology -RS = RS - Pharmacy -RT = RT - Nursing -RV = RV - Botanic, Thomsonia, Eclectic Medicine -RX = RX - Homeopathy -RZ = RZ - Other Systems of Medicine -S = S - General Agriculture -SB = SB - Plant Culture -SD = SD - Forestry -SF = SF - Animal Culture -SH = SH - Aquaculture, Fisheries, Angling -SK = SK - Hunting Sports -T = T - General Technology -TA = TA - General and Civil Engineering -TC = TC - Hydraulic and Ocean Engineering -TD = TD - Environmental Technology -TE = TE - Highway Engineering -TF = TF - Railroad Engineering and Operation -TG = TG - Bridge Engineering -TH = TH - Building Construction -TJ = TJ - Mechanical Engineering and Machinery -TK = TK - Electrical and Nuclear Engineering -TL = TL - Motor Vehicles and Aeronautics -TN = TN - Mining Engineering and Metallurgy -TP = TP - Chemical Technology -TR = TR - Photography -TS = TS - Manufactures -TT = TT - Arts and Crafts -TX = TX - Home Economics -U = U - General Military Science -UA = UA - Armies -UB = UB - Military Administration -UC = UC - Maintenance and Transportation -UD = UD - Infantry -UE = UE - Cavalry and Armor -UF = UF - Artillery -UG = UG - Military Engineering and Air Forces -UH = UH - Other Services -V = V - General Naval Science -VA = VA - Navies -VB = VB - Naval Administration -VC = VC - Naval Maintenance -VD = VD - Naval Seamen -VE = VE - Marines -VF = VF - Naval Ordnance -VG = VG - Minor Services -VK = VK - Navigation and Merchant Marine -VM = VM - Naval Architecture, Shipbuilding, Marine Engineering -Z = Z - Books and Writing -ZA = ZA - Information Resources diff --git a/import/translation_maps/collcode_map_de105.properties b/import/translation_maps/collcode_map_de105.properties deleted file mode 100644 index 60cb3c67646d85c04b2461ac5dd965cbeb000930..0000000000000000000000000000000000000000 --- a/import/translation_maps/collcode_map_de105.properties +++ /dev/null @@ -1,42 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Standorte der UB Freiberg, aus LIB_COLLECTION_CODE_DESC -# Siehe auch Ticket #748 - -# alt -##BAI = Bibliographischer Apparat I -##BAII = Bibliographischer Apparat II -#CD = CD-ROM -#DBOD = Datenbank (DBoD) -#EBOOK = Ebook (Einzelkauf) -##EDV = EDV-Abteilung -#FBF = Fachbuchfreihand (FBF) -#FDLN = QUCOSA - Publikationsserver -#FFFH = Freiberger Forschungshefte (FBF) -#FKDB = Kieler Diskussionsbeiträge (FBF) -#FVDI = VDI-Berichte (FBF) -##LEER = -#LFFH = Freiberger Forschungshefte (LS) -#LS = Lesesaal (LS) -#MAG = Magazin -#MAGZw8 = Magazin Zw8 -##NA = Nicht vormerkbar -#WA = Wissenschaftlicher Altbestand - -# jetzt neu: regular expressions wegen Ticket #1573 (doppelte Zuordnung von UBE_DBOD) -pattern_0 = ^CD$=>CD-ROM -pattern_1 = DBOD=>Datenbanken (DBoD) -pattern_2 = ^EBOOK$=>Ebook (Einzelkauf) -pattern_3 = ^FBF$=>Fachbuchfreihand (FBF) -# Ticket #1703: FDLN ausblenden -#pattern_4 = ^FDLN$=>QUCOSA - Publikationsserver -pattern_4 = ^FFFH$=>Freiberger Forschungshefte (FBF) -pattern_5 = ^FKDB$=>Kieler Diskussionsbeiträge (FBF) -pattern_6 = ^FVDI$=>VDI-Berichte (FBF) -pattern_7 = ^LFFH$=>Freiberger Forschungshefte (LS) -pattern_8 = ^LS$=>Lesesaal (LS) -pattern_9 = ^MAG$=>Magazin -pattern_10 = ^MAGZw8$=>Magazin Zw8 -pattern_11 = ^WA$=>Wissenschaftlicher Altbestand -pattern_12 = UBE=>Einzelplatz diff --git a/import/translation_maps/collcode_map_de15.properties b/import/translation_maps/collcode_map_de15.properties deleted file mode 100644 index a9d8bcac353ff56534d5a78c276f1508417f8b50..0000000000000000000000000000000000000000 --- a/import/translation_maps/collcode_map_de15.properties +++ /dev/null @@ -1,70 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Standorte der UBL, aus LIB_COLLECTION_CODE_DESC - -Anw = Magazin / Sonstige -Ausk = Magazin / Sonstige -Bank = Magazin / Sonstige -Ethn = Freihandbereich -FH = Freihandbereich -FHAfr = Freihandbereich -FHAllg = Freihandbereich -FHAmer = Freihandbereich -FHAngl = Freihandbereich -FHArch = Freihandbereich -FHBio = Freihandbereich -FHChem = Freihandbereich -FHEthn = Freihandbereich -FHGeogr = Freihandbereich -FHGeolog = Freihandbereich -FHGerm = Freihandbereich -FHGesch = Freihandbereich -FHGlobStud = Freihandbereich -FHInf = Freihandbereich -FHKinder = Freihandbereich -FHKult = Freihandbereich -FHKunst = Freihandbereich -FHLandw = Freihandbereich -FHLit = Freihandbereich -FHMath = Freihandbereich -FHMed = Freihandbereich -FHMus = Freihandbereich -FHNaturw = Freihandbereich -FHNiederl = Freihandbereich -FHPaed = Freihandbereich -FHPhilol = Freihandbereich -FHPhilos = Freihandbereich -FHPhys = Freihandbereich -FHPolitik = Freihandbereich -FHPsych = Freihandbereich -FHRecht = Freihandbereich -FHRoman = Freihandbereich -FHSOSA = Freihandbereich -FHSkand = Freihandbereich -FHSlaw = Freihandbereich -FHSoz = Freihandbereich -FHSport = Freihandbereich -FHSprach = Freihandbereich -FHTechn = Freihandbereich -FHTheater = Freihandbereich -FHTheol = Freihandbereich -FHWirtsch = Freihandbereich -Frueh = Freihandbereich -GK = Magazin / Sonstige -Indol = Freihandbereich -Jap = Freihandbereich -Keine = Magazin / Sonstige -Klass = Freihandbereich -Korea = Freihandbereich -LBS = Lehrbuchsammlung -LS = Freihandbereich -Oeff = Magazin / Sonstige -Orient = Freihandbereich -Rel = Freihandbereich -SSG1 = Freihandbereich -Sin = Freihandbereich -Straf = Magazin / Sonstige -ZLS = Freihandbereich -Zas = Freihandbereich -Zivil = Magazin / Sonstige diff --git a/import/translation_maps/collcode_map_de520.properties b/import/translation_maps/collcode_map_de520.properties deleted file mode 100644 index d867e95eb5a9bfbf133b51b93acd3819abd56243..0000000000000000000000000000000000000000 --- a/import/translation_maps/collcode_map_de520.properties +++ /dev/null @@ -1,211 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Standorte der HTW Dresden, aus LIB_COLLECTION_CODE_DESC - -A = Bestellung -AA = Bibliographien, Verzeichnisse -AB = Bibliographien, Verzeichnisse -AC = Bibliographien, Verzeichnisse -AD = Bibliographien, Verzeichnisse -AE = Nachschlagewerke, Wörterbücher -AF = Nachschlagewerke, Wörterbücher -AG = Nachschlagewerke, Wörterbücher -AH = Nachschlagewerke, Wörterbücher -AK = Wissenschaftskunde, Museumswesen -AL = Hochschulwesen -AM = Schriftkunde -AN = Buch-, Bibliothekwesen, Informationswiss. -AP1 = Medien-u. Kommunikationswiss. -AP3 = Medien-u. Kommunikationswiss. -AP9 = Medien-u. Kommunikationswiss. -AP995 = Medien-u. Kommunikationswiss. -AR = Umweltschutz, Raumordnung -AV = Serien, Zeitschriften -AW = Serien, Zeitschriften -AX = Serien, Zeitschriften -AY = Serien, Zeitschriften -AZ = Serien, Zeitschriften -B = Theologie -Best = Bestellung -CA = Philosophie -CB = Philosophie -CC = Philosophie -CD = Philosophie -CE = Philosophie -CF = Philosophie -CG = Philosophie -CH = Philosophie -CI = Philosophie -CL = Psychologie -CM = Psychologie -CN = Psychologie -CO = Psychologie -CP = Psychologie -CQ = Psychologie -CR = Psychologie -CS = Psychologie -CT = Psychologie -CU = Psychologie -CV = Psychologie -CW = Psychologie -CX = Psychologie -CY = Psychologie -CZ = Psychologie -D = Pädagogik -E = Sprachen, Sprachwissenschaft -F = Philologie -FL = Fernleihe -G = Sprachen, Sprachwissenschaft -H = Sprachen, Sprachwissenschaft -I = Sprachen, Sprachwissenschaft -K = Sprachen, Sprachwissenschaft -L = Libero -LA = Ethnologie -LB = Ethnologie -LC = Ethnologie -LD = Archäologie, Kunstgeschichte -LE = Archäologie, Kunstgeschichte -LF = Archäologie, Kunstgeschichte -LG = Archäologie, Kunstgeschichte -LH = Archäologie, Kunstgeschichte -LI = Archäologie, Kunstgeschichte -LJ = Archäologie, Kunstgeschichte -LK = Archäologie, Kunstgeschichte -LL = Archäologie, Kunstgeschichte -LM = Archäologie, Kunstgeschichte -LN = Archäologie, Kunstgeschichte -LO = Archäologie, Kunstgeschichte -LP = Musikwiss. -LQ = Musikwiss. -LR = Musikwiss. -LS = Musikwiss. -LT = Musikwiss. -LU = Musikwiss. -LV = Musikwiss. -LW = Musikwiss. -LX = Musikwiss. -LY = Musikwiss. -LZ = Musikwiss. -MA = Politologie -MB = Politologie -MC = Politologie -MD = Politologie -ME = Politologie -MF = Politologie -MG = Politologie -MH = Politologie -MI = Politologie -MJ = Politologie -MK = Politologie -ML = Politologie -MM = Politologie -MN = Soziologie -MO = Soziologie -MP = Soziologie -MQ = Soziologie -MR = Soziologie -MS = Soziologie -MX = Militärwiss. -MY = Militärwiss. -MZ = Militärwiss. -N = Geschichte -P = Recht -Q = Wirtschaft -R = Geographie -SA = Mathematik -SB = Mathematik -SC = Mathematik -SD = Mathematik -SE = Mathematik -SF = Mathematik -SG = Mathematik -SH = Mathematik -SI = Mathematik -SJ = Mathematik -SK = Mathematik -SL = Mathematik -SM = Mathematik -SN = Mathematik -SO = Mathematik -SP = Mathematik -SQ = Informatik -SR = Informatik -SS = Informatik -ST = Informatik -SU = Informatik -TA = Naturwissenschaften allg. -TB = Naturwissenschaften allg. -TC = Naturwissenschaften allg. -TD = Naturwissenschaften allg. -TE = Geologie, Paläontologie -TF = Geologie, Paläontologie -TG = Geologie, Paläontologie -TH = Geologie, Paläontologie -TI = Geologie, Paläontologie -TJ = Geologie, Paläontologie -TK = Geologie, Paläontologie -TL = Geologie, Paläontologie -TM = Geologie, Paläontologie -TN = Geologie, Paläontologie -TO = Geologie, Paläontologie -TP = Geologie, Paläontologie -TQ = Geologie, Paläontologie -TR = Geologie, Paläontologie -TS = Geologie, Paläontologie -TT = Geologie, Paläontologie -TU = Geologie, Paläontologie -TV = Geologie, Paläontologie -TW = Geologie, Paläontologie -TX = Geologie, Paläontologie -TY = Geologie, Paläontologie -TZ = Geologie, Paläontologie -U = Physik -V = Chemie, Pharmazie -WA = Biologie -WB = Biologie -WC = Biologie -WD = Biologie -WE = Biologie -WF = Biologie -WG = Biologie -WH = Biologie -WI = Biologie -WJ = Biologie -WK = Biologie -WL = Biologie -WM = Biologie -WN = Biologie -WO = Biologie -WP = Biologie -WQ = Biologie -WR = Biologie -WS = Biologie -WT = Biologie -WU = Biologie -WV = Biologie -WW = Medizin -WX = Medizin -WY = Medizin -WZ = Medizin -X = Medizin -Y = Medizin -XX = Datenübernahme -ZA = Landwirtschaft, Gartenbau -ZB = Landwirtschaft, Gartenbau -ZC = Landwirtschaft, Gartenbau -ZD = Nutztierwiss., Landbautechnik -ZE = Ernährungswiss., Hauswirtschaft -ZG = Technik allg. -ZH = Architektur -ZI = Bauingenieur- u. Vermessungswesen -ZK = Bergbau- u. Hüttenwesen -ZL = Maschinenbau -ZM = Werkstoffwiss., Fertigungstechnik -ZN = Elektrotechnik, Nachrichtentechnik -ZO = Verkehr, Transport -ZP = Energietechnik -ZQ = MSR-Technik, Automatisierungstechnik -ZS = Handwerk, Gewerbe, Industrien -ZX = Sport -ZY = Sport \ No newline at end of file diff --git a/import/translation_maps/collcode_map_dech1.properties b/import/translation_maps/collcode_map_dech1.properties deleted file mode 100644 index 2576b14b11e864f7c2040df1c42ed6355a0059f7..0000000000000000000000000000000000000000 --- a/import/translation_maps/collcode_map_dech1.properties +++ /dev/null @@ -1,33 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Standorte der UB Chemnitz, aus LIB_COLLECTION_CODE_DESC -# Zur Gruppierung siehe Ticket #750. - - -BK05 = Magazin -F = Freihand -FNA = Freihand -K = -KS = Magazin -LS = Lesesaal -LSCZ = Lesesaal -LSSLS = Lesesaal -M = Magazin - -#BK05 = Kellermagazin BK05, Bereitstellung am folgenden Öffnungstag -#CDROMNetz = Campuslizenz -#FL = Fernleihe nehmend -#FNA = Freihand nicht ausleihbar -#HB = Handbestand -#KS = Kartenschrank, Bereitstellung am folgenden Öffnungstag -#LSCZ = Lesesaal - Sammlung "Prof. Czok" -#LSSLS = Lesesaal - Sammlung "Stiftung Land Sachsen" -#M = Magazin, Bereitstellung am folgenden Öffnungstag -#VW = Verwaltung -#X = Datenübernahme - -#CDROMNetz, FL, VW, X, HB = entfernen -#BK05, KS, M = Magazin -#LS, LSCZ, LSSLS = Lesesaal -#F, FNA = Freihand diff --git a/import/translation_maps/collcode_map_dezi4.properties b/import/translation_maps/collcode_map_dezi4.properties deleted file mode 100644 index 8fed19fc1b04f69940b02c714d95660503777bb7..0000000000000000000000000000000000000000 --- a/import/translation_maps/collcode_map_dezi4.properties +++ /dev/null @@ -1,42 +0,0 @@ -### -# DATA FROM INDEXER = Label -# -# Libero-Standorte der HSZG Zittau/G\u00f6rlitz, aus LIB_COLLECTION_CODE_DESC - -# komplette Code-Liste aus P99: -# Teile sind bei uns als "Bereich" bezeichnet: - -# BB = Buchbinder in Bearbeitung [nicht in finc, ANFRAGE] -# BW = B\u00fccherwagen [nicht in finc] -FH = Freihand -FHGR = Freihand -FHMGR = Medienregal -FHMZI = Medienregal -# FL = Fernleihe [nicht in finc] -# GR = Zweigbibliothek G\u00f6rlitz [nicht in "Bereich" ] -# HS = Hochschule Zittau/G\u00f6rlitz [nicht in finc] -# IHI = Internationales Hochschulinstitut [nicht in finc ] -# K = Kst. Zeitschriften Zittau [nicht in finc] -# KM = Magazin Zittau [nicht in finc] -# L = LIBERO [nicht in finc] -LBGR = Loseblattausgabe -LBS = Lehrbuchsammlung -LBSP = Lehrbuchsammlung Pr\u00e4senz -LR = Freihand Pr\u00e4senz -LRGR = Freihand Pr\u00e4senz -LRKS = Kartenschrank Pr\u00e4senz -M = Magazin -MGR = Magazin -# MGRB = Magazin G\u00f6rlitz zum Buchbinder [nicht in finc] -MOG = Magazin -MP = Magazin Pr\u00e4senz -MS = Magazin Sonderbestand -PGR = Freihand Pr\u00e4senz -# RFL = Reservierung Fernleihe [nicht in finc] -# RGR = Reservierung G\u00f6rlitz [nicht in finc] -# RZI = Reservierung Zittau [nicht in finc] -SAPP = Semesterapparat -TGR = Theke -THEKE = Theke -VIZI = Sonderbestand -# ZI = Hochschulbibliothek Zittau [nicht in "Bereich"] \ No newline at end of file diff --git a/import/translation_maps/collcode_map_dezwi2.properties b/import/translation_maps/collcode_map_dezwi2.properties deleted file mode 100644 index 479f49093bd9754ffdc7d6de7cc9e0ae50fef1a2..0000000000000000000000000000000000000000 --- a/import/translation_maps/collcode_map_dezwi2.properties +++ /dev/null @@ -1,33 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Standorte der WHZ, aus LIB_COLLECTION_CODE_DESC - -1.OG = 1.OG Zeitschriften -2.OG = 2.OG Zeitschriften -BUBI = Magazin / Buchbinder -Buchbinder = beim Buchbinder -Dis = Diskettenschrank -EG = EG Zeitschriften -F1 = Medientrog -F2 = Infobestand -F3 = Ausstellung -F3E = Freihand -F3R = Freihand -F4 = Zeitschriften -F5 = Freihand -F6 = Mediothek -F7 = Altbestand -F8 = Belletristik -F8K = Mini-Kinderbibliothek -F9 = Hörbücher -FL = Fernleihe -GG = Geschäftsgang 1.OG -IN = Internet (siehe Link) -INT = Intranet -KL = KL -Mag = Magazin -Map = Mappenschrank -NOR = Normen -UG = UG Zeitschriften -ZLS = Zeitschriftenlesesaal diff --git a/import/translation_maps/collection_map.properties b/import/translation_maps/collection_map.properties deleted file mode 100644 index 30d89a6a09884cd115fc21be03a6e6be73ef9cb0..0000000000000000000000000000000000000000 --- a/import/translation_maps/collection_map.properties +++ /dev/null @@ -1,88 +0,0 @@ -# Nationallizenzen -ZDB-1-DFL = Deutschsprachige Frauenliteratur des 18. & 19. Jahrhunderts, Teil 1 und 2 -ZDB-1-ECC = Eighteenth Century Collection Online -ZDB-1-EEB = Early English books online -ZDB-1-ELW = English Language Womens' Literature of the 18th & 19th Centuries -ZDB-1-MME = Making of the Modern World -ZDB-1-MML = Making of the Modern Law - Legal Treatises 1800-1926 / MOML 1 -ZDB-1-WFR = Wales related fiction of the romantic period -# ZDB-1-NEL = E-Books Net Library -ZDB-1-NEL = EBSCOhost eBook Collection -ZDB-1-MYA = Mystik & Aszese des 16. - 19. Jahrhunderts -ZDB-1-RTH = Religion & Theologie des 16. - 19. Jahrhunderts -ZDB-1-EIO = Casalini - Editoria Italiana Online -# ZDB-1-NEF = E-Books von NetLibrary -ZDB-1-NEF = EBSCOhost eBook Collection -ZDB-1-EAI = Early American Imprints, Series I - Evans 1639-1800 / EAI -ZDB-1-BEC = Brill Nijhoff E-Books Collections, Human Rights and Humanitarian Law -ZDB-1-KEB = Karger eBooks Collection 1997-2009 -ZDB-1-RSE = RSC eBook Collection, Royal Society of Chemistry, 1968-2009 -ZDB-1-DLC = Digital Library of the Catholic Reformation -ZDB-1-DLP = Digital Library of the Classic Protestant Texts -ZDB-1-CLF = Corpus de la première littérature francophone de l'Afrique noire -ZDB-1-ELC = Elsevier eBook Collection on Science Direct - Mathematics -ZDB-1-TES = Teatro Espanol del Siglo de Oro / TESO -ZDB-1-CDC = Corvey Digital Collection - Literature of the 18th and 19th Centuries -ZDB-1-ALD = Aristoteles Latinus Database -ZDB-1-SOT = Social Theory -ZDB-1-LEO = Der Literarische Expressionismus Online -ZDB-1-EMO = Empire Online -ZDB-1-MOR = Music Online Reference -ZDB-1-EAP = Early American Imprints, Series II - Shaw/Shoemaker 1801-1819 / EAI II -ZDB-1-SSB = Primary Sources / Slavic Studies Bundle -ZDB-1-WBA = World Bank E-Library Archive -ZDB-1-SSB = Primary Sources / Slavic Studies -ZDB-1-SCM = Springer eBook Collection / Chemistry and Materials Science 2005-2008 -ZDB-1-SMI = Springer eBook Collection / Medicine 2005-2008 -ZDB-1-PAO = Periodicals Archive Online / PAO 1802-2000 -# "echte" Quellen -0 = Verbunddaten SWB -1 = Project Gutenberg -3 = Nielsen Book Data - NE print -4 = Schweitzer EBL - PDA -5 = Naxos Music Library -6 = Music Online Reference -7 = Periodicals Archive Online -8 = Lizenzfreie Online-Ressourcen -9 = Early Music Online -10 = Music Treasures Consortium -11 = Bibliographie des Musikschrifttums online -12 = B3Kat -13 = Diss online -14 = Répertoire International des Sources Musicale -15 = Petrucci Musikbibliothek -16 = Elsevier E-Books -#17 = Nationallizenzen E-Books # Ticket #2117 (default value? map to null - #17 = null) -18 = Oxford Scholarship Online -19 = Kubon & Sagner Digital -20 = Gallica (BNF) -# 21 = GBV, zur Zeit nur Ausschnitt Hochschule f\u00fcr Musik Weimar -21 = GBV Musikdigitalisate -22 = Qucosa -24 = ebrary E-Books -26 = DOAB Directory of Open Access Books -27 = Munzinger -28 = DOAJ Directory of Open Access Journals -29 = Handwörterbuch der musikalischen Terminologie -30 = SSOAR Social Science Open Access Repository -31 = Opera in Video -# -34 = PQDT Open -35 = Hathi Trust -# -39 = Persée -40 = Dance in Video -41 = Classical Music in Video -42 = Classical Scores Library II -44 = Deutsches Textarchiv -# -46 = de Gruyter eBooks -47 = Vahlen eLibrary -# -# Kollektionen, die Bestandteil einer Quelle sind -AMSP = American Space -DFG1 = Sammlung C. F. Becker -TRCS = Taiwan Resource Center for Chinese Studies -qucosa = Qucosa -pdam = MyiLibrary -KEY = Schlüssel diff --git a/import/translation_maps/composition_era_map.properties b/import/translation_maps/composition_era_map.properties deleted file mode 100644 index dc3376e1434c31e081bb9bc773a67632e485cf73..0000000000000000000000000000000000000000 --- a/import/translation_maps/composition_era_map.properties +++ /dev/null @@ -1,57 +0,0 @@ -a = B.C. -b = B.C. -c = B.C. -d = B.C. -e = 1st Century -f = 2nd Century -g = 3rd Century -h = 4th Century -i = 5th Century -j = 6th Century -k = 7th Century -l = 8th Century -m = 9th Century -n = 10th Century -o = 11th Century -p = 12th Century -q = 13th Century -r = 14th Century -s = 15th Century -t = 16th Century -u = 17th Century -v = 18th Century -v0 = 1700's -v1 = 1710's -v2 = 1720's -v3 = 1730's -v4 = 1740's -v5 = 1750's -v6 = 1760's -v7 = 1770's -v8 = 1780's -v9 = 1790's -w = 19th Century -w0 = 1800's -w1 = 1810's -w2 = 1820's -w3 = 1830's -w4 = 1840's -w5 = 1850's -w6 = 1860's -w7 = 1870's -w8 = 1880's -w9 = 1890's -x = 20th Century -x0 = 1900's -x1 = 1910's -x2 = 1920's -x3 = 1930's -x4 = 1940's -x5 = 1950's -x6 = 1960's -x7 = 1970's -x8 = 1980's -x9 = 1990's -y = 21st Century -y0 = 2000's -y1 = 2010's diff --git a/import/translation_maps/country_map.properties b/import/translation_maps/country_map.properties deleted file mode 100644 index 852a9ecb7d63eab2fd4c37dc7fb1769e4efa2758..0000000000000000000000000000000000000000 --- a/import/translation_maps/country_map.properties +++ /dev/null @@ -1,379 +0,0 @@ -# Map 3 letter Country/Location Code (in 008, bytes 15-17) to User Friendly Name -# includes discontinued codes, because they're probably in our data - -#Two-character codes are left justified and the unused position contains a blank - -aa = Albania -abc = Alberta, Canada -ac = Ashmore and Cartier Islands -aca = Australian Capital Territory -ae = Algeria -af = Afghanistan -ag = Argentina -ai = Anguilla -ai = Armenia (Republic) -air = Armenia (Republic) -aj = Azerbaijan -ajr = Azerbaijan -aku = Alaska, United States -alu = Alabama, United States -am = Anguilla -an = Andorra -ao = Angola -aq = Antigua and Barbuda -aru = Arkansas, United States -as = American Samoa -at = Australia -au = Austria -aw = Aruba -ay = Antarctica -azu = Arizona, United States -ba = Bahrain -bb = Barbados -bcc = British Columbia, Canada -bd = Burundi -be = Belgium -bf = Bahamas -bg = Bangladesh -bh = Belize -bi = British Indian Ocean Territory -bl = Brazil -bm = Bermuda Islands -bn = Bosnia and Hercegovina -bo = Bolivia -bp = Solomon Islands -br = Burma -bs = Botswana -bt = Bhutan -bu = Bulgaria -bv = Bouvet Island -bw = Belarus -bwr = Belarus -bx = Brunei -cau = California, United States -cb = Cambodia -cc = China -cd = Chad -ce = Sri Lanka -cf = Congo (Brazzaville) -cg = Congo (Democratic Republic) -ch = China (Republic : 1949- ) -ci = Croatia -cj = Cayman Islands -ck = Colombia -cl = Chile -cm = Cameroon -cn = Canada -cou = Colorado, United States -cp = Canton and Enderbury Islands -cq = Comoros -cr = Costa Rica -cs = Czechoslovakia -ctu = Connecticut, United States -cu = Cuba -cv = Cape Verde -cw = Cook Islands -cx = Central African Republic -cy = Cyprus -cz = Canal Zone -dcu = District of Columbia, United States -deu = Delaware, United States -dk = Denmark -dm = Benin -dq = Dominica -dr = Dominican Republic -ea = Eritrea -ec = Ecuador -eg = Equatorial Guinea -em = East Timor -enk = England, United Kingdom -er = Estonia -err = Estonia -es = El Salvador -et = Ethiopia -fa = Faroe Islands -fg = French Guiana -fi = Finland -fj = Fiji -fk = Falkland Islands -flu = Florida, United States -fm = Micronesia (Federated States) -fp = French Polynesia -fr = France -fs = Terres australes et antarctiques françaises -ft = Djibouti -gau = Georgia, United States -gb = Kiribati -gd = Grenada -ge = Germany (East) -gh = Ghana -gi = Gibraltar -gl = Greenland -gm = Gambia -gn = Gilbert and Ellice Islands -go = Gabon -gp = Guadeloupe -gr = Greece -gs = Georgia (Republic) -gsr = Georgia (Republic) -gt = Guatemala -gu = Guam -gv = Guinea -gw = Germany -gy = Guyana -gz = Gaza Strip -hiu = Hawaii, United States -hk = Hong Kong -hm = Heard and McDonald Islands -ho = Honduras -ht = Haiti -hu = Hungary -iau = Iowa, United States -ic = Iceland -idu = Idaho, United States -ie = Ireland -ii = India -ilu = Illinois, United States -inu = Indiana, United States -io = Indonesia -iq = Iraq -ir = Iran -is = Israel -it = Italy -iu = Israel-Syria Demilitarized Zones -iv = Côte d'Ivoire -iw = Israel-Jordan Demilitarized Zones -iy = Iraq-Saudi Arabia Neutral Zone -ja = Japan -ji = Johnston Atoll -jm = Jamaica -jn = Jan Mayen -jo = Jordan -ke = Kenya -kg = Kyrgyzstan -kgr = Kyrgyzstan -kn = Korea (North) -ko = Korea (South) -ksu = Kansas, United States -ku = Kuwait -kv = Kosovo -kyu = Kentucky, United States -kz = Kazakhstan -kzr = Kazakhstan -lau = Louisiana, United States -lb = Liberia -le = Lebanon -lh = Liechtenstein -li = Lithuania -lir = Lithuania -ln = Central and Southern Line Islands -lo = Lesotho -ls = Laos -lu = Luxembourg -lv = Latvia -lvr = Latvia -ly = Libya -mau = Massachusetts, United States -mbc = Manitoba, Canada -mc = Monaco -mdu = Maryland, United States -meu = Maine, United States -mf = Mauritius -mg = Madagascar -mh = Macao -miu = Michigan, United States -mj = Montserrat -mk = Oman -ml = Mali -mm = Malta -mnu = Minnesota, United States -mo = Montenegro -mou = Missouri, United States -mp = Mongolia -mq = Martinique -mr = Morocco -msu = Mississippi, United States -mtu = Montana, United States -mu = Mauritania -mv = Moldova -mvr = Moldova -mw = Malawi -mx = Mexico -my = Malaysia -mz = Mozambique -na = Netherlands Antilles -nbu = Nebraska, United States -ncu = North Carolina, United States -ndu = North Dakota, United States -ne = Netherlands -nfc = Newfoundland and Labrador, Canada -ng = Niger -nhu = New Hampshire, United States -nik = Northern Ireland, United Kingdom -nju = New Jersey, United States -nkc = New Brunswick, Canada -nl = New Caledonia -nm = Northern Mariana Islands -nmu = New Mexico, United States -nn = Vanuatu -no = Norway -np = Nepal -nq = Nicaragua -nr = Nigeria -nsc = Nova Scotia, Canada -ntc = Northwest Territories, Canada -nu = Nauru -nuc = Nunavut, Canada -nvu = Nevada, United States -nw = Northern Mariana Islands -nx = Norfolk Island -nyu = New York (State), United States -nz = New Zealand -ohu = Ohio, United States -oku = Oklahoma, United States -onc = Ontario, Canada -oru = Oregon, United States -ot = Mayotte -pau = Pennsylvania, United States -pc = Pitcairn Island -pe = Peru -pf = Paracel Islands -pg = Guinea-Bissau -ph = Philippines -pic = Prince Edward Island, Canada -pk = Pakistan -pl = Poland -pn = Panama -po = Portugal -pp = Papua New Guinea -pr = Puerto Rico -pt = Portuguese Timor -pw = Palau -py = Paraguay -qa = Qatar -qea = Queensland, Australia -quc = Québec (Province), Canada -rb = Serbia -re = Réunion -rh = Zimbabwe -riu = Rhode Island, United States -rm = Romania -ru = Russia (Federation) -rur = Russia (Federation) -rw = Rwanda -ry = Ryukyu Islands, Southern -sa = South Africa -sb = Svalbard -scu = South Carolina, United States -sdu = South Dakota, United States -se = Seychelles -sf = Sao Tome and Principe -sg = Senegal -sh = Spanish North Africa -si = Singapore -sj = Sudan -sk = Sikkim -sl = Sierra Leone -sm = San Marino -snc = Saskatchewan, Canada -so = Somalia -sp = Spain -sq = Swaziland -sr = Surinam -ss = Western Sahara -stk = Scotland, United Kingdom -su = Saudi Arabia -sv = Swan Islands -sw = Sweden -sx = Namibia -sy = Syria -sz = Switzerland -ta = Tajikistan -tar = Tajikistan -tc = Turks and Caicos Islands -tg = Togo -th = Thailand -ti = Tunisia -tk = Turkmenistan -tkr = Turkmenistan -tl = Tokelau -tma = Tasmania, Australia -tnu = Tennessee, United States -to = Tonga -tr = Trinidad and Tobago -ts = United Arab Emirates -tt = Trust Territory of the Pacific Islands -tu = Turkey -tv = Tuvalu -txu = Texas, United States -tz = Tanzania -ua = Egypt -uc = United States Misc. Caribbean Islands -ug = Uganda -ui = United Kingdom Misc. Islands -uik = United Kingdom Misc. Islands -uk = United Kingdom -un = Ukraine -unr = Ukraine -up = United States Misc. Pacific Islands -ur = Soviet Union -us = United States -utu = Utah, United States -uv = Burkina Faso -uy = Uruguay -uz = Uzbekistan -uzr = Uzbekistan -vau = Virginia, United States -vb = British Virgin Islands -vc = Vatican City -ve = Venezuela -vi = Virgin Islands of the United States -vm = Vietnam -vn = Vietnam, North -#vp = Various places -vra = Victoria, Australia -vs = Vietnam, South -vtu = Vermont, United States -wau = Washington (State), United States -wb = West Berlin -wea = Western Australia -wf = Wallis and Futuna -wiu = Wisconsin, United States -wj = West Bank of the Jordan River -wk = Wake Island -wlk = Wales, United Kingdom -ws = Samoa -wvu = West Virginia, United States -wyu = Wyoming, United States -xa = Christmas Island (Indian Ocean) -xb = Cocos (Keeling) Islands -xc = Maldives -xd = Saint Kitts-Nevis -xe = Marshall Islands -xf = Midway Islands -xga = Coral Sea Islands Territory, Australia -xh = Niue -xi = Saint Kitts-Nevis-Anguilla -xj = Saint Helena -xk = Saint Lucia -xl = Saint Pierre and Miquelon -xm = Saint Vincent and the Grenadines -xn = Macedonia -xna = New South Wales, Australia -xo = Slovakia -xoa = Northern Territory, Australia -xp = Spratly Island -xr = Czech Republic -xra = South Australia -xs = South Georgia and the South Sandwich Islands -xv = Slovenia -#xx = No place, unknown, or undetermined -xxc = Canada -xxk = United Kingdom -xxr = Soviet Union -xxu = United States -ye = Yemen -ykc = Yukon Territory, Canada -ys = Yemen (People's Democratic Republic) -yu = Serbia and Montenegro -za = Zambia diff --git a/import/translation_maps/ddc22_map.properties b/import/translation_maps/ddc22_map.properties deleted file mode 100644 index 550cd845a35313b238c36700f728abd57c31058f..0000000000000000000000000000000000000000 --- a/import/translation_maps/ddc22_map.properties +++ /dev/null @@ -1,1113 +0,0 @@ -hundreds.000 = 000 - Computer science, information & general works -hundreds.100 = 100 - Philosophy & psychology -hundreds.200 = 200 - Religion -hundreds.300 = 300 - Social sciences -hundreds.400 = 400 - Language -hundreds.500 = 500 - Science -hundreds.600 = 600 - Technology -hundreds.700 = 700 - Arts & recreation -hundreds.800 = 800 - Literature -hundreds.900 = 900 - History & geography -hundreds = [Unassigned] -tens.000 = 000 - Computer science, knowledge & systems -tens.010 = 010 - Bibliographies -tens.020 = 020 - Library & information sciences -tens.030 = 030 - Encyclopedias & books of facts -tens.040 = 040 - [Unassigned] -tens.050 = 050 - Magazines, journals & serials -tens.060 = 060 - Associations, organizations & museums -tens.070 = 070 - News media, journalism & publishing -tens.080 = 080 - Quotations -tens.090 = 090 - Manuscripts & rare books -tens.100 = 100 - Philosophy -tens.110 = 110 - Metaphysics -tens.120 = 120 - Epistemology -tens.130 = 130 - Parapsychology & occultism -tens.140 = 140 - Philosophical schools of thought -tens.150 = 150 - Psychology -tens.160 = 160 - Logic -tens.170 = 170 - Ethics -tens.180 = 180 - Ancient, medieval & eastern philosophy -tens.190 = 190 - Modern western philosophy -tens.200 = 200 - Religion -tens.210 = 210 - Philosophy & theory of religion -tens.220 = 220 - The Bible -tens.230 = 230 - Christianity & Christian theology -tens.240 = 240 - Christian practice & observance -tens.250 = 250 - Christian pastoral practice & religious orders -tens.260 = 260 - Christian organization, social work & worship -tens.270 = 270 - History of Christianity -tens.280 = 280 - Christian denominations -tens.290 = 290 - Other religions -tens.300 = 300 - Social sciences, sociology & anthropology -tens.310 = 310 - Statistics -tens.320 = 320 - Political science -tens.330 = 330 - Economics -tens.340 = 340 - Law -tens.350 = 350 - Public administration & military science -tens.360 = 360 - Social problems & social services -tens.370 = 370 - Education -tens.380 = 380 - Commerce, communications & transportation -tens.390 = 390 - Customs, etiquette & folklore -tens.400 = 400 - Language -tens.410 = 410 - Linguistics -tens.420 = 420 - English & Old English languages -tens.430 = 430 - German & related languages -tens.440 = 440 - French & related languages -tens.450 = 450 - Italian, Romanian & related languages -tens.460 = 460 - Spanish & Portuguese languages -tens.470 = 470 - Latin & Italic languages -tens.480 = 480 - Classical & modern Greek languages -tens.490 = 490 - Other languages -tens.500 = 500 - Science -tens.510 = 510 - Mathematics -tens.520 = 520 - Astronomy -tens.530 = 530 - Physics -tens.540 = 540 - Chemistry -tens.550 = 550 - Earth sciences & geology -tens.560 = 560 - Fossils & prehistoric life -tens.570 = 570 - Life sciences; biology -tens.580 = 580 - Plants (Botany) -tens.590 = 590 - Animals (Zoology) -tens.600 = 600 - Technology -tens.610 = 610 - Medicine & health -tens.620 = 620 - Engineering -tens.630 = 630 - Agriculture -tens.640 = 640 - Home & family management -tens.650 = 650 - Management & public relations -tens.660 = 660 - Chemical engineering -tens.670 = 670 - Manufacturing -tens.680 = 680 - Manufacture for specific uses -tens.690 = 690 - Building & construction -tens.700 = 700 - Arts -tens.710 = 710 - Landscaping & area planning -tens.720 = 720 - Architecture -tens.730 = 730 - Sculpture, ceramics & metalwork -tens.740 = 740 - Drawing & decorative arts -tens.750 = 750 - Painting -tens.760 = 760 - Graphic arts -tens.770 = 770 - Photography & computer art -tens.780 = 780 - Music -tens.790 = 790 - Sports, games & entertainment -tens.800 = 800 - Literature, rhetoric & criticism -tens.810 = 810 - American literature in English -tens.820 = 820 - English & Old English literatures -tens.830 = 830 - German & related literatures -tens.840 = 840 - French & related literatures -tens.850 = 850 - Italian, Romanian & related literatures -tens.860 = 860 - Spanish & Portuguese literatures -tens.870 = 870 - Latin & Italic literatures -tens.880 = 880 - Classical & modern Greek literatures -tens.890 = 890 - Other literatures -tens.900 = 900 - History -tens.910 = 910 - Geography & travel -tens.920 = 920 - Biography & genealogy -tens.930 = 930 - History of ancient world (to ca. 499) -tens.940 = 940 - History of Europe -tens.950 = 950 - History of Asia -tens.960 = 960 - History of Africa -tens.970 = 970 - History of North America -tens.980 = 980 - History of South America -tens.990 = 990 - History of other areas -tens = [Unassigned] -ones.000 = 000 - Computer science, information & general works -ones.001 = 001 - Knowledge -ones.002 = 002 - The book -ones.003 = 003 - Systems -ones.004 = 004 - Data processing & computer science -ones.005 = 005 - Computer programming, programs & data -ones.006 = 006 - Special computer methods -ones.007 = 007 - [Unassigned] -ones.008 = 008 - [Unassigned] -ones.009 = 009 - [Unassigned] -ones.010 = 010 - Bibliography -ones.011 = 011 - Bibliographies -ones.012 = 012 - Bibliographies of individuals -ones.013 = 013 - [Unassigned] -ones.014 = 014 - Bibliographies of anonymous & pseudonymous works -ones.015 = 015 - Bibliographies of works from specific places -ones.016 = 016 - Bibliographies of works on specific subjects -ones.017 = 017 - General subject catalogs -ones.018 = 018 - Catalogs arranged by author, date, etc. -ones.019 = 019 - Dictionary catalogs -ones.020 = 020 - Library & information sciences -ones.021 = 021 - Library relationships -ones.022 = 022 - Administration of physical plant -ones.023 = 023 - Personnel management -ones.024 = 024 - [Unassigned] -ones.025 = 025 - Library operations -ones.026 = 026 - Libraries for specific subjects -ones.027 = 027 - General libraries -ones.028 = 028 - Reading & use of other information media -ones.029 = 029 - [Unassigned] -ones.030 = 030 - General encyclopedic works -ones.031 = 031 - Encyclopedias in American English -ones.032 = 032 - Encyclopedias in English -ones.033 = 033 - Encyclopedias in other Germanic languages -ones.034 = 034 - Encyclopedias in French, Occitan & Catalan -ones.035 = 035 - Encyclopedias in Italian, Romanian & related languages -ones.036 = 036 - Encyclopedias in Spanish & Portuguese -ones.037 = 037 - Encyclopedias in Slavic languages -ones.038 = 038 - Encyclopedias in Scandinavian languages -ones.039 = 039 - Encyclopedias in other languages -ones.040 = 040 - [Unassigned] -ones.041 = 041 - [Unassigned] -ones.042 = 042 - [Unassigned] -ones.043 = 043 - [Unassigned] -ones.044 = 044 - [Unassigned] -ones.045 = 045 - [Unassigned] -ones.046 = 046 - [Unassigned] -ones.047 = 047 - [Unassigned] -ones.048 = 048 - [Unassigned] -ones.049 = 049 - [Unassigned] -ones.050 = 050 - General serial publications -ones.051 = 051 - Serials in American English -ones.052 = 052 - Serials in English -ones.053 = 053 - Serials in other Germanic languages -ones.054 = 054 - Serials in French, Occitan & Catalan -ones.055 = 055 - Serials in Italian, Romanian & related languages -ones.056 = 056 - Serials in Spanish & Portuguese -ones.057 = 057 - Serials in Slavic languages -ones.058 = 058 - Serials in Scandinavian languages -ones.059 = 059 - Serials in other languages -ones.060 = 060 - General organizations & museum science -ones.061 = 061 - Organizations in North America -ones.062 = 062 - Organizations in British Isles; in England -ones.063 = 063 - Organizations in central Europe; in Germany -ones.064 = 064 - Organizations in France & Monaco -ones.065 = 065 - Organizations in Italy & adjacent islands -ones.066 = 066 - Organizations in Iberian Peninsula & adjacent islands -ones.067 = 067 - Organizations in eastern Europe; in Russia -ones.068 = 068 - Organizations in other geographic areas -ones.069 = 069 - Museum science -ones.070 = 070 - News media, journalism & publishing -ones.071 = 071 - Newspapers in North America -ones.072 = 072 - Newspapers in British Isles; in England -ones.073 = 073 - Newspapers in central Europe; in Germany -ones.074 = 074 - Newspapers in France & Monaco -ones.075 = 075 - Newspapers in Italy & adjacent islands -ones.076 = 076 - Newspapers in Iberian Peninsula & adjacent islands -ones.077 = 077 - Newspapers in eastern Europe; in Russia -ones.078 = 078 - Newspapers in Scandinavia -ones.079 = 079 - Newspapers in other geographic areas -ones.080 = 080 - General collections -ones.081 = 081 - Collections in American English -ones.082 = 082 - Collections in English -ones.083 = 083 - Collections in other Germanic languages -ones.084 = 084 - Collections in French, Occitan & Catalan -ones.085 = 085 - Collections in Italian, Romanian & related languages -ones.086 = 086 - Collections in Spanish & Portuguese -ones.087 = 087 - Collections in Slavic languages -ones.088 = 088 - Collections in Scandinavian languages -ones.089 = 089 - Collections in other languages -ones.090 = 090 - Manuscripts & rare books -ones.091 = 091 - Manuscripts -ones.092 = 092 - Block books -ones.093 = 093 - Incunabula -ones.094 = 094 - Printed books -ones.095 = 095 - Books notable for bindings -ones.096 = 096 - Books notable for illustrations -ones.097 = 097 - Books notable for ownership or origin -ones.098 = 098 - Prohibited works, forgeries & hoaxes -ones.099 = 099 - Books notable for format -ones.100 = 100 - Philosophy & psychology -ones.101 = 101 - Theory of philosophy -ones.102 = 102 - Miscellany -ones.103 = 103 - Dictionaries & encyclopedias -ones.104 = 104 - [Unassigned] -ones.105 = 105 - Serial publications -ones.106 = 106 - Organizations & management -ones.107 = 107 - Education, research & related topics -ones.108 = 108 - Kinds of persons treatment -ones.109 = 109 - Historical & collected persons treatment -ones.110 = 110 - Metaphysics -ones.111 = 111 - Ontology -ones.112 = 112 - [Unassigned] -ones.113 = 113 - Cosmology -ones.114 = 114 - Space -ones.115 = 115 - Time -ones.116 = 116 - Change -ones.117 = 117 - Structure -ones.118 = 118 - Force & energy -ones.119 = 119 - Number & quantity -ones.120 = 120 - Epistemology, causation & humankind -ones.121 = 121 - Epistemology -ones.122 = 122 - Causation -ones.123 = 123 - Determinism & indeterminism -ones.124 = 124 - Teleology -ones.125 = 125 - [Unassigned] -ones.126 = 126 - The self -ones.127 = 127 - The unconscious & the subconscious -ones.128 = 128 - Humankind -ones.129 = 129 - Origin & destiny of individual souls -ones.130 = 130 - Parapsychology & occultism -ones.131 = 131 - Parapsychological & occult methods -ones.132 = 132 - [Unassigned] -ones.133 = 133 - Specific topics in parapsychology & occultism -ones.134 = 134 - [Unassigned] -ones.135 = 135 - Dreams & mysteries -ones.136 = 136 - [Unassigned] -ones.137 = 137 - Divinatory graphology -ones.138 = 138 - Physiognomy -ones.139 = 139 - Phrenology -ones.140 = 140 - Specific philosophical schools -ones.141 = 141 - Idealism & related systems -ones.142 = 142 - Critical philosophy -ones.143 = 143 - Bergsonism & intuitionism -ones.144 = 144 - Humanism & related systems -ones.145 = 145 - Sensationalism -ones.146 = 146 - Naturalism & related systems -ones.147 = 147 - Pantheism & related systems -ones.148 = 148 - Eclecticism, liberalism & traditionalism -ones.149 = 149 - Other philosophical systems -ones.150 = 150 - Psychology -ones.151 = 151 - [Unassigned] -ones.152 = 152 - Perception, movement, emotions & drives -ones.153 = 153 - Mental processes & intelligence -ones.154 = 154 - Subconscious & altered states -ones.155 = 155 - Differential & developmental psychology -ones.156 = 156 - Comparative psychology -ones.157 = 157 - [Unassigned] -ones.158 = 158 - Applied psychology -ones.159 = 159 - [Unassigned] -ones.160 = 160 - Logic -ones.161 = 161 - Induction -ones.162 = 162 - Deduction -ones.163 = 163 - [Unassigned] -ones.164 = 164 - [Unassigned] -ones.165 = 165 - Fallacies & sources of error -ones.166 = 166 - Syllogisms -ones.167 = 167 - Hypotheses -ones.168 = 168 - Argument & persuasion -ones.169 = 169 - Analogy -ones.170 = 170 - Ethics -ones.171 = 171 - Ethical systems -ones.172 = 172 - Political ethics -ones.173 = 173 - Ethics of family relationships -ones.174 = 174 - Occupational ethics -ones.175 = 175 - Ethics of recreation & leisure -ones.176 = 176 - Ethics of sex & reproduction -ones.177 = 177 - Ethics of social relations -ones.178 = 178 - Ethics of consumption -ones.179 = 179 - Other ethical norms -ones.180 = 180 - Ancient, medieval & eastern philosophy -ones.181 = 181 - Eastern philosophy -ones.182 = 182 - Pre-Socratic Greek philosophies -ones.183 = 183 - Socratic & related philosophies -ones.184 = 184 - Platonic philosophy -ones.185 = 185 - Aristotelian philosophy -ones.186 = 186 - Skeptic & Neoplatonic philosophies -ones.187 = 187 - Epicurean philosophy -ones.188 = 188 - Stoic philosophy -ones.189 = 189 - Medieval western philosophy -ones.190 = 190 - Modern western philosophy -ones.191 = 191 - Philosophy of United States & Canada -ones.192 = 192 - Philosophy of British Isles -ones.193 = 193 - Philosophy of Germany & Austria -ones.194 = 194 - Philosophy of France -ones.195 = 195 - Philosophy of Italy -ones.196 = 196 - Philosophy of Spain & Portugal -ones.197 = 197 - Philosophy of former Soviet Union -ones.198 = 198 - Philosophy of Scandinavia -ones.199 = 199 - Philosophy in other geographic areas -ones.200 = 200 - Religion -ones.201 = 201 - Religious mythology & social theology -ones.202 = 202 - Doctrines -ones.203 = 203 - Public worship & other practices -ones.204 = 204 - Religious experience, life & practice -ones.205 = 205 - Religious ethics -ones.206 = 206 - Leaders & organization -ones.207 = 207 - Missions & religious education -ones.208 = 208 - Sources -ones.209 = 209 - Sects & reform movements -ones.210 = 210 - Philosophy & theory of religion -ones.211 = 211 - Concepts of God -ones.212 = 212 - Existence, knowability & attributes of God -ones.213 = 213 - Creation -ones.214 = 214 - Theodicy -ones.215 = 215 - Science & religion -ones.216 = 216 - [Unassigned] -ones.217 = 217 - [Unassigned] -ones.218 = 218 - Humankind -ones.219 = 219 - [Unassigned] -ones.220 = 220 - Bible -ones.221 = 221 - Old Testament (Tanakh) -ones.222 = 222 - Historical books of Old Testament -ones.223 = 223 - Poetic books of Old Testament -ones.224 = 224 - Prophetic books of Old Testament -ones.225 = 225 - New Testament -ones.226 = 226 - Gospels & Acts -ones.227 = 227 - Epistles -ones.228 = 228 - Revelation (Apocalypse) -ones.229 = 229 - Apocrypha & pseudepigrapha -ones.230 = 230 - Christianity & Christian theology -ones.231 = 231 - God -ones.232 = 232 - Jesus Christ & his family -ones.233 = 233 - Humankind -ones.234 = 234 - Salvation & grace -ones.235 = 235 - Spiritual beings -ones.236 = 236 - Eschatology -ones.237 = 237 - [Unassigned] -ones.238 = 238 - Creeds & catechisms -ones.239 = 239 - Apologetics & polemics -ones.240 = 240 - Christian moral & devotional theology -ones.241 = 241 - Christian ethics -ones.242 = 242 - Devotional literature -ones.243 = 243 - Evangelistic writings for individuals -ones.244 = 244 - [Unassigned] -ones.245 = 245 - [Unassigned] -ones.246 = 246 - Use of art in Christianity -ones.247 = 247 - Church furnishings & articles -ones.248 = 248 - Christian experience, practice & life -ones.249 = 249 - Christian observances in family life -ones.250 = 250 - Christian orders & local church -ones.251 = 251 - Preaching -ones.252 = 252 - Texts of sermons -ones.253 = 253 - Pastoral office & work -ones.254 = 254 - Parish administration -ones.255 = 255 - Religious congregations & orders -ones.256 = 256 - [Unassigned] -ones.257 = 257 - [Unassigned] -ones.258 = 258 - [Unassigned] -ones.259 = 259 - Pastoral care of families & kinds of persons -ones.260 = 260 - Social & ecclesiastical theology -ones.261 = 261 - Social theology -ones.262 = 262 - Ecclesiology -ones.263 = 263 - Days, times & places of observance -ones.264 = 264 - Public worship -ones.265 = 265 - Sacraments, other rites & acts -ones.266 = 266 - Missions -ones.267 = 267 - Associations for religious work -ones.268 = 268 - Religious education -ones.269 = 269 - Spiritual renewal -ones.270 = 270 - History of Christianity & Christian church -ones.271 = 271 - Religious orders in church history -ones.272 = 272 - Persecutions in church history -ones.273 = 273 - Doctrinal controversies & heresies -ones.274 = 274 - History of Christianity in Europe -ones.275 = 275 - History of Christianity in Asia -ones.276 = 276 - History of Christianity in Africa -ones.277 = 277 - History of Christianity in North America -ones.278 = 278 - History of Christianity in South America -ones.279 = 279 - History of Christianity in other areas -ones.280 = 280 - Christian denominations & sects -ones.281 = 281 - Early church & Eastern churches -ones.282 = 282 - Roman Catholic Church -ones.283 = 283 - Anglican churches -ones.284 = 284 - Protestants of Continental origin -ones.285 = 285 - Presbyterian, Reformed & Congregational -ones.286 = 286 - Baptist, Disciples of Christ & Adventist -ones.287 = 287 - Methodist & related churches -ones.288 = 288 - [Unassigned] -ones.289 = 289 - Other denominations & sects -ones.290 = 290 - Other religions -ones.291 = 291 - [Unassigned] -ones.292 = 292 - Greek & Roman religion -ones.293 = 293 - Germanic religion -ones.294 = 294 - Religions of Indic origin -ones.295 = 295 - Zoroastrianism -ones.296 = 296 - Judaism -ones.297 = 297 - Islam, Babism & Bahai Faith -ones.298 = 298 - (Optional number) -ones.299 = 299 - Religions not provided for elsewhere -ones.300 = 300 - Social sciences -ones.301 = 301 - Sociology & anthropology -ones.302 = 302 - Social interaction -ones.303 = 303 - Social processes -ones.304 = 304 - Factors affecting social behavior -ones.305 = 305 - Social groups -ones.306 = 306 - Culture & institutions -ones.307 = 307 - Communities -ones.308 = 308 - [Unassigned] -ones.309 = 309 - [Unassigned] -ones.310 = 310 - Collections of general statistics -ones.311 = 311 - [Unassigned] -ones.312 = 312 - [Unassigned] -ones.313 = 313 - [Unassigned] -ones.314 = 314 - General statistics of Europe -ones.315 = 315 - General statistics of Asia -ones.316 = 316 - General statistics of Africa -ones.317 = 317 - General statistics of North America -ones.318 = 318 - General statistics of South America -ones.319 = 319 - General statistics of other areas -ones.320 = 320 - Political science -ones.321 = 321 - Systems of governments & states -ones.322 = 322 - Relation of state to organized groups -ones.323 = 323 - Civil & political rights -ones.324 = 324 - The political process -ones.325 = 325 - International migration & colonization -ones.326 = 326 - Slavery & emancipation -ones.327 = 327 - International relations -ones.328 = 328 - The legislative process -ones.329 = 329 - [Unassigned] -ones.330 = 330 - Economics -ones.331 = 331 - Labor economics -ones.332 = 332 - Financial economics -ones.333 = 333 - Economics of land & energy -ones.334 = 334 - Cooperatives -ones.335 = 335 - Socialism & related systems -ones.336 = 336 - Public finance -ones.337 = 337 - International economics -ones.338 = 338 - Production -ones.339 = 339 - Macroeconomics & related topics -ones.340 = 340 - Law -ones.341 = 341 - Law of nations -ones.342 = 342 - Constitutional & administrative law -ones.343 = 343 - Military, tax, trade & industrial law -ones.344 = 344 - Labor, social, education & cultural law -ones.345 = 345 - Criminal law -ones.346 = 346 - Private law -ones.347 = 347 - Civil procedure & courts -ones.348 = 348 - Laws, regulations & cases -ones.349 = 349 - Law of specific jurisdictions & areas -ones.350 = 350 - Public administration & military science -ones.351 = 351 - Public administration -ones.352 = 352 - General considerations of public administration -ones.353 = 353 - Specific fields of public administration -ones.354 = 354 - Administration of economy & environment -ones.355 = 355 - Military science -ones.356 = 356 - Infantry forces & warfare -ones.357 = 357 - Mounted forces & warfare -ones.358 = 358 - Air & other specialized forces -ones.359 = 359 - Sea forces & warfare -ones.360 = 360 - Social problems & services; associations -ones.361 = 361 - Social problems & social welfare in general -ones.362 = 362 - Social welfare problems & services -ones.363 = 363 - Other social problems & services -ones.364 = 364 - Criminology -ones.365 = 365 - Penal & related institutions -ones.366 = 366 - Associations -ones.367 = 367 - General clubs -ones.368 = 368 - Insurance -ones.369 = 369 - Miscellaneous kinds of associations -ones.370 = 370 - Education -ones.371 = 371 - Schools & their activities; special education -ones.372 = 372 - Elementary education -ones.373 = 373 - Secondary education -ones.374 = 374 - Adult education -ones.375 = 375 - Curricula -ones.376 = 376 - [Unassigned] -ones.377 = 377 - [Unassigned] -ones.378 = 378 - Higher education -ones.379 = 379 - Public policy issues in education -ones.380 = 380 - Commerce, communications & transportation -ones.381 = 381 - Commerce -ones.382 = 382 - International commerce -ones.383 = 383 - Postal communication -ones.384 = 384 - Communications; telecommunication -ones.385 = 385 - Railroad transportation -ones.386 = 386 - Inland waterway & ferry transportation -ones.387 = 387 - Water, air & space transportation -ones.388 = 388 - Transportation; ground transportation -ones.389 = 389 - Metrology & standardization -ones.390 = 390 - Customs, etiquette & folklore -ones.391 = 391 - Costume & personal appearance -ones.392 = 392 - Customs of life cycle & domestic life -ones.393 = 393 - Death customs -ones.394 = 394 - General customs -ones.395 = 395 - Etiquette (Manners) -ones.396 = 396 - [Unassigned] -ones.397 = 397 - [Unassigned] -ones.398 = 398 - Folklore -ones.399 = 399 - Customs of war & diplomacy -ones.400 = 400 - Language -ones.401 = 401 - Philosophy & theory -ones.402 = 402 - Miscellany -ones.403 = 403 - Dictionaries & encyclopedias -ones.404 = 404 - Special topics -ones.405 = 405 - Serial publications -ones.406 = 406 - Organizations & management -ones.407 = 407 - Education, research & related topics -ones.408 = 408 - Kinds of persons treatment -ones.409 = 409 - Geographic & persons treatment -ones.410 = 410 - Linguistics -ones.411 = 411 - Writing systems -ones.412 = 412 - Etymology -ones.413 = 413 - Dictionaries -ones.414 = 414 - Phonology & phonetics -ones.415 = 415 - Grammar -ones.416 = 416 - [Unassigned] -ones.417 = 417 - Dialectology & historical linguistics -ones.418 = 418 - Standard usage & applied linguistics -ones.419 = 419 - Sign languages -ones.420 = 420 - English & Old English -ones.421 = 421 - English writing system & phonology -ones.422 = 422 - English etymology -ones.423 = 423 - English dictionaries -ones.424 = 424 - [Unassigned] -ones.425 = 425 - English grammar -ones.426 = 426 - [Unassigned] -ones.427 = 427 - English language variations -ones.428 = 428 - Standard English usage -ones.429 = 429 - Old English (Anglo-Saxon) -ones.430 = 430 - Germanic languages; German -ones.431 = 431 - German writing systems & phonology -ones.432 = 432 - German etymology -ones.433 = 433 - German dictionaries -ones.434 = 434 - [Unassigned] -ones.435 = 435 - German grammar -ones.436 = 436 - [Unassigned] -ones.437 = 437 - German language variations -ones.438 = 438 - Standard German usage -ones.439 = 439 - Other Germanic languages -ones.440 = 440 - Romance languages; French -ones.441 = 441 - French writing systems & phonology -ones.442 = 442 - French etymology -ones.443 = 443 - French dictionaries -ones.444 = 444 - [Unassigned] -ones.445 = 445 - French grammar -ones.446 = 446 - [Unassigned] -ones.447 = 447 - French language variations -ones.448 = 448 - Standard French usage -ones.449 = 449 - Occitan & Catalan -ones.450 = 450 - Italian, Romanian & related languages -ones.451 = 451 - Italian writing systems & phonology -ones.452 = 452 - Italian etymology -ones.453 = 453 - Italian dictionaries -ones.454 = 454 - [Unassigned] -ones.455 = 455 - Italian grammar -ones.456 = 456 - [Unassigned] -ones.457 = 457 - Italian language variations -ones.458 = 458 - Standard Italian usage -ones.459 = 459 - Romanian & related languages -ones.460 = 460 - Spanish & Portuguese languages -ones.461 = 461 - Spanish writing systems & phonology -ones.462 = 462 - Spanish etymology -ones.463 = 463 - Spanish dictionaries -ones.464 = 464 - [Unassigned] -ones.465 = 465 - Spanish grammar -ones.466 = 466 - [Unassigned] -ones.467 = 467 - Spanish language variations -ones.468 = 468 - Standard Spanish usage -ones.469 = 469 - Portuguese -ones.470 = 470 - Italic languages; Latin -ones.471 = 471 - Classical Latin writing & phonology -ones.472 = 472 - Classical Latin etymology -ones.473 = 473 - Classical Latin dictionaries -ones.474 = 474 - [Unassigned] -ones.475 = 475 - Classical Latin grammar -ones.476 = 476 - [Unassigned] -ones.477 = 477 - Old, postclassical & Vulgar Latin -ones.478 = 478 - Classical Latin usage -ones.479 = 479 - Other Italic languages -ones.480 = 480 - Hellenic languages; classical Greek -ones.481 = 481 - Classical Greek writing & phonology -ones.482 = 482 - Classical Greek etymology -ones.483 = 483 - Classical Greek dictionaries -ones.484 = 484 - [Unassigned] -ones.485 = 485 - Classical Greek grammar -ones.486 = 486 - [Unassigned] -ones.487 = 487 - Preclassical & postclassical Greek -ones.488 = 488 - Classical Greek usage -ones.489 = 489 - Other Hellenic languages -ones.490 = 490 - Other languages -ones.491 = 491 - East Indo-European & Celtic languages -ones.492 = 492 - Afro-Asiatic languages; Semitic languages -ones.493 = 493 - Non-Semitic Afro-Asiatic languages -ones.494 = 494 - Altaic, Uralic, Hyperborean & Dravidian -ones.495 = 495 - Languages of East & Southeast Asia -ones.496 = 496 - African languages -ones.497 = 497 - North American native languages -ones.498 = 498 - South American native languages -ones.499 = 499 - Austronesian & other languages -ones.500 = 500 - Natural sciences & mathematics -ones.501 = 501 - Philosophy & theory -ones.502 = 502 - Miscellany -ones.503 = 503 - Dictionaries & encyclopedias -ones.504 = 504 - [Unassigned] -ones.505 = 505 - Serial publications -ones.506 = 506 - Organizations & management -ones.507 = 507 - Education, research & related topics -ones.508 = 508 - Natural history -ones.509 = 509 - Historical, geographic & persons treatment -ones.510 = 510 - Mathematics -ones.511 = 511 - General principles of mathematics -ones.512 = 512 - Algebra -ones.513 = 513 - Arithmetic -ones.514 = 514 - Topology -ones.515 = 515 - Analysis -ones.516 = 516 - Geometry -ones.517 = 517 - [Unassigned] -ones.518 = 518 - Numerical analysis -ones.519 = 519 - Probabilities & applied mathematics -ones.520 = 520 - Astronomy & allied sciences -ones.521 = 521 - Celestial mechanics -ones.522 = 522 - Techniques, equipment & materials -ones.523 = 523 - Specific celestial bodies & phenomena -ones.524 = 524 - [Unassigned] -ones.525 = 525 - Earth (Astronomical geography) -ones.526 = 526 - Mathematical geography -ones.527 = 527 - Celestial navigation -ones.528 = 528 - Ephemerides -ones.529 = 529 - Chronology -ones.530 = 530 - Physics -ones.531 = 531 - Classical mechanics; solid mechanics -ones.532 = 532 - Fluid mechanics; liquid mechanics -ones.533 = 533 - Gas mechanics -ones.534 = 534 - Sound & related vibrations -ones.535 = 535 - Light & infrared & ultraviolet phenomena -ones.536 = 536 - Heat -ones.537 = 537 - Electricity & electronics -ones.538 = 538 - Magnetism -ones.539 = 539 - Modern physics -ones.540 = 540 - Chemistry & allied sciences -ones.541 = 541 - Physical chemistry -ones.542 = 542 - Techniques, equipment & materials -ones.543 = 543 - Analytical chemistry -ones.544 = 544 - [Unassigned] -ones.545 = 545 - [Unassigned] -ones.546 = 546 - Inorganic chemistry -ones.547 = 547 - Organic chemistry -ones.548 = 548 - Crystallography -ones.549 = 549 - Mineralogy -ones.550 = 550 - Earth sciences -ones.551 = 551 - Geology, hydrology & meteorology -ones.552 = 552 - Petrology -ones.553 = 553 - Economic geology -ones.554 = 554 - Earth sciences of Europe -ones.555 = 555 - Earth sciences of Asia -ones.556 = 556 - Earth sciences of Africa -ones.557 = 557 - Earth sciences of North America -ones.558 = 558 - Earth sciences of South America -ones.559 = 559 - Earth sciences of other areas -ones.560 = 560 - Paleontology; paleozoology -ones.561 = 561 - Paleobotany; fossil microorganisms -ones.562 = 562 - Fossil invertebrates -ones.563 = 563 - Fossil marine & seashore invertebrates -ones.564 = 564 - Fossil mollusks & molluscoids -ones.565 = 565 - Fossil arthropods -ones.566 = 566 - Fossil chordates -ones.567 = 567 - Fossil cold-blooded vertebrates; fossil fishes -ones.568 = 568 - Fossil birds -ones.569 = 569 - Fossil mammals -ones.570 = 570 - Life sciences; biology -ones.571 = 571 - Physiology & related subjects -ones.572 = 572 - Biochemistry -ones.573 = 573 - Specific physiological systems in animals -ones.574 = 574 - [Unassigned] -ones.575 = 575 - Specific parts of & systems in plants -ones.576 = 576 - Genetics & evolution -ones.577 = 577 - Ecology -ones.578 = 578 - Natural history of organisms -ones.579 = 579 - Microorganisms, fungi & algae -ones.580 = 580 - Plants (Botany) -ones.581 = 581 - Specific topics in natural history -ones.582 = 582 - Plants noted for characteristics & flowers -ones.583 = 583 - Dicotyledons -ones.584 = 584 - Monocotyledons -ones.585 = 585 - Gymnosperms; conifers -ones.586 = 586 - Seedless plants -ones.587 = 587 - Vascular seedless plants -ones.588 = 588 - Bryophytes -ones.589 = 589 - [Unassigned] -ones.590 = 590 - Animals (Zoology) -ones.591 = 591 - Specific topics in natural history -ones.592 = 592 - Invertebrates -ones.593 = 593 - Marine & seashore invertebrates -ones.594 = 594 - Mollusks & molluscoids -ones.595 = 595 - Arthropods -ones.596 = 596 - Chordates -ones.597 = 597 - Cold-blooded vertebrates; fishes -ones.598 = 598 - Birds -ones.599 = 599 - Mammals -ones.600 = 600 - Technology -ones.601 = 601 - Philosophy & theory -ones.602 = 602 - Miscellany -ones.603 = 603 - Dictionaries & encyclopedias -ones.604 = 604 - Special topics -ones.605 = 605 - Serial publications -ones.606 = 606 - Organizations -ones.607 = 607 - Education, research & related topics -ones.608 = 608 - Inventions & patents -ones.609 = 609 - Historical, geographic & persons treatment -ones.610 = 610 - Medicine & health -ones.611 = 611 - Human anatomy, cytology & histology -ones.612 = 612 - Human physiology -ones.613 = 613 - Personal health & safety -ones.614 = 614 - Incidence & prevention of disease -ones.615 = 615 - Pharmacology & therapeutics -ones.616 = 616 - Diseases -ones.617 = 617 - Surgery & related medical specialties -ones.618 = 618 - Gynecology, obstetrics, pediatrics & geriatrics -ones.619 = 619 - [Unassigned] -ones.620 = 620 - Engineering & allied operations -ones.621 = 621 - Applied physics -ones.622 = 622 - Mining & related operations -ones.623 = 623 - Military & nautical engineering -ones.624 = 624 - Civil engineering -ones.625 = 625 - Engineering of railroads & roads -ones.626 = 626 - [Unassigned] -ones.627 = 627 - Hydraulic engineering -ones.628 = 628 - Sanitary & municipal engineering -ones.629 = 629 - Other branches of engineering -ones.630 = 630 - Agriculture & related technologies -ones.631 = 631 - Techniques, equipment & materials -ones.632 = 632 - Plant injuries, diseases & pests -ones.633 = 633 - Field & plantation crops -ones.634 = 634 - Orchards, fruits & forestry -ones.635 = 635 - Garden crops (Horticulture) -ones.636 = 636 - Animal husbandry -ones.637 = 637 - Processing dairy & related products -ones.638 = 638 - Insect culture -ones.639 = 639 - Hunting, fishing & conservation -ones.640 = 640 - Home & family management -ones.641 = 641 - Food & drink -ones.642 = 642 - Meals & table service -ones.643 = 643 - Housing & household equipment -ones.644 = 644 - Household utilities -ones.645 = 645 - Household furnishings -ones.646 = 646 - Sewing, clothing & personal living -ones.647 = 647 - Management of public households -ones.648 = 648 - Housekeeping -ones.649 = 649 - Child rearing & home care of persons -ones.650 = 650 - Management & auxiliary services -ones.651 = 651 - Office services -ones.652 = 652 - Processes of written communication -ones.653 = 653 - Shorthand -ones.654 = 654 - [Unassigned] -ones.655 = 655 - [Unassigned] -ones.656 = 656 - [Unassigned] -ones.657 = 657 - Accounting -ones.658 = 658 - General management -ones.659 = 659 - Advertising & public relations -ones.660 = 660 - Chemical engineering -ones.661 = 661 - Industrial chemicals -ones.662 = 662 - Explosives, fuels & related products -ones.663 = 663 - Beverage technology -ones.664 = 664 - Food technology -ones.665 = 665 - Industrial oils, fats, waxes & gases -ones.666 = 666 - Ceramic & allied technologies -ones.667 = 667 - Cleaning, color & coating technologies -ones.668 = 668 - Technology of other organic products -ones.669 = 669 - Metallurgy -ones.670 = 670 - Manufacturing -ones.671 = 671 - Metalworking & primary metal products -ones.672 = 672 - Iron, steel & other iron alloys -ones.673 = 673 - Nonferrous metals -ones.674 = 674 - Lumber processing, wood products & cork -ones.675 = 675 - Leather & fur processing -ones.676 = 676 - Pulp & paper technology -ones.677 = 677 - Textiles -ones.678 = 678 - Elastomers & elastomer products -ones.679 = 679 - Other products of specific materials -ones.680 = 680 - Manufacture for specific uses -ones.681 = 681 - Precision instruments & other devices -ones.682 = 682 - Small forge work (Blacksmithing) -ones.683 = 683 - Hardware & household appliances -ones.684 = 684 - Furnishings & home workshops -ones.685 = 685 - Leather, fur goods & related products -ones.686 = 686 - Printing & related activities -ones.687 = 687 - Clothing & accessories -ones.688 = 688 - Other final products & packaging -ones.689 = 689 - [Unassigned] -ones.690 = 690 - Buildings -ones.691 = 691 - Building materials -ones.692 = 692 - Auxiliary construction practices -ones.693 = 693 - Specific materials & purposes -ones.694 = 694 - Wood construction & carpentry -ones.695 = 695 - Roof covering -ones.696 = 696 - Utilities -ones.697 = 697 - Heating, ventilating & air-conditioning -ones.698 = 698 - Detail finishing -ones.699 = 699 - [Unassigned] -ones.700 = 700 - The arts; fine & decorative arts -ones.701 = 701 - Philosophy of fine & decorative arts -ones.702 = 702 - Miscellany of fine & decorative arts -ones.703 = 703 - Dictionaries of fine & decorative arts -ones.704 = 704 - Special topics in fine & decorative arts -ones.705 = 705 - Serial publications of fine & decorative arts -ones.706 = 706 - Organizations & management -ones.707 = 707 - Education, research & related topics -ones.708 = 708 - Galleries, museums & private collections -ones.709 = 709 - Historical, geographic & persons treatment -ones.710 = 710 - Civic & landscape art -ones.711 = 711 - Area planning -ones.712 = 712 - Landscape architecture -ones.713 = 713 - Landscape architecture of trafficways -ones.714 = 714 - Water features -ones.715 = 715 - Woody plants -ones.716 = 716 - Herbaceous plants -ones.717 = 717 - Structures in landscape architecture -ones.718 = 718 - Landscape design of cemeteries -ones.719 = 719 - Natural landscapes -ones.720 = 720 - Architecture -ones.721 = 721 - Architectural structure -ones.722 = 722 - Architecture to ca. 300 -ones.723 = 723 - Architecture from ca. 300 to 1399 -ones.724 = 724 - Architecture from 1400 -ones.725 = 725 - Public structures -ones.726 = 726 - Buildings for religious purposes -ones.727 = 727 - Buildings for education & research -ones.728 = 728 - Residential & related buildings -ones.729 = 729 - Design & decoration -ones.730 = 730 - Plastic arts; sculpture -ones.731 = 731 - Processes, forms & subjects of sculpture -ones.732 = 732 - Sculpture to ca. 500 -ones.733 = 733 - Greek, Etruscan & Roman sculpture -ones.734 = 734 - Sculpture from ca. 500 to 1399 -ones.735 = 735 - Sculpture from 1400 -ones.736 = 736 - Carving & carvings -ones.737 = 737 - Numismatics & sigillography -ones.738 = 738 - Ceramic arts -ones.739 = 739 - Art metalwork -ones.740 = 740 - Drawing & decorative arts -ones.741 = 741 - Drawing & drawings -ones.742 = 742 - Perspective -ones.743 = 743 - Drawing & drawings by subject -ones.744 = 744 - [Unassigned] -ones.745 = 745 - Decorative arts -ones.746 = 746 - Textile arts -ones.747 = 747 - Interior decoration -ones.748 = 748 - Glass -ones.749 = 749 - Furniture & accessories -ones.750 = 750 - Painting & paintings -ones.751 = 751 - Techniques, equipment, materials & forms -ones.752 = 752 - Color -ones.753 = 753 - Symbolism, allegory, mythology & legend -ones.754 = 754 - Genre paintings -ones.755 = 755 - Religion -ones.756 = 756 - [Unassigned] -ones.757 = 757 - Human figures -ones.758 = 758 - Other subjects -ones.759 = 759 - Historical, geographic & persons treatment -ones.760 = 760 - Graphic arts; printmaking & prints -ones.761 = 761 - Relief processes (Block printing) -ones.762 = 762 - [Unassigned] -ones.763 = 763 - Lithographic processes -ones.764 = 764 - Chromolithography & serigraphy -ones.765 = 765 - Metal engraving -ones.766 = 766 - Mezzotinting, aquatinting & related processes -ones.767 = 767 - Etching & drypoint -ones.768 = 768 - [Unassigned] -ones.769 = 769 - Prints -ones.770 = 770 - Photography, photographs & computer art -ones.771 = 771 - Techniques, equipment & materials -ones.772 = 772 - Metallic salt processes -ones.773 = 773 - Pigment processes of printing -ones.774 = 774 - Holography -ones.775 = 775 - Digital photography -ones.776 = 776 - Computer art (Digital art) -ones.777 = 777 - [Unassigned] -ones.778 = 778 - Fields & kinds of photography -ones.779 = 779 - Photographs -ones.780 = 780 - Music -ones.781 = 781 - General principles & musical forms -ones.782 = 782 - Vocal music -ones.783 = 783 - Music for single voices; the voice -ones.784 = 784 - Instruments & instrumental ensembles -ones.785 = 785 - Ensembles with one instrument per part -ones.786 = 786 - Keyboard & other instruments -ones.787 = 787 - Stringed instruments -ones.788 = 788 - Wind instruments -ones.789 = 789 - (Optional number) -ones.790 = 790 - Recreational & performing arts -ones.791 = 791 - Public performances -ones.792 = 792 - Stage presentations -ones.793 = 793 - Indoor games & amusements -ones.794 = 794 - Indoor games of skill -ones.795 = 795 - Games of chance -ones.796 = 796 - Athletic & outdoor sports & games -ones.797 = 797 - Aquatic & air sports -ones.798 = 798 - Equestrian sports & animal racing -ones.799 = 799 - Fishing, hunting & shooting -ones.800 = 800 - Literature & rhetoric -ones.801 = 801 - Philosophy & theory -ones.802 = 802 - Miscellany -ones.803 = 803 - Dictionaries & encyclopedias -ones.804 = 804 - [Unassigned] -ones.805 = 805 - Serial publications -ones.806 = 806 - Organizations & management -ones.807 = 807 - Education, research & related topics -ones.808 = 808 - Rhetoric & collections of literature -ones.809 = 809 - History, description & criticism -ones.810 = 810 - American literature in English -ones.811 = 811 - American poetry in English -ones.812 = 812 - American drama in English -ones.813 = 813 - American fiction in English -ones.814 = 814 - American essays in English -ones.815 = 815 - American speeches in English -ones.816 = 816 - American letters in English -ones.817 = 817 - American humor & satire in English -ones.818 = 818 - American miscellaneous writings -ones.819 = 819 - (Optional number) -ones.820 = 820 - English & Old English literatures -ones.821 = 821 - English poetry -ones.822 = 822 - English drama -ones.823 = 823 - English fiction -ones.824 = 824 - English essays -ones.825 = 825 - English speeches -ones.826 = 826 - English letters -ones.827 = 827 - English humor & satire -ones.828 = 828 - English miscellaneous writings -ones.829 = 829 - Old English (Anglo-Saxon) -ones.830 = 830 - Literatures of Germanic languages -ones.831 = 831 - German poetry -ones.832 = 832 - German drama -ones.833 = 833 - German fiction -ones.834 = 834 - German essays -ones.835 = 835 - German speeches -ones.836 = 836 - German letters -ones.837 = 837 - German humor & satire -ones.838 = 838 - German miscellaneous writings -ones.839 = 839 - Other Germanic literatures -ones.840 = 840 - Literatures of Romance languages -ones.841 = 841 - French poetry -ones.842 = 842 - French drama -ones.843 = 843 - French fiction -ones.844 = 844 - French essays -ones.845 = 845 - French speeches -ones.846 = 846 - French letters -ones.847 = 847 - French humor & satire -ones.848 = 848 - French miscellaneous writings -ones.849 = 849 - Occitan & Catalan literatures -ones.850 = 850 - Italian, Romanian & related literatures -ones.851 = 851 - Italian poetry -ones.852 = 852 - Italian drama -ones.853 = 853 - Italian fiction -ones.854 = 854 - Italian essays -ones.855 = 855 - Italian speeches -ones.856 = 856 - Italian letters -ones.857 = 857 - Italian humor & satire -ones.858 = 858 - Italian miscellaneous writings -ones.859 = 859 - Romanian & related literatures -ones.860 = 860 - Spanish & Portuguese literatures -ones.861 = 861 - Spanish poetry -ones.862 = 862 - Spanish drama -ones.863 = 863 - Spanish fiction -ones.864 = 864 - Spanish essays -ones.865 = 865 - Spanish speeches -ones.866 = 866 - Spanish letters -ones.867 = 867 - Spanish humor & satire -ones.868 = 868 - Spanish miscellaneous writings -ones.869 = 869 - Portuguese literature -ones.870 = 870 - Italic literatures; Latin literature -ones.871 = 871 - Latin poetry -ones.872 = 872 - Latin dramatic poetry & drama -ones.873 = 873 - Latin epic poetry & fiction -ones.874 = 874 - Latin lyric poetry -ones.875 = 875 - Latin speeches -ones.876 = 876 - Latin letters -ones.877 = 877 - Latin humor & satire -ones.878 = 878 - Latin miscellaneous writings -ones.879 = 879 - Literatures of other Italic languages -ones.880 = 880 - Hellenic literatures; classical Greek -ones.881 = 881 - Classical Greek poetry -ones.882 = 882 - Classical Greek dramatic poetry & drama -ones.883 = 883 - Classical Greek epic poetry & fiction -ones.884 = 884 - Classical Greek lyric poetry -ones.885 = 885 - Classical Greek speeches -ones.886 = 886 - Classical Greek letters -ones.887 = 887 - Classical Greek humor & satire -ones.888 = 888 - Classical Greek miscellaneous writings -ones.889 = 889 - Modern Greek literature -ones.890 = 890 - Literatures of other languages -ones.891 = 891 - East Indo-European & Celtic literatures -ones.892 = 892 - Afro-Asiatic literatures; Semitic literatures -ones.893 = 893 - Non-Semitic Afro-Asiatic literatures -ones.894 = 894 - Altaic, Uralic, Hyperborean & Dravidian -ones.895 = 895 - Literatures of East & Southeast Asia -ones.896 = 896 - African literatures -ones.897 = 897 - North American native literatures -ones.898 = 898 - South American native literatures -ones.899 = 899 - Austronesian & other literatures -ones.900 = 900 - History & geography -ones.901 = 901 - Philosophy & theory -ones.902 = 902 - Miscellany -ones.903 = 903 - Dictionaries & encyclopedias -ones.904 = 904 - Collected accounts of events -ones.905 = 905 - Serial publications -ones.906 = 906 - Organizations & management -ones.907 = 907 - Education, research & related topics -ones.908 = 908 - Kinds of persons treatment -ones.909 = 909 - World history -ones.910 = 910 - Geography & travel -ones.911 = 911 - Historical geography -ones.912 = 912 - Atlases, maps, charts & plans -ones.913 = 913 - Geography of & travel in ancient world -ones.914 = 914 - Geography of & travel in Europe -ones.915 = 915 - Geography of & travel in Asia -ones.916 = 916 - Geography of & travel in Africa -ones.917 = 917 - Geography of & travel in North America -ones.918 = 918 - Geography of & travel in South America -ones.919 = 919 - Geography of & travel in other areas -ones.920 = 920 - Biography, genealogy & insignia -ones.921 = 921 - (Optional number) -ones.922 = 922 - (Optional number) -ones.923 = 923 - (Optional number) -ones.924 = 924 - (Optional number) -ones.925 = 925 - (Optional number) -ones.926 = 926 - (Optional number) -ones.927 = 927 - (Optional number) -ones.928 = 928 - (Optional number) -ones.929 = 929 - Genealogy, names & insignia -ones.930 = 930 - History of ancient world to ca. 499 -ones.931 = 931 - China to 420 -ones.932 = 932 - Egypt to 640 -ones.933 = 933 - Palestine to 70 -ones.934 = 934 - India to 647 -ones.935 = 935 - Mesopotamia & Iranian Plateau to 637 -ones.936 = 936 - Europe north & west of Italy to ca. 499 -ones.937 = 937 - Italy & adjacent territories to 476 -ones.938 = 938 - Greece to 323 -ones.939 = 939 - Other parts of ancient world to ca. 640 -ones.940 = 940 - History of Europe -ones.941 = 941 - British Isles -ones.942 = 942 - England & Wales -ones.943 = 943 - Central Europe; Germany -ones.944 = 944 - France & Monaco -ones.945 = 945 - Italian Peninsula & adjacent islands -ones.946 = 946 - Iberian Peninsula & adjacent islands -ones.947 = 947 - Eastern Europe; Russia -ones.948 = 948 - Scandinavia -ones.949 = 949 - Other parts of Europe -ones.950 = 950 - History of Asia; Far East -ones.951 = 951 - China & adjacent areas -ones.952 = 952 - Japan -ones.953 = 953 - Arabian Peninsula & adjacent areas -ones.954 = 954 - South Asia; India -ones.955 = 955 - Iran -ones.956 = 956 - Middle East (Near East) -ones.957 = 957 - Siberia (Asiatic Russia) -ones.958 = 958 - Central Asia -ones.959 = 959 - Southeast Asia -ones.960 = 960 - History of Africa -ones.961 = 961 - Tunisia & Libya -ones.962 = 962 - Egypt & Sudan -ones.963 = 963 - Ethiopia & Eritrea -ones.964 = 964 - Northwest African coast & offshore islands -ones.965 = 965 - Algeria -ones.966 = 966 - West Africa & offshore islands -ones.967 = 967 - Central Africa & offshore islands -ones.968 = 968 - Southern Africa; Republic of South Africa -ones.969 = 969 - South Indian Ocean islands -ones.970 = 970 - History of North America -ones.971 = 971 - Canada -ones.972 = 972 - Middle America; Mexico -ones.973 = 973 - United States -ones.974 = 974 - Northeastern United States -ones.975 = 975 - Southeastern United States -ones.976 = 976 - South central United States -ones.977 = 977 - North central United States -ones.978 = 978 - Western United States -ones.979 = 979 - Great Basin & Pacific Slope region -ones.980 = 980 - History of South America -ones.981 = 981 - Brazil -ones.982 = 982 - Argentina -ones.983 = 983 - Chile -ones.984 = 984 - Bolivia -ones.985 = 985 - Peru -ones.986 = 986 - Colombia & Ecuador -ones.987 = 987 - Venezuela -ones.988 = 988 - Guiana -ones.989 = 989 - Paraguay & Uruguay -ones.990 = 990 - History of other areas -ones.991 = 991 - [Unassigned] -ones.992 = 992 - [Unassigned] -ones.993 = 993 - New Zealand -ones.994 = 994 - Australia -ones.995 = 995 - Melanesia; New Guinea -ones.996 = 996 - Other parts of Pacific; Polynesia -ones.997 = 997 - Atlantic Ocean islands -ones.998 = 998 - Arctic islands & Antarctica -ones.999 = 999 - Extraterrestrial worlds -ones = [Unassigned] \ No newline at end of file diff --git a/import/translation_maps/fincClassification.properties b/import/translation_maps/fincClassification.properties deleted file mode 100644 index 74add618a1a9df4bb3437176bd1f639384b651a4..0000000000000000000000000000000000000000 --- a/import/translation_maps/fincClassification.properties +++ /dev/null @@ -1,360 +0,0 @@ -# RVK -fincclass.pattern_0 = A[A-Z] [0-9]+.*=>Allgemeines -fincclass.pattern_1 = B[A-Z] [0-9]+.*=>Theologie und Religionswissenschaft -fincClass.pattern_2 = C[A-I] [0-9]+.*=>Philosophie -fincClass.pattern_3 = C[L-Z] [0-9]+.*=>Psychologie -fincClass.pattern_4 = D[A-Z] [0-9]+.*=>Pädagogik -fincClass.pattern_5 = E[A-Z] [0-9]+.*=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen -fincClass.pattern_6 = G[A-Z] [0-9]+.*=>Germanistik, Niederlandistik, Skandinavistik -fincClass.pattern_7 = H[A-Z] [0-9]+.*=>Anglistik, Amerikanistik -fincClass.pattern_8 = I[A-Z] [0-9]+.*=>Romanistik -fincClass.pattern_9 = K[A-Z] [0-9]+.*=>Slawistik -fincClass.pattern_10 = L[A-C] [0-9]+.*=>Ethnologie (Volks- und Völkerkunde) -fincClass.pattern_11 = (LD [1-2][0-9]+)|(L[E-G] [0-9]+).*=>Klassische Archäologie -fincClass.pattern_12 = (LD [3-7][0-9]+)|(L[H-O] [0-9]+).*=>Kunst und Kunstgeschichte -fincClass.pattern_13 = (LD [8-9][0-9]+)|(L[P-Y] [0-9]+).*=>Musikwissenschaft -fincClass.pattern_14 = M[A-L] [0-9]+.*=>Politologie -fincClass.pattern_15 = M[N-W] [0-9]+.*=>Soziologie -fincClass.pattern_16 = M[X-Z] [0-9]+.*=>Militärwissenschaft -fincClass.pattern_17 = N[A-Z] [0-9]+.*=>Geschichte -fincClass.pattern_18 = P[A-Z] [0-9]+.*=>Rechtswissenschaft -fincClass.pattern_19 = Q[A-Z] [0-9]+.*=>Wirtschaftswissenschaften -fincClass.pattern_20 = R[A-Z] [0-9]+.*=>Geographie -fincClass.pattern_21 = S[A-P] [0-9]+.*=>Mathematik -fincClass.pattern_22 = S[Q-U] [0-9]+.*=>Informatik -fincClass.pattern_23 = T[A-D] [0-9]+.*=>Allgemeine Naturwissenschaft -fincClass.pattern_24 = T[E-Z] [0-9]+.*=>Geologie und Paläontologie -fincClass.pattern_25 = U[A-Z] [0-9]+.*=>Physik -fincClass.pattern_26 = V[A-Z] [0-9]+.*=>Chemie und Pharmazie -fincClass.pattern_27 = W[A-Z] [0-9]+.*=>Biologie -fincClass.pattern_28 = (W[W-Z]|X[A-Z]|Y[A-V]) [0-9]+.*=>Medizin -fincClass.pattern_29 = Z[A-E] [0-9]+.*=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -fincClass.pattern_30 = Z[G-S] [0-9]+.*=>Technik -fincClass.pattern_31 = Z[X-Y] [0-9]+.*=>Sport -fincClass.pattern_32 = (F[BCEHNOPQTX] [0-9]+)|(FF [1-2][0-9]+).*=>Klassische Philologie -fincClass.pattern_33 = (FK [0-9]+)|(FF [5-6][0-9]+).*=>Byzantinistik -fincClass.pattern_34 = F[RUY] [0-9]+.*=>Mittellateinische Philologie -fincClass.pattern_35 = (F[GL] [0-9]+)|(FD [1-2][0-9]+).*=>Neugriechische Philologie -fincClass.pattern_36 = F[SVZ] [0-9]+.*=>Neulateinische Philologie -# DDC -fincClass.pattern_37 = ^0[1-35-9][0-9]=>Allgemeines -fincClass.pattern_38 = (^2[0-9]{2})|(^1[37][0-9])=>Theologie und Religionswissenschaften -fincClass.pattern_39 = ^((1[0-46-9])|21)[0-9]=>Philosophie -fincClass.pattern_40 = ^1[35][0-9]=>Psychologie -fincClass.pattern_41 = ^37[0-9]=>Pädagogik -fincClass.pattern_42 = ^(4[019][0-9])|(8[09][0-9])=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -fincClass.pattern_43 = ^(43[0-9])|(83[0-9])=>Germanistik, Niederlandistik, Skandinavistik -fincClass.pattern_44 = ^(42[0-9])|(8[12][0-9])=>Anglistik, Amerikanistik -fincClass.pattern_45 = ^(4[4-6][0-9])|(8[4-6][0-9])=>Romanistik -fincClass.pattern_46 = ^39[0-9]=>Ethnologie (Volks- und Völkerkunde) -fincClass.pattern_47 = ^93[0-9]=>Klassische Archäologie -fincClass.pattern_48 = ^7[0234-7][0-9]=>Kunst und Kunstgeschichte -fincClass.pattern_49 = ^78[0-9]=>Musikwissenschaft -fincClass.pattern_50 = ^32[0-9]=>Politologie -fincClass.pattern_51 = ^3[0-367][0-9]=>Soziologie -fincClass.pattern_52 = ^35[0-9]=>Militärwissenschaft -fincClass.pattern_53 = ^((9[012-9])|(1[89])|27)[0-9]=>Geschichte -fincClass.pattern_54 = ^3[45][0-9]=>Rechtswissenschaft -fincClass.pattern_55 = ^(3[38][0-9])|(65[0-9])=>Wirtschaftswissenschaften -fincClass.pattern_56 = ^(91|55)[0-9]=>Geographie -fincClass.pattern_57 = ^(51|16|31)[0-9]=>Mathematik -fincClass.pattern_58 = ^(00|77)[0-9]=>Informatik -fincClass.pattern_59 = ^50[0-9]=>Allgemeine Naturwissenschaft -fincClass.pattern_60 = ^5[56][0-9]=>Geologie und Paläontologie -fincClass.pattern_61 = ^5[23][0-9]=>Physik -fincClass.pattern_62 = ^(54[0-9])|(66[0-9])=>Chemie und Pharmazie -fincClass.pattern_63 = ^5[7-9][0-9]=>Biologie -fincClass.pattern_64 = ^(61|57)[0-9]=>Medizin -fincClass.pattern_65 = ^(6[34][0-9])|(7[134][0-9])=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -fincClass.pattern_66 = ^((6[0-789])|72)[0-9]=>Technik -fincClass.pattern_67 = ^79[0-9]=>Sport -fincClass.pattern_68 = ^((4[78])|8[78])[0-9]=>Klassische Philologie -fincClass.pattern_69 = ^[48]8[0-9]=>Neugriechische Philologie -fincClass.pattern_70 = ^[48]7[0-9]=>Neulateinische Philologie -fincClass.pattern_71 = ^04[0-9]=>no subject assigned -#BIC -fincClass.pattern_72 = ((^[BGW]$)|(^((B[GJMT])|(G[BLMPT])|(WZ))([A-Z]|$)))=>Allgemeines -fincClass.pattern_73 = ^HR([A-Z]|$)=>Theologie und Religionswissenschaften -fincClass.pattern_74 = ^HP([A-Z]|$)=>Philosophie -fincClass.pattern_75 = ^JM([A-Z]|$)=>Psychologie -fincClass.pattern_76 = ((^E$)|(^((CJ)|(E[BLS])|(JN)|(YQ))([A-Z]|$)))=>Pädagogik -fincClass.pattern_77 = ((^[CD]$)|(^((C[BF])|(D[CDNQS]))([A-Z]|$)))=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen -fincClass.pattern_78 = ^E[BLS]([A-Z]|$)=>Anglistik, Amerikanistik -fincClass.pattern_79 = ^HD([A-Z]|$)=>Klassische Archäologie -fincClass.pattern_80 = ((^A$)|(^((A[BCFGJKMNPS])|(WF))([A-Z]|$)))=>Kunst und Kunstgeschichte -fincClass.pattern_81 = (((^AS)|(^AV))([A-Z]|$))=>Musikwissenschaft -fincClass.pattern_82 = ^JP([A-Z]|$)=>Politologie -fincClass.pattern_83 = ((^J$)|(^J[FHK]([A-Z]|$)))=>Soziologie -fincClass.pattern_84 = ^JW([A-Z]|$)=>Militärwissenschaft -fincClass.pattern_85 = ((^H$)|(^(HB|WQ|BG)([A-Z]|$)))=>Geschichte -fincClass.pattern_86 = ((^L$)|(^L[ABNR]([A-Z]|$)))=>Rechtswissenschaft -fincClass.pattern_87 = ((^K$)|(^((K[CFJN])|AK|TR|UF)([A-Z]|$)))=>Wirtschaftswissenschaften -fincClass.pattern_88 = ((^R$)|(^RG([A-Z]|$)))=>Geographie -fincClass.pattern_89 = ^PB([A-Z]|$)=>Mathematik -fincClass.pattern_90 = ((^U$)|(^((U[BDFGKLMNQRTY])|TJ)([A-Z]|$)))=>Informatik -fincClass.pattern_91 = ((^P$)|(^PD([A-Z]|$)))=>Allgemeine Naturwissenschaft -fincClass.pattern_92 = ^(RB|TH)([A-Z]|$)=>Geologie und Paläontologie -fincClass.pattern_93 = ^P[GH]([A-Z]|$)=>Physik -fincClass.pattern_94 = ^(PN|TD|TC)([A-Z]|$)=>Chemie und Pharmazie -fincClass.pattern_95 = ^(MZ|PS|TC|RN)([A-Z]|$)=>Biologie -fincClass.pattern_96 = ((^M$)|(^M[BFJMNQRX]([A-Z]|$)))=>Medizin -fincClass.pattern_97 = ^(RP|TV|WB|WF|WK|WM)([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -fincClass.pattern_98 = ((^T$)|(^(AM|RN|RP|TC|TD|TH|(T[BGJNQRT]))([A-Z]|$)))=>Technik -fincClass.pattern_99 = ^WS([A-Z]|$)=>Sport -fincClass.pattern_100 = ((^[FVY]$)|(^((F[ACFHJKLMPQRTVWXYZ])|(V[FSX])|(W[CDGHJNT])|(Y[BDFNRXZ]))([A-Z]|$)))=>no subject assigned - -#DDC -#fincClass.pattern_37 = ^00[0-9]=>Informatik -#fincClass.pattern_38 = ^01[0-9]=>Allgemeines -#fincClass.pattern_39 = ^02[0-9]=>Allgemeines -#fincClass.pattern_40 = ^03[0-9]=>Allgemeines -#fincClass.pattern_41 = ^04[0-9]=>no subject assigned -#fincClass.pattern_42 = ^05[0-9]=>Allgemeines -#fincClass.pattern_43 = ^06[0-9]=>Allgemeines -#fincClass.pattern_44 = ^07[0-9]=>Allgemeines -#fincClass.pattern_45 = ^08[0-9]=>Allgemeines -#fincClass.pattern_46 = ^09[0-9]=>Allgemeines -#fincClass.pattern_47 = ^10[0-9]=>Philosophie -#fincClass.pattern_48 = ^11[0-9]=>Philosophie -#fincClass.pattern_49 = ^12[0-9]=>Philosophie -#fincClass.pattern_50 = ^13[0-9]=>Philosophie -#fincClass.pattern_51 = ^14[0-9]=>Philosophie -#fincClass.pattern_52 = ^15[0-9]=>Psychologie -#fincClass.pattern_53 = ^16[0-9]=>Philosophie -#fincClass.pattern_54 = ^17[0-9]=>Philosophie -#fincClass.pattern_55 = ^18[0-9]=>Philosophie -#fincClass.pattern_56 = ^19[0-9]=>Philosophie -#fincClass.pattern_57 = ^20[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_58 = ^21[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_59 = ^22[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_60 = ^23[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_61 = ^24[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_62 = ^25[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_63 = ^26[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_64 = ^27[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_65 = ^28[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_66 = ^29[0-9]=>Theologie und Religionswissenschaften -#fincClass.pattern_67 = ^30[0-9]=>Soziologie -#fincClass.pattern_68 = ^31[0-9]=>Soziologie -#fincClass.pattern_69 = ^32[0-9]=>Politologie -#fincClass.pattern_70 = ^33[0-9]=>Wirtschaftswissenschaften -#fincClass.pattern_71 = ^34[0-9]=>Rechtswissenschaft -#fincClass.pattern_72 = ^35[0-9]=>Militärwissenschaft -#fincClass.pattern_73 = ^36[0-9]=>Soziologie -#fincClass.pattern_74 = ^37[0-9]=>Pädagogik -#fincClass.pattern_75 = ^38[0-9]=>Wirtschaftswissenschaften -#fincClass.pattern_76 = ^39[0-9]=>Ethnologie (Volks- und Völkerkunde) -#fincClass.pattern_77 = ^40[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_78 = ^41[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_79 = ^42[0-9]=>Anglistik, Amerikanistik -#fincClass.pattern_80 = ^43[0-9]=>Germanistik, Niederlandistik, Skandinavistik -#fincClass.pattern_81 = ^44[0-9]=>Romanistik -#fincClass.pattern_82 = ^45[0-9]=>Romanistik -#fincClass.pattern_83 = ^46[0-9]=>Romanistik -#fincClass.pattern_84 = ^47[0-9]=>Klassische Philologie -#fincClass.pattern_85 = ^48[0-9]=>Klassische Philologie -#fincClass.pattern_86 = ^49[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_87 = ^50[0-9]=>Allgemeine Naturwissenschaft -#fincClass.pattern_88 = ^51[0-9]=>Mathematik -#fincClass.pattern_89 = ^52[0-9]=>Physik -#fincClass.pattern_90 = ^53[0-9]=>Physik -#fincClass.pattern_91 = ^54[0-9]=>Chemie und Pharmazie -#fincClass.pattern_92 = ^55[0-9]=>Geologie und Paläontologie -#fincClass.pattern_93 = ^56[0-9]=>Geologie und Paläontologie -#fincClass.pattern_94 = ^57[0-9]=>Biologie -#fincClass.pattern_95 = ^58[0-9]=>Biologie -#fincClass.pattern_96 = ^59[0-9]=>Biologie -#fincClass.pattern_97 = ^60[0-9]=>Technik -#fincClass.pattern_98 = ^61[0-9]=>Medizin -#fincClass.pattern_99 = ^62[0-9]=>Technik -#fincClass.pattern_100 = ^63[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_101 = ^64[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_102 = ^65[0-9]=>Wirtschaftswissenschaften -#fincClass.pattern_103 = ^66[0-9]=>Chemie und Pharmazie -#fincClass.pattern_104 = ^67[0-9]=>Technik -#fincClass.pattern_105 = ^68[0-9]=>Technik -#fincClass.pattern_106 = ^69[0-9]=>Technik -#fincClass.pattern_107 = ^70[0-9]=>Kunst und Kunstgeschichte -#fincClass.pattern_108 = ^71[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_109 = ^72[0-9]=>Kunst und Kunstgeschichte -#fincClass.pattern_110 = ^73[0-9]=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_111 = ^74[0-9]=>Kunst und Kunstgeschichte -#fincClass.pattern_112 = ^75[0-9]=>Kunst und Kunstgeschichte -#fincClass.pattern_113 = ^76[0-9]=>Kunst und Kunstgeschichte -#fincClass.pattern_114 = ^77[0-9]=>Kunst und Kunstgeschichte -#fincClass.pattern_115 = ^78[0-9]=>Musikwissenschaft -#fincClass.pattern_116 = ^79[0-9]=>Sport -#fincClass.pattern_117 = ^80[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_118 = ^81[0-9]=>Anglistik, Amerikanistik -#fincClass.pattern_119 = ^82[0-9]=>Anglistik, Amerikanistik -#fincClass.pattern_120 = ^83[0-9]=>Germanistik, Niederlandistik, Skandinavistik -#fincClass.pattern_121 = ^84[0-9]=>Romanistik -#fincClass.pattern_122 = ^85[0-9]=>Romanistik -#fincClass.pattern_123 = ^86[0-9]=>Romanistik -#fincClass.pattern_124 = ^87[0-9]=>Neulateinische Philologie -#fincClass.pattern_125 = ^88[0-9]=>Neugriechische Philologie -#fincClass.pattern_126 = ^89[0-9]=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_127 = ^90[0-9]=>Geschichte -#fincClass.pattern_128 = ^91[0-9]=>Geographie -#fincClass.pattern_129 = ^92[0-9]=>Geschichte -#fincClass.pattern_130 = ^93[0-9]=>Geschichte -#fincClass.pattern_131 = ^94[0-9]=>Geschichte -#fincClass.pattern_132 = ^95[0-9]=>Geschichte -#fincClass.pattern_133 = ^96[0-9]=>Geschichte -#fincClass.pattern_134 = ^97[0-9]=>Geschichte -#fincClass.pattern_135 = ^98[0-9]=>Geschichte -#fincClass.pattern_136 = ^99[0-9]=>Geschichte -# BIC -#fincClass.pattern_137 = ^A$=>Kunst und Kunstgeschichte -#fincClass.pattern_138 = ^AB([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_139 = ^AC([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_140 = ^AF([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_141 = ^AG([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_142 = ^AJ([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_143 = ^AK([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_144 = ^AM([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_145 = ^AN([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_146 = ^AP([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_147 = ^AS([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_148 = ^AV([A-Z]|$)=>Musikwissenschaft -#fincClass.pattern_149 = ^B$=>Allgemeines -#fincClass.pattern_150 = ^BG([A-Z]|$)=>Allgemeines -#fincClass.pattern_151 = ^BJ([A-Z]|$)=>Allgemeines -#fincClass.pattern_152 = ^BM([A-Z]|$)=>Allgemeines -#fincClass.pattern_153 = ^BT([A-Z]|$)=>Allgemeines -#fincClass.pattern_154 = ^C$=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen -#fincClass.pattern_155 = ^CB([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_156 = ^CF([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_157 = ^CJ([A-Z]|$)=>Pädagogik -#fincClass.pattern_158 = ^D$=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäische Sprachen und Literaturen -#fincClass.pattern_159 = ^DC([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_160 = ^DD([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_161 = ^DN([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_162 = ^DQ([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_163 = ^DS([A-Z]|$)=>Allgemeine und vergleichende Sprach- und Literaturwissenschaft, Indogermanistik, Außereuropäche Sprachen und Literaturen -#fincClass.pattern_164 = ^E$=>Pädagogik -#fincClass.pattern_165 = ^EB([A-Z]|$)=>Pädagogik -#fincClass.pattern_166 = ^EL([A-Z]|$)=>Pädagogik -#fincClass.pattern_167 = ^ES([A-Z]|$)=>Pädagogik -#fincClass.pattern_168 = ^F$=>unassigned -#fincClass.pattern_169 = ^FA([A-Z]|$)=>unassigned -#fincClass.pattern_170 = ^FC([A-Z]|$)=>unassigned -#fincClass.pattern_171 = ^FF([A-Z]|$)=>unassigned -#fincClass.pattern_172 = ^FH([A-Z]|$)=>unassigned -#fincClass.pattern_173 = ^FJ([A-Z]|$)=>unassigned -#fincClass.pattern_174 = ^FK([A-Z]|$)=>unassigned -#fincClass.pattern_175 = ^FL([A-Z]|$)=>unassigned -#fincClass.pattern_176 = ^FM([A-Z]|$)=>unassigned -#fincClass.pattern_177 = ^FP([A-Z]|$)=>unassigned -#fincClass.pattern_178 = ^FQ([A-Z]|$)=>unassigned -#fincClass.pattern_179 = ^FR([A-Z]|$)=>unassigned -#fincClass.pattern_180 = ^FT([A-Z]|$)=>unassigned -#fincClass.pattern_181 = ^FV([A-Z]|$)=>unassigned -#fincClass.pattern_182 = ^FW([A-Z]|$)=>unassigned -#fincClass.pattern_183 = ^FX([A-Z]|$)=>unassigned -#fincClass.pattern_184 = ^FY([A-Z]|$)=>unassigned -#fincClass.pattern_185 = ^FZ([A-Z]|$)=>unassigned -#fincClass.pattern_186 = ^G$=>Allgemeines -#fincClass.pattern_187 = ^GB([A-Z]|$)=>Allgemeines -#fincClass.pattern_188 = ^GL([A-Z]|$)=>Allgemeines -#fincClass.pattern_189 = ^GM([A-Z]|$)=>Allgemeines -#fincClass.pattern_190 = ^GP([A-Z]|$)=>Allgemeines -#fincClass.pattern_191 = ^GT([A-Z]|$)=>Allgemeines -#fincClass.pattern_192 = ^H$=>Geschichte -#fincClass.pattern_193 = ^HB([A-Z]|$)=>Geschichte -#fincClass.pattern_194 = ^HD([A-Z]|$)=>Klassische Archäologie -#fincClass.pattern_195 = ^HP([A-Z]|$)=>Philosophie -#fincClass.pattern_196 = ^HR([A-Z]|$)=>Theologie und Religionswissenschaften -#fincClass.pattern_197 = ^J$=>Soziologie -#fincClass.pattern_198 = ^JF([A-Z]|$)=>Soziologie -#fincClass.pattern_199 = ^JH([A-Z]|$)=>Soziologie -#fincClass.pattern_200 = ^JK([A-Z]|$)=>Soziologie -#fincClass.pattern_201 = ^JM([A-Z]|$)=>Psychologie -#fincClass.pattern_202 = ^JN([A-Z]|$)=>Pädagogik -#fincClass.pattern_203 = ^JP([A-Z]|$)=>Politologie -#fincClass.pattern_204 = ^JW([A-Z]|$)=>Militärwissenschaft -#fincClass.pattern_205 = ^K$=>Wirtschaftswissenschaften -#fincClass.pattern_206 = ^KC([A-Z]|$)=>Wirtschaftswissenschaften -#fincClass.pattern_207 = ^KF([A-Z]|$)=>Wirtschaftswissenschaften -#fincClass.pattern_208 = ^KJ([A-Z]|$)=>Wirtschaftswissenschaften -#fincClass.pattern_209 = ^KN([A-Z]|$)=>Wirtschaftswissenschaften -#fincClass.pattern_210 = ^L$=>Rechtswissenschaft -#fincClass.pattern_211 = ^LA([A-Z]|$)=>Rechtswissenschaft -#fincClass.pattern_212 = ^LB([A-Z]|$)=>Rechtswissenschaft -#fincClass.pattern_213 = ^LN([A-Z]|$)=>Rechtswissenschaft -#fincClass.pattern_214 = ^LR([A-Z]|$)=>Rechtswissenschaft -#fincClass.pattern_215 = ^M$=>Medizin -#fincClass.pattern_216 = ^MB([A-Z]|$)=>Medizin -#fincClass.pattern_217 = ^MF([A-Z]|$)=>Medizin -#fincClass.pattern_218 = ^MJ([A-Z]|$)=>Medizin -#fincClass.pattern_219 = ^MM([A-Z]|$)=>Medizin -#fincClass.pattern_220 = ^MN([A-Z]|$)=>Medizin -#fincClass.pattern_221 = ^MQ([A-Z]|$)=>Medizin -#fincClass.pattern_222 = ^MR([A-Z]|$)=>Medizin -#fincClass.pattern_223 = ^MX([A-Z]|$)=>Medizin -#fincClass.pattern_224 = ^MZ([A-Z]|$)=>Biologie -#fincClass.pattern_225 = ^P$=>Allgemeine Naturwissenschaft -#fincClass.pattern_226 = ^PB([A-Z]|$)=>Mathematik -#fincClass.pattern_227 = ^PD([A-Z]|$)=>Allgemeine Naturwissenschaft -#fincClass.pattern_228 = ^PG([A-Z]|$)=>Physik -#fincClass.pattern_229 = ^PH([A-Z]|$)=>Physik -#fincClass.pattern_230 = ^PN([A-Z]|$)=>Chemie und Pharmazie -#fincClass.pattern_231 = ^PS([A-Z]|$)=>Biologie -#fincClass.pattern_232 = ^R$=>Geographie -#fincClass.pattern_233 = ^RB([A-Z]|$)=>Geologie und Paläontologie -#fincClass.pattern_234 = ^RG([A-Z]|$)=>Geographie -#fincClass.pattern_235 = ^RN([A-Z]|$)=>Technik -#fincClass.pattern_236 = ^RP([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_237 = ^T$=>Technik -#fincClass.pattern_238 = ^TB([A-Z]|$)=>Technik -#fincClass.pattern_239 = ^TC([A-Z]|$)=>Biologie -#fincClass.pattern_240 = ^TD([A-Z]|$)=>Chemie und Pharmazie -#fincClass.pattern_241 = ^TG([A-Z]|$)=>Technik -#fincClass.pattern_242 = ^TH([A-Z]|$)=>Geologie und Paläontologie -#fincClass.pattern_243 = ^TJ([A-Z]|$)=>Technik -#fincClass.pattern_244 = ^TN([A-Z]|$)=>Technik -#fincClass.pattern_245 = ^TQ([A-Z]|$)=>Technik -#fincClass.pattern_246 = ^TR([A-Z]|$)=>Technik -#fincClass.pattern_247 = ^TT([A-Z]|$)=>Technik -#fincClass.pattern_248 = ^TV([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_249 = ^U$=>Informatik -#fincClass.pattern_250 = ^UB([A-Z]|$)=>Informatik -#fincClass.pattern_251 = ^UD([A-Z]|$)=>Informatik -#fincClass.pattern_252 = ^UF([A-Z]|$)=>Informatik -#fincClass.pattern_253 = ^UG([A-Z]|$)=>Informatik -#fincClass.pattern_254 = ^UK([A-Z]|$)=>Informatik -#fincClass.pattern_255 = ^UL([A-Z]|$)=>Informatik -#fincClass.pattern_256 = ^UM([A-Z]|$)=>Informatik -#fincClass.pattern_257 = ^UN([A-Z]|$)=>Informatik -#fincClass.pattern_258 = ^UQ([A-Z]|$)=>Informatik -#fincClass.pattern_259 = ^UR([A-Z]|$)=>Informatik -#fincClass.pattern_260 = ^UT([A-Z]|$)=>Informatik -#fincClass.pattern_261 = ^UY([A-Z]|$)=>Informatik -#fincClass.pattern_262 = ^V$=>unassigned -#fincClass.pattern_263 = ^VF([A-Z]|$)=>unassigned -#fincClass.pattern_264 = ^VS([A-Z]|$)=>unassigned -#fincClass.pattern_265 = ^VX([A-Z]|$)=>unassigned -#fincClass.pattern_266 = ^W$=>Allgemeines -#fincClass.pattern_267 = ^WB([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_268 = ^WC([A-Z]|$)=>unassigned -#fincClass.pattern_269 = ^WD([A-Z]|$)=>unassigned -#fincClass.pattern_270 = ^WF([A-Z]|$)=>Kunst und Kunstgeschichte -#fincClass.pattern_271 = ^WG([A-Z]|$)=>unassigned -#fincClass.pattern_272 = ^WH([A-Z]|$)=>unassigned -#fincClass.pattern_273 = ^WJ([A-Z]|$)=>unassigned -#fincClass.pattern_274 = ^WK([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_275 = ^WM([A-Z]|$)=>Land- und Forstwirtschaft, Gartenbau, Fischereiwirtschaft, Hauswirtschaft -#fincClass.pattern_276 = ^WN([A-Z]|$)=>unassigned -#fincClass.pattern_277 = ^WQ([A-Z]|$)=>Geschichte -#fincClass.pattern_278 = ^WS([A-Z]|$)=>Sport -#fincClass.pattern_279 = ^WT([A-Z]|$)=>unassigned -#fincClass.pattern_280 = ^WZ([A-Z]|$)=>Allgemeines -#fincClass.pattern_281 = ^Y$=>unassigned -#fincClass.pattern_282 = ^YB([A-Z]|$)=>unassigned -#fincClass.pattern_283 = ^YD([A-Z]|$)=>unassigned -#fincClass.pattern_284 = ^YF([A-Z]|$)=>unassigned -#fincClass.pattern_285 = ^YN([A-Z]|$)=>unassigned -#fincClass.pattern_286 = ^YQ([A-Z]|$)=>Pädagogik -#fincClass.pattern_287 = ^YR([A-Z]|$)=>unassigned -#fincClass.pattern_288 = ^YX([A-Z]|$)=>unassigned -#fincClass.pattern_289 = ^YZ([A-Z]|$)=>unassigned \ No newline at end of file diff --git a/import/translation_maps/format_map.properties b/import/translation_maps/format_map.properties deleted file mode 100644 index 48cd864c98e60e1b19b02c3bc6cfc286b9e02572..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -Atlas = Map -Book = Book -BookComponentPart = Book Chapter -Braille = Braille -BRDisc = Blu-ray Disc -CDROM = Software -Chart = Photo -ChipCartridge = Software -Collage = Photo -DiscCartridge = Software -Drawing = Photo -eBook = eBook -Electronic = Electronic -Filmstrip = Video -FlashCard = Photo -FloppyDisk = Software -Globe = Globe -Journal = Journal -Kit = Kit -Manuscript = Manuscript -Map = Map -Microfilm = Microfilm -MotionPicture = Video -MusicalScore = Musical Score -MusicalScore = Musical Score -MusicRecording = Audio -Newspaper = Newspaper -Painting = Photo -Photonegative = Photo -Photo = Photo -PhysicalObject = Physical Object -Print = Photo -SensorImage = Sensor Image -SerialComponentPart = Article -Serial = Serial -Slide = Slide -Software = Software -SoundCassette = Cassette -SoundDisc = CD -SoundRecording = Audio -TapeCartridge = Software -TapeCassette = Software -TapeReel = Software -Transparency = Slide -Unknown = Unknown -VideoCartridge = Video -VideoCassette = VHS -VideoDisc = DVD -VideoReel = Video -Video = Video diff --git a/import/translation_maps/format_map_de105.properties b/import/translation_maps/format_map_de105.properties deleted file mode 100644 index c0f3be614f5bdcf60a44a1861a5eb59f8f5b0786..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_de105.properties +++ /dev/null @@ -1,330 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Formate der UB Freiberg, aus LIB_GMD_DESC - -#Folgende Gruppierung für Facetten (Basis siehe weiter unten): - -de105.pattern_0 = ^AT$=>Book -de105.pattern_1 = ^B$=>Book -de105.pattern_2 = ^CD$=>Multimedia -de105.pattern_3 = ^CDB$=>Book -de105.pattern_4 = ^CD[ST]$=>Multimedia -de105.pattern_5 = ^CDD$=>Database -de105.pattern_6 = ^CDK$=>Map -de105.pattern_7 = Z$=>Journal -de105.pattern_8 = ZR=>Book -de105.pattern_9 = ^D$=>Book -de105.pattern_10 = ^DA$=>Book -de105.pattern_11 = ^DA$=>Thesis -de105.pattern_12 = ^DB$=>Database -de105.pattern_13 = ^DIA$=>Image / Photo -de105.pattern_14 = ^DISK$=>Multimedia -de105.pattern_15 = ^DVD$=>Multimedia -de105.pattern_16 = ^DVDB$=>Book -de105.pattern_17 = ^DVDD$=>Database -de105.pattern_18 = ^DVDK$=>Map -de105.pattern_19 = ^DVD[RSV]=>Multimedia -de105.pattern_20 = ^E=>Ebook -de105.pattern_21 = ^EBOOK$=>Electronic Resource -de105.pattern_22 = ^EBOOK$=>Book -de105.pattern_23 = HS=>Thesis -de105.pattern_24 = ^EHS$=>Book -de105.pattern_25 = FI$|MF|FIHS=>Microform -de105.pattern_26 = ^FI[HL]=>Book -de105.pattern_27 = ^FIL=>Ebook -de105.pattern_28 = ^FILE$=>Thesis -de105.pattern_29 = ^FILE$=>Electronic Resource -de105.pattern_30 = ^HS=>Book -de105.pattern_31 = ^H$=>Manuscript -de105.pattern_32 = ^K$=>Image / Photo -de105.pattern_33 = ^KT$=>Map -de105.pattern_34 = ^KTA$=>Book -de105.pattern_35 = ^L[BO]=>Book -de105.pattern_36 = [OBR]E$=>Ebook -de105.pattern_37 = ^LOE$=>Book -de105.pattern_38 = ^M[BD]=>Book -de105.pattern_39 = ^MBE$=>Electronic Resource -de105.pattern_40 = ^MD$=>Multimedia -de105.pattern_41 = ^S[CK]=>Multimedia -de105.pattern_42 = ^VK$=>Multimedia -de105.pattern_43 = ^ZRE$=>Electronic Resource -de105.pattern_44 = ^Z[ST]=>Journal -de105.pattern_45 = ^Z[ST]E$=>Electronic Resource -de105.pattern_46 = ^UR$=>Deed -de105.pattern_47 = ^OV$=>Multimedia -de105.pattern_48 = ^OV$=>Lecture Recording -de105.pattern_49 = ^A$=>Contained Article -de105.pattern_50 = ^CDDA$=>Thesis -de105.pattern_51 = ^CDDA$=>Book -de105.pattern_52 = ^BEIL$=>Book -de105.pattern_53 = ^BL$=>Book -de105.pattern_54 = ^IPAD$=>iPad / Multimedia -de105.pattern_55 = ^APP$=>iPad / Multimedia -de105.pattern_56 = ^DVDDA$=>Thesis -de105.pattern_57 = ^DVDDA$=>Book - -de105.pattern_58 = QucosaArticles=>QucosaArticles -de105.pattern_59 = QucosaThesis=>Thesis -de105.pattern_60 = QucosaConferenceproceeding=>QucosaConferenceproceeding -de105.pattern_61 = QucosaScore=>QucosaScore -de105.pattern_62 = QucosaElectronicResource=>QucosaElectronicResource -de105.pattern_63 = QucosaEBOOK=>QucosaEBOOK - -de105.pattern_64 = Map=>Map - -########################### -# old: -#de105.pattern_0 = ^B$=>Book -#de105.pattern_1 = ^CDB$=>Book -#de105.pattern_2 = CD=>Multimedia -#de105.pattern_3 = ^H$=>Book -#de105.pattern_4 = ^H$=>Manuscript -#de105.pattern_5 = ^LB$=>Book -#de105.pattern_6 = ^LO=>Book -#de105.pattern_7 = ^M[BD]$=>Book -#de105.pattern_8 = ^BEIL$=>Book -#de105.pattern_9 = ^AT$=>Book -#de105.pattern_10 = ^BL$=>Book -#de105.pattern_11 = ^CDZ=>Journal / Serial -#de105.pattern_12 = ^Z=>Journal / Serial -#de105.pattern_13 = ^FI$=>Microform -#de105.pattern_14 = ^MF$=>Microform -#de105.pattern_15 = HS=>Thesis -#de105.pattern_16 = ^DA$=>Thesis -#de105.pattern_17 = ^CDK$=>Map -#de105.pattern_18 = ^KT=>Map -#de105.pattern_19 = ^DIA$=>Multimedia -#de105.pattern_20 = SK$=>Multimedia -#de105.pattern_21 = ^VK$=>Multimedia -#de105.pattern_22 = DVD=>Multimedia -#de105.pattern_23 = ^SCH$=>Multimedia -#de105.pattern_24 = ^DB$=>Online Resource -#de105.pattern_25 = ^MBE$=>Online Resource -#de105.pattern_26 = ^FILE$=>Online Resource -#de105.pattern_27 = ^Z[RST]E$=>Online Resource -#de105.pattern_28 = ^BDIS$=>Multimedia -#de105.pattern_29 = ^EBOOK$=>E-Book -#de105.pattern_30 = ^MBE$=>E-Book -#de105.pattern_31 = ^EBOOK$=>Online Resource -#de105.pattern_32 = ^D$=>Book -#de105.pattern_33 = ^NL$=>Book -#de105.pattern_34 = ^K$=>Map -#de105.pattern_35 = ^SP$=>Map -#de105.pattern_36 = ^UR$=>Deed -#de105.pattern_37 = ^FILE$=>Thesis - -######################################## -# Veränderung laut Ticket #1348 - -#neue Format-Facette: -#Datenbanken - darunter gruppiert: CDD, DB -#Bild / Foto - darunter gruppiert: DIA, K - -#Codes ohne Erklärung bleiben unverändert so wie bisher -#entfällt bald -> erstmal noch im Mapping belassen -#die auflistung hier ist maßgebend: wenn bei der vorherigen Liste z.B. KTA in die Format-Facette Karte ging, geht sie jetzt nur noch in BUch - -#Format-Codes à la DVDK etc. gibts bei uns in Libero noch nicht. da stricken wir gerade rum. die werden dann - solange es auch noch keine #Titel findet, nicht befüllt, richtig!? - -############ -#AT -> entfällt bald -#B -#CD -> entfällt bald, geht auf in CD-SPezifika -#CDB -#CDD -> Facette Datenbanken -#CDK -> Facette Karte -#CDS -> Facette Multimedia -#CDT -> Facette Multimedia -#CDZ -> Facette Zeitschrift -#CDZR -> Facette Buch -#D -> Facette Buch -#DA -> Facette Buch, Hoschulschrift -#DB -> Facette Datenbanken -#DIA -> Facette Bild / Foto -#DISK -> Facette Multimedia -#DVD -> entfällt bald, geht auf in DVD-Spezifika -#DVDA -> bitte löschen -#DVDB -> neu, Facette Buch -#DVDD -> neu, Facette Datenbanken -#DVDK -> neu, Facette Karte -#DVDROM -> entfällt bald, geht auf in DVD-Spezifika -#DVDV -> Facette Multimedia -#DVDZ -> Facette Zeitschrift -#EBOOK -> Facette Ebook, Online-Ressource, Buch -#EHS -> Facette Ebook, Hochschulschrift, Buch -#FI -#MF -#FIHS -> Facette Hochschulschrift, Mikroform, Buch, Ebook -#FILE -> Facette Hochschulschrift, Online-Ressource, Buch, Ebook -#H -#HS -> Facette Hochschulschrift, Buch -#K -> Facette Bild / Foto -#KT -#KTA -> Facette Buch -#LB -#LO -#LOE -> Facette Buch, Ebook -#MB -#MBE -> Facette Ebook, Online-Ressource, Buch -#MD -> Facette Buch, Multimedia -#SCH -#SK -#SP -> Facette _blank>nicht zugeordnet -#VK -#ZR -> Facette Buch -#ZRE -> Facette Buch, Ebook, Online-Ressource -#ZS -> Facette Zeitschrift -#ZSE -> Facette Zeitschrift, Online-Ressource -#ZT -> Facette Zeitschrift -#ZTE -> Facette Zeitschrift, Online-Ressource -#UR - -######################################## -# Veränderung laut Ticket #1083 -# FILE auch zusätzlich "Hochschulschrift" - -######################################## -# Veränderung laut Ticket #946 - -#"Digitale Medien" soll weg. - -#"Online-Ressourcen" -#FILE -#ZRE -#ZSE -#ZTE -#MBE -#DB -#EBOOK - -#"Multimedia" -#CDB -#CDD -#CDK -#CDS -#CDZ -#CDZR -#DISK -#BCD -#BDIS -#BSK -#BCDTU -#DVDROM -#DVDZ - -#"E-Book" -#EBOOK -#MBE - -#################################################### - -#Facette: Buch -#B -#CDB -#H -#LB -#LO -#LOE -#MB -#MD -#BEIL -#AT -#BL - -#Facette: Zeitschrift / Reihe -#CDZ -#CDZR -#ZR -#ZRE -#ZS -#ZSE -#ZT -#ZTE - -#Facette: Mikroform -#FI -#MF - -#Facette: Hochschulschrift -#EHS -#HS -#FIHS -#DA - -#Facette: Karte -#CDK -#KT - -#Facette: Multimedia -#DIA -#SK -#VK -#BDVD -#DVD -#SCH -#DVDA -#DVDV -#CDT -#CD - -#Facette: Manuskript -#H - -################################################## -#AT = Arbeitstransparent -#B = Monographie -#BCD = CD-ROM als Beilage -#BCDTU = CD-ROM als Beilage (nur für Angehörige der TUBAF) -#BDIS = Diskette als Beilage -#BDVD = DVD als Beilage -#BEIL = Beilage -#BL = Booklet -#BSK = Kassette als Beilage -#CD = CD-ROM -#CDB = Monographie auf CD-ROM -#CDD = Datenbank auf CD-ROM -#CDK = Karte auf CD-ROM -#CDS = Sprachkurs auf CD-ROM -#CDT = Tonträger auf CD-ROM -#CDZ = Zeitschrift auf CD-ROM -#CDZR = Zeitschr.artige Reihe auf CD-R -#D = Sonderdruck -#DA = Abschlussarbeit -#DB = Datenbanken im Netz -#DIA = Kleinbilddia -#DISK = Diskette -#DVD = DVD -#DVDA = Tonträger auf DVD -#DVDROM = Daten auf DVD-ROM -#DVDV = Bildmaterial auf DVD -#DVDZ = DVD für Fortsetzungen -#EBOOK = E-Book -#EHS = Hochschulschrift in elektron. Form -#FEHL = Datenübernahme -#FI = Mikrofiche -#FIHS = Hochschulschrift auf Mikrofiche -#FILE = Online-Ressource -#H = Handschrift -#HS = Hochschulschrift -#K = Kalender -#KT = Karte -#KTA = Einblattmaterial -#LB = Lehrbrief -#LO = Loseblattausgabe -#LOE = Loseblattausgabe elektronisch -#MB = Mehrbändiges Werk -#MBE = Mehrbändiges Werk elektronisch -#MD = Medienkombination -#MF = Mikrofilm -#NL = Nachlaß -#SCH = Schallplatte -#SK = Sprachkurs auf Kassette -#SP = Spiel -#VK = Videokassette -#ZR = Zeitschriftenartige Reihe -#ZRE = Elektron. Form Zeitschriftenartige Reihe -#ZS = Zeitschrift -#ZSE = Elektronische Zeitschrift -#ZT = Zeitung -#ZTE = Elektronische Zeitung diff --git a/import/translation_maps/format_map_de15.properties b/import/translation_maps/format_map_de15.properties deleted file mode 100644 index 099b0c212e242903c9becaef97faafd1b82bded8..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_de15.properties +++ /dev/null @@ -1,75 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -Book = Book, E-Book -eBook = Book, E-Book -ElectronicJournal = Journal, E-Journal -ElectronicSerial = Journal, E-Journal -Journal = Journal, E-Journal -Serial = Journal, E-Journal -ElectronicNewspaper = Journal, E-Journal -Newspaper = Journal, E-Journal -Article = Article, E-Article -ElectronicArticle = Article, E-Article -ElectronicThesis = Thesis -Thesis = Thesis -Atlas = Map -Globe = Map -Map = Map -AudioTape = Audio -CD = Audio -DVDAudio = Audio -MusicRecording = Audio -Record = Audio -SoundRecordingMedium = Audio -SoundCassette = Audio -SoundDisc = Audio -SoundRecording = Audio -AudioVisualMedia = Video -BluRayDisc = Video -DVDVideo = Video -Filmstrip = Video -MotionPicture = Video -Video = Video -VideoTape = Video -VideoCartridge = Video -VideoCassette = Video -VideoDisc = Video -VideoReel = Video -ArtPrint = Visual Media -Chart = Visual Media -Collage = Visual Media -Drawing = Visual Media -FlashCard = Visual Media -Painting = Visual Media -Photo = Visual Media -Photonegative = Visual Media -Placard = Visual Media -Print = Visual Media -SensorImage = Visual Media -Slide = Visual Media -Transparency = Visual Media -CDROM = Software -ChipCartridge = Software -DiscCartridge = Software -DVDROM = Software -FloppyDisk = Software -Software = Software -TapeCartridge = Software -TapeCassette = Software -TapeReel = Software -Microfiche = Microform -Microfilm = Microform -Microform = Microform -MusicalScore = Musical Score -NotatedMusic = Musical Score -ElectronicMusicalScore = Musical Score -Braille = Braille -Kit = Kit -Manuscript = Manuscript -Nachlass = Nachlass -PhysicalObject = Physical Object -Unknown = Unknown Format -Electronic = Website -ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) -ElectronicResourceRemoteAccess = Electronic Resource (Remote Access) diff --git a/import/translation_maps/format_map_de520.properties b/import/translation_maps/format_map_de520.properties deleted file mode 100644 index 6e41b1c52a82de349f2d67bd7dbc5d92156ee45e..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_de520.properties +++ /dev/null @@ -1,73 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Formate der HTW Dresden, aus LIB_GMD_DESC - -B = Book -MK = Book -LMK = Book -MT = Book -LBS = Book -N = Book -HS = Book -KT = Map -LF = Loose leaf edition -ZS = Journal/Newspaper print -ZT = Journal/Newspaper print -CDZ = Journal on data carrier -CD = Audio -CDS = Audio -DVDA = Audio -SK = Audio -DVDV = Video -VKA = Video -CDB = eBook on data carrier -CDMT = eBook on data carrier -DVDR = eBook on data carrier -CDD = eBook on data carrier -FI = eBook on data carrier -EB = eBook online -DB = Database online -ZSE = Journal online -ZTE = Journal online -MB = Multi volume set -SE = Multi volume set -ZR = Multi volume set -ZRE = Multi volume set -CDZR = Multi volume set -Aufsatz = Article online - -# Medientypen in deutscher Sprache: -#B = Buch -#MK = Buch -#LMK = Buch -#MT = Buch -#LBS = Buch -#N = Buch -#HS = Buch -#KT = Karte -#LF = Loseblattausgabe -#ZS = Zeitschrift/Zeitung Print -#ZT = Zeitschrift/Zeitung Print -#CDZ = Zeitschrift auf Datenträger -#CD = Audio -#CDS = Audio -#DVDA = Audio -#SK = Audio -#DVDV = Video -#VKA = Video -#CDB = eBook auf Datenträger -#CDMT = eBook auf Datenträger -#DVDR = eBook auf Datenträger -#CDD = eBook auf Datenträger -#FI = eBook auf Datenträger -#EB = eBook online -#DB = Datenbank online -#ZSE = Zeitschrift online -#ZTE = Zeitschrift online -#MB = Gesamttitel -#SE = Gesamttitel -#ZR = Gesamttitel -#ZRE = Gesamttitel -#CDZR = Gesamttitel -#Aufsatz = Aufsatz online \ No newline at end of file diff --git a/import/translation_maps/format_map_de540.properties b/import/translation_maps/format_map_de540.properties deleted file mode 100644 index 147375826f7766eeb40d2774b36de8de8033dab2..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_de540.properties +++ /dev/null @@ -1,75 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -Book = Book, E-Book -eBook = Book, E-Book -ElectronicJournal = Journal, E-Journal -ElectronicSerial = Journal, E-Journal -Journal = Journal, E-Journal -Serial = Journal, E-Journal -ElectronicNewspaper = Newspaper, E-Paper -Newspaper = Newspaper, E-Paper -Article = Article, E-Article -ElectronicArticle = Article, E-Article -ElectronicThesis = Thesis -Thesis = Thesis -Atlas = Map -Globe = Map -Map = Map -AudioTape = Audio -CD = Audio -DVDAudio = Audio -MusicRecording = Audio -Record = Audio -SoundRecordingMedium = Audio -SoundCassette = Audio -SoundDisc = Audio -SoundRecording = Audio -AudioVisualMedia = Video -BluRayDisc = Video -DVDVideo = Video -Filmstrip = Video -MotionPicture = Video -Video = Video -VideoTape = Video -VideoCartridge = Video -VideoCassette = Video -VideoDisc = Video -VideoReel = Video -ArtPrint = Visual Media -Chart = Visual Media -Collage = Visual Media -Drawing = Visual Media -FlashCard = Visual Media -Painting = Visual Media -Photo = Visual Media -Photonegative = Visual Media -Placard = Visual Media -Print = Visual Media -SensorImage = Visual Media -Slide = Visual Media -Transparency = Visual Media -CDROM = Software -ChipCartridge = Software -DiscCartridge = Software -DVDROM = Software -FloppyDisk = Software -Software = Software -TapeCartridge = Software -TapeCassette = Software -TapeReel = Software -Microfiche = Microform -Microfilm = Microform -Microform = Microform -MusicalScore = Musical Score -NotatedMusic = Musical Score -ElectronicMusicalScore = Musical Score -Braille = Braille -Kit = Kit -Manuscript = Manuscript -Nachlass = Nachlass -PhysicalObject = Physical Object -Unknown = Unknown Format -Electronic = Website -ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) -ElectronicResourceRemoteAccess = Electronic Resource (Remote Access) diff --git a/import/translation_maps/format_map_dech1.properties b/import/translation_maps/format_map_dech1.properties deleted file mode 100644 index 9f7970d5bb07197d9fd33772ef18b863681084cc..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_dech1.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DATA FROM INDEXER = Label -# - -# Libero-Formate der UB Chemnitz, aus LIB_GMD_DESC, gruppiert und als pattern-based -# translation map, um Mehrfachzuordnungen zu realisieren - -dech1.pattern_0 = Z=>Zeitschrift / Reihe -dech1.pattern_1 = ^RE$=>Zeitschrift / Reihe -dech1.pattern_2 = [AK]T=>Karte / Bild -dech1.pattern_3 = ^D$=>Karte / Bild -dech1.pattern_4 = ^DA$=>Karte / Bild -dech1.pattern_5 = ^DIA$=>Karte / Bild -dech1.pattern_6 = ^B$=>Buch -dech1.pattern_7 = ^DISS$=>Buch -dech1.pattern_8 = ^LO$=>Buch -dech1.pattern_9 = ^MB$=>Buch -dech1.pattern_10 = ^MKO$=>Buch -dech1.pattern_11 = ^R$=>Buch -dech1.pattern_12 = ^CD$=>Multimedia -dech1.pattern_13 = ^DV=>Multimedia -dech1.pattern_14 = ^KA$=>Multimedia -dech1.pattern_15 = ^MK=>Multimedia -dech1.pattern_16 = ^SLP$=>Multimedia -dech1.pattern_17 = ^SP=>Multimedia -dech1.pattern_18 = ^V$=>Multimedia -dech1.pattern_19 = ^CD[BDEKN]=>Elektronische Ressource -dech1.pattern_20 = ^CDZ[ENR]=>Elektronische Ressource -dech1.pattern_21 = ^DB$=>Elektronische Ressource -dech1.pattern_22 = ^DBV$=>Elektronische Ressource -dech1.pattern_23 = ^DCD$=>Elektronische Ressource -dech1.pattern_24 = ^DISK$=>Elektronische Ressource -dech1.pattern_25 = ^DO$=>Elektronische Ressource -dech1.pattern_26 = ^DVD[EN]=>Elektronische Ressource -dech1.pattern_27 = ^EBOOK$=>Elektronische Ressource -dech1.pattern_28 = ^EHS$=>Elektronische Ressource -dech1.pattern_29 = ^FILE$=>Elektronische Ressource -dech1.pattern_30 = ^SPR$=>Elektronische Ressource -dech1.pattern_31 = ^ZE=>Elektronische Ressource -dech1.pattern_32 = ^DA$=>Hochschulschrift -dech1.pattern_33 = ^DCD$=>Hochschulschrift -dech1.pattern_34 = ^DISS$=>Hochschulschrift -dech1.pattern_35 = ^DMF$=>Hochschulschrift -dech1.pattern_36 = ^DO$=>Hochschulschrift -dech1.pattern_37 = HS$=>Hochschulschrift -dech1.pattern_38 = MF$=>Mikroform -dech1.pattern_39 = ^ZM=>Mikroform -dech1.pattern_40 = ^KA$=>Noten -dech1.pattern_41 = ^NOT$=>Noten - -# Libero-Formate der UB Chemnitz, aus LIB_GMD_DESC, gruppiert, Stand 15.05.2012 - -# AT = Karte / Bild -# B = Buch -# CD = Multimedia -# CDB = Elektronische Ressource -# CDD = Elektronische Ressource -# CDE = Elektronische Ressource -# CDK = Elektronische Ressource -# CDN = Elektronische Ressource -# CDZA = Zeitschrift / Reihe -# CDZE = Elektronische Ressource -# CDZE = Zeitschrift / Reihe -# CDZN = Elektronische Ressource -# CDZN = Zeitschrift / Reihe -# CDZR = Elektronische Ressource -# CDZR = Zeitschrift / Reihe -# D = Karte / Bild -# DA = Hochschulschrift -# DA = Karte / Bild -# DB = Elektronische Ressource -# DBV = Elektronische Ressource -# DCD = Elektronische Ressource -# DCD = Hochschulschrift -# DIA = Karte / Bild -# DISK = Elektronische Ressource -# DISS = Buch -# DISS = Hochschulschrift -# DMF = Hochschulschrift -# DMF = Mikroform -# DO = Elektronische Ressource -# DO = Hochschulschrift -# DVDE = Elektronische Ressource -# DVDE = Multimedia -# DVDN = Elektronische Ressource -# DVDN = Multimedia -# EBOOK = Elektronische Ressource -# EHS = Elektronische Ressource -# EHS = Hochschulschrift -# FILE = Elektronische Ressource -# HS = Hochschulschrift -# KA = Multimedia -# KA = Noten -# KT = Karte / Bild -# LO = Buch -# MB = Buch -# MF = Mikroform -# MKO = Buch -# MKO = Multimedia -# MKZ = Multimedia -# MKZ = Zeitschrift / Reihe -# NOT = Noten -# R = Buch -# RE = Zeitschrift / Reihe -# SLP = Multimedia -# SP = Multimedia -# SPR = Elektronische Ressource -# SPR = Multimedia -# V = Multimedia -# Z = Zeitschrift / Reihe -# ZA = Zeitschrift / Reihe -# ZE = Elektronische Ressource -# ZE = Zeitschrift / Reihe -# ZEA = Elektronische Ressource -# ZEA = Zeitschrift / Reihe -# ZM = Mikroform -# ZM = Zeitschrift / Reihe -# ZMA = Mikroform -# ZMA = Zeitschrift / Reihe -# ZR = Zeitschrift / Reihe \ No newline at end of file diff --git a/import/translation_maps/format_map_ded117.properties b/import/translation_maps/format_map_ded117.properties deleted file mode 100644 index 147375826f7766eeb40d2774b36de8de8033dab2..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_ded117.properties +++ /dev/null @@ -1,75 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -Book = Book, E-Book -eBook = Book, E-Book -ElectronicJournal = Journal, E-Journal -ElectronicSerial = Journal, E-Journal -Journal = Journal, E-Journal -Serial = Journal, E-Journal -ElectronicNewspaper = Newspaper, E-Paper -Newspaper = Newspaper, E-Paper -Article = Article, E-Article -ElectronicArticle = Article, E-Article -ElectronicThesis = Thesis -Thesis = Thesis -Atlas = Map -Globe = Map -Map = Map -AudioTape = Audio -CD = Audio -DVDAudio = Audio -MusicRecording = Audio -Record = Audio -SoundRecordingMedium = Audio -SoundCassette = Audio -SoundDisc = Audio -SoundRecording = Audio -AudioVisualMedia = Video -BluRayDisc = Video -DVDVideo = Video -Filmstrip = Video -MotionPicture = Video -Video = Video -VideoTape = Video -VideoCartridge = Video -VideoCassette = Video -VideoDisc = Video -VideoReel = Video -ArtPrint = Visual Media -Chart = Visual Media -Collage = Visual Media -Drawing = Visual Media -FlashCard = Visual Media -Painting = Visual Media -Photo = Visual Media -Photonegative = Visual Media -Placard = Visual Media -Print = Visual Media -SensorImage = Visual Media -Slide = Visual Media -Transparency = Visual Media -CDROM = Software -ChipCartridge = Software -DiscCartridge = Software -DVDROM = Software -FloppyDisk = Software -Software = Software -TapeCartridge = Software -TapeCassette = Software -TapeReel = Software -Microfiche = Microform -Microfilm = Microform -Microform = Microform -MusicalScore = Musical Score -NotatedMusic = Musical Score -ElectronicMusicalScore = Musical Score -Braille = Braille -Kit = Kit -Manuscript = Manuscript -Nachlass = Nachlass -PhysicalObject = Physical Object -Unknown = Unknown Format -Electronic = Website -ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) -ElectronicResourceRemoteAccess = Electronic Resource (Remote Access) diff --git a/import/translation_maps/format_map_del152.properties b/import/translation_maps/format_map_del152.properties deleted file mode 100644 index 5a9fe24d38acf9b129a4a67edfd944c2bd41ebe0..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_del152.properties +++ /dev/null @@ -1,39 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -# Libero-Formate der HMT Leipzig, aus LIB_GMD_DESC, gruppiert und als pattern-based -# translation map, um Mehrfachzuordnungen zu realisieren - -del152.pattern_0 = ^A$=>Aufsatz -del152.pattern_1 = ^B$=>Buch -del152.pattern_2 = CD$=>CD -del152.pattern_3 = TIT=>Hierarchie -del152.pattern_4 = ^TIT$=>Buch -del152.pattern_5 = CDD$=>CD-ROM -del152.pattern_6 = ^DVD$=>DVD -del152.pattern_7 = MK=>Medienkombination -del152.pattern_8 = ^N$=>Noten -del152.pattern_9 = [DFT]N$=>Noten -del152.pattern_10 = OD$=>E-Text -del152.pattern_11 = SP$=>Schallplatte -del152.pattern_12 = VV=>Videokassette -del152.pattern_13 = ^DN$=>Elektronisch -del152.pattern_14 = ^SF=>Mikrofilm -del152.pattern_15 = ^SF$=>Buch -del152.pattern_16 = ^AU$=>Noten -del152.pattern_17 = ^DB$=>Datenbank -del152.pattern_18 = ^H$=>Handschrift -del152.pattern_19 = ^HS$=>Buch -del152.pattern_20 = ^K$=>Kassette -del152.pattern_21 = ^LB$=>Buch -del152.pattern_22 = ZS$=>Zeitschrift -del152.pattern_23 = ^OZS$=>Elektronisch -#speziell fuer BMS online -del152.pattern_24 = ^WL$=>Weitere Literaturnachweise -#speziell fuer Naxos Music Library -del152.pattern_25 = ^ECD=>Elektronisch -del152.pattern_26 = ^PN$=>Petrucci-Noten -del152.pattern_27 = ^DVDO$=>DVDO -del152.pattern_28 = ^DVDV$=>DVD -#3193: HideFacetValue Aufsatz but have own icon for AufsatzBuch -del152.pattern_29 = ^[A]$=>Buch diff --git a/import/translation_maps/format_map_del189.properties b/import/translation_maps/format_map_del189.properties deleted file mode 100644 index 733f29dff7bd21cb3a6ffb2eb65c624c07a9d4cc..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_del189.properties +++ /dev/null @@ -1,79 +0,0 @@ -# -# DATA FROM INDEXER = Label -# Siehe #1499. -# -# IMPORTANT NOTE: No spaces on the left hand side, please. - -ArtPrint = Art Print -Collage = Art Print -Drawing = Art Print -Painting = Art Print -Article = Article -ElectronicArticle = Article -Atlas = Map -AudioTape = Audio -CD = Audio -DVDAudio = Audio -MusicRecording = Audio -Record = Audio -SoundRecordingMedium = Audio -SoundCassette = Audio -SoundDisc = Audio -SoundRecording = Audio -TapeCartridge = Audio -TapeCassette = Audio -TapeReel = Audio -AudioVisualMedia = Electronic Resource (Data Carrier) -BluRayDisc = Electronic Resource (Data Carrier) -CDROM = Electronic Resource (Data Carrier) -ChipCartridge = Electronic Resource (Data Carrier) -DiscCartridge = Electronic Resource (Data Carrier) -DVDROM = Electronic Resource (Data Carrier) -DVDVideo = Electronic Resource (Data Carrier) -ElectronicResourceDataCarrier = Electronic Resource (Data Carrier) -FloppyDisk = Electronic Resource (Data Carrier) -Book = Book -Manuscript = Book -Braille = Braille -Chart = Offprint -FlashCard = Offprint -Map = Offprint -Placard = Offprint -Print = Offprint -Slide = Offprint -Transparency = Offprint -eBook = E-Book -ElectronicThesis = E-Book -Electronic = Online Resource -ElectronicResourceRemoteAccess = Online Resource -ElectronicJournal = Electronic Journal -ElectronicSerial = Electronic Journal -ElectronicNewspaper = Electronic Newspaper -Filmstrip = Film -MotionPicture = Film -Globe = Physical Object -Kit = Physical Object -PhysicalObject = Physical Object -Journal = Journal -Microfiche = Microform -Microfilm = Microform -Microform = Microform -Photonegative = Microform -MusicalScore = Musical Score -NotatedMusic = Musical Score -ElectronicMusicalScore = Musical Score -Nachlass = Inheritance -Newspaper = Newspaper -Photo = Photo -SensorImage = Sensor Image -Serial = Serial -Software = Software -Thesis = Book -HTWK-Thesis = HTWK Thesis -Unknown = Unknown Format -Video = Video -VideoTape = Video -VideoCartridge = Video -VideoCassette = Video -VideoDisc = Video -VideoReel = Video diff --git a/import/translation_maps/format_map_dezi4.properties b/import/translation_maps/format_map_dezi4.properties deleted file mode 100644 index c85a7c76e2e24cac18d02eb5db6fec16e2463a01..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_dezi4.properties +++ /dev/null @@ -1,49 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -## Libero-Formate der HS Zittau/Görlitz, aus der LIB_GMD_DESC -B = Book -CDROM = CD-ROM -DA = Bachelor-/Master-/Diploma-Theses -DISK = Disk -DVD = DVD -EB = e-Book -FI = Microfiche -HS = Dissertation -KT = Map -LB = Loose-leaf edition -MB = Multi volume set_1 -MBDVD = Multi volume DVD -MW = Multi volume set_2 -SE = Multi volume set_3 -SOTO = Audio -SP = Game -VID = Video -ZR = Multi volume set_4 -ZS = Journal -ZSCROM = Journal on data carrier -ZT = Newspaper -# Medientypen in deutscher Sprache: -#B = Monographie -#CDROM = CD-ROM -#DA = Bachelor-/Master-/Diplomarbeit -#DISK = Disketten -#DVD = DVD -#EB = E-Book -#FI = Mikrofiche -#HS = Hochschulschrift -#KT = Karte -#LB = Loseblattsammlung -#MB = mehrbändige Werke -#MBDVD = mehrbändige DVD -#MW = mehrbändige Werke in Reihe -#SE = Schriftenreihe (Serie) -#SOTO = Sonstige Tonträger -#SP = Spiel -#VID = Video -#ZR = Zeitschriftenartige Reihe -#ZS = Zeitschrift -#ZSCROM = Zeitschriftenjahrgang CDROM -#ZT = Zeitung -8 = e-Book -17 = e-Book diff --git a/import/translation_maps/format_map_dezwi2.properties b/import/translation_maps/format_map_dezwi2.properties deleted file mode 100644 index 9b599b94e98c2ad36cdbf65e6a389d0dd5f6b5a2..0000000000000000000000000000000000000000 --- a/import/translation_maps/format_map_dezwi2.properties +++ /dev/null @@ -1,65 +0,0 @@ -# -# DATA FROM INDEXER = Label -# -## Libero-Formate der Westsächsischen Hochschule Zwickau [https://www.katalog.fh-zwickau.de], aus der LIB_GMD_DESC -B = Book -BCD = Book with CD -CD = Audio CD -CDROM = CD-ROM -CDZ = Journal on CD-ROM -DISK = Disk -DVDR = DVD-ROM -DVDV = DVD -EB = Ebook -HB = Talking book -HS = Academic publication -KAS = Cassette -KT = Map -LF = Loose-leaf edition -LP = Record -MB = Multi-volume edition -MK = Media combination -NOT = Music notes -SE = Series -SVB = Book (in several parts) -SVC = Audio CD (in several parts) -SVCR = CD-ROM (in several parts) -SVDVD = DVD-ROM (in several parts) -SVHB = Talking book (in several parts) -SVK = Cassette (in several parts) -SVMK = Media combination (in several parts) -SVV = Video (in several parts) -V = Video -ZS = Journal -ZT = Newspaper -# Medientypen in deutscher Sprache: -#B = Buch -#BCD = Buch mit CD -#CD = Audio-CD -#CDROM = CD-ROM -#CDZ = Zeitschrift auf CD-ROM -#DISK = Diskette -#DVDR = DVD-ROM -#DVDV = DVD-Video -#EB = eBook -#HB = Hörbuch -#HS = Hochschulschrift -#KAS = Kassette -#KT = Karte -#LF = Loseblattsammlung -#LP = Schallplatte -#MB = Mehrbändiges Werk -#MK = Medienkombination -#NOT = Noten -#SE = Serie -#SVB = Buch (mehrteilig) -#SVC = Audio-CD (mehrteilig) -#SVCR = CD-ROM (mehrteilig) -#SVDVD = DVD (mehrteilig) -#SVHB = Hörbuch (mehrteilig) -#SVK = Kassette (mehrteilig) -#SVMK = Medienkombination (mehrteilig) -#SVV = Video (mehrteilig) -#V = Video -#ZS = Zeitschrift -#ZT = Zeitung \ No newline at end of file diff --git a/import/translation_maps/geogr_code_map.properties b/import/translation_maps/geogr_code_map.properties deleted file mode 100644 index bfb70c2b8936ecd7700debc0d35512a24c378a44..0000000000000000000000000000000000000000 --- a/import/translation_maps/geogr_code_map.properties +++ /dev/null @@ -1,373 +0,0 @@ -# Geographical codes according to DIN ISO 3166 -# based on this document provided by the German National Library http://www.dnb.de/SharedDocs/Downloads/DE/DNB/standardisierung/inhaltserschliessung/laendercodesSyst.pdf - -# translation based on Wikipedia; for the German translation please see de.ini - -# Europa -XA = Europe -XA-AD = Andorra -XA-AL = Albania -XA-AT = Austria -XA-AT-1 = Austria / Burgenland -XA-AT-2 = Austria / Carinthia -XA-AT-3 = Austria / Lower Austria -XA-AT-4 = Austria / Upper Austria -XA-AT-5 = Austria / Salzburg -XA-AT-6 = Austria / Styria -XA-AT-7 = Austria / Tyrol -XA-AT-8 = Austria / Vorarlberg -XA-AT-9 = Austria / Vienna -XA-AX = Ã…land Islands -XA-BA = Bosnia and Herzegovina -XA-BE = Belgium -XA-BG = Bulgaria -XA-BY = Belarus -XA-CH = Switzerland -XA-CH-AG = Switzerland / Aargau -XA-CH-AI = Switzerland / Appenzell Innerrhoden -XA-CH-AR = Switzerland / Appenzell Ausserrhoden -XA-CH-BE = Switzerland / Bern -XA-CH-BL = Switzerland / Basel-Landschaft -XA-CH-BS = Switzerland / Basel -XA-CH-FR = Switzerland / Fribourg -XA-CH-GE = Switzerland / Geneva -XA-CH-GL = Switzerland / Glarus -XA-CH-GR = Switzerland / Graubünden -XA-CH-JU = Switzerland / Jura -XA-CH-LU = Switzerland / Lucerne -XA-CH-NE = Switzerland / Neuchâtel -XA-CH-NW = Switzerland / Nidwalden -XA-CH-OW = Switzerland / Obwalden -XA-CH-SG = Switzerland / St. Gallen -XA-CH-SH = Switzerland / Schaffhausen -XA-CH-SO = Switzerland / Solothurn -XA-CH-SZ = Switzerland / Schwyz -XA-CH-TG = Switzerland / Thurgau -XA-CH-TI = Switzerland / Ticino -XA-CH-UR = Switzerland / Uri -XA-CH-VD = Switzerland / Vaud -XA-CH-VS = Switzerland / Valais -XA-CH-ZG = Switzerland / Zug -XA-CH-ZH = Switzerland / Zurich -XA-CY = Cyprus -XA-CZ = Czech Republic -XA-DE = Germany -XA-DE-BB = Germany / Brandenburg -XA-DE-BE = Germany / Berlin -XA-DE-BW = Germany / Baden-Württemberg -XA-DE-BY = Germany / Bavaria -XA-DE-HB = Germany / Bremen -XA-DE-HE = Germany / Hesse -XA-DE-HH = Germany / Hamburg -XA-DE-MV = Germany / Mecklenburg-Vorpommern -XA-DE-NI = Germany / Lower Saxony -XA-DE-NW = Germany / North Rhine-Wesphalia -XA-DE-RP = Germany / Rhineland-Palatinate -XA-DE-SH = Germany / Schleswig-Holstein -XA-DE-SL = Germany / Saarland -XA-DE-SN = Germany / Saxony -XA-DE-ST = Germany / Saxony-Anhalt -XA-DE-TH = Germany / Thuringia -XA-DK = Denmark -XA-EE = Estonia -XA-ES = Spain -XA-FI = Finland -XA-FR = France -XA-GB = United Kingdom -XA-GG = Guernsey -XA-GI = Gibraltar -XA-GR = Greece -XA-HR = Croatia -XA-HU = Hungary -XA-IE = Ireland -XA-IM = Isle of Man -XA-IS = Iceland -XA-IT = Italy -XA-IT-32 = Italy / Trentino-Alto Adige -XA-JE = Jersey -XA-LI = Liechtenstein -XA-LT = Lithuania -XA-LU = Luxembourg -XA-LV = Latvia -XA-MC = Monaco -XA-MD = Moldova -XA-ME = Montenegro -XA-MK = Macedonia -XA-MT = Malta -XA-NL = Netherlands -XA-NO = Norway -XA-PL = Poland -XA-PT = Portugal -XA-RO = Romania -XA-RS = Serbia -XA-RU = Russia -XA-SE = Sweden -XA-SI = Slovenia -XA-SK = Slovakia -XA-SM = San Marino -XA-UA = Ukraine -XA-VA = Vatican City -# Asien -XB = Asia -XB-AE = United Arab Emirates -XB-AF = Afghanistan -XB-AM = Armenia -XB-AZ = Azerbaijan -XB-BD = Bangladesh -XB-BH = Bahrain -XB-BN = Brunei -XB-BT = Bhutan -XB-CN = China -XB-CN-54 = Tibet -XB-GE = Georgia -XB-HK = Hong Kong -XB-ID = Indonesia -XB-IL = Israel -XB-IN = India -XB-IQ = Iraq -XB-IR = Iran -XB-JO = Jordan -XB-JP = Japan -XB-KG = Kyrgyzstan -XB-KH = Cambodia -XB-KP = North Korea -XB-KR = South Korea -XB-KW = Kuwait -XB-KZ = Kazakhstan -XB-LA = Laos -XB-LB = Lebanon -XB-LK = Sri Lanka -XB-MM = Myanmar -XB-MN = Mongolia -XB-MO = Macao -XB-MV = Maldives -XB-MY = Malaysia -XB-NP = Nepal -XB-OM = Oman -XB-PH = Philippines -XB-PK = Pakistan -XB-PS = Palestinian territories -XB-QA = Qatar -XB-SA = Saudi Arabia -XB-SG = Singapore -XB-SY = Syria -XB-TH = Thailand -XB-TJ = Tajikistan -XB-TL = Timor-Leste -XB-TM = Turkmenistan -XB-TR = Turkey -XB-TW = Taiwan -XB-UZ = Uzbekistan -XB-VN = Vietnam -XB-YE = Yemen -# Afrika -XC = Africa -XC-AO = Angola -XC-BF = Burkina Faso -XC-BI = Burundi -XC-BJ = Benin -XC-BW = Botswana -XC-CD = Congo, Democratic Republic of the Congo -XC-CF = Central African Republic -XC-CG = Congo, Republic of the Congo -XC-CI = Côte d'Ivoire -XC-CM = Cameroon -XC-CV = Cape Verde -XC-DJ = Djibouti -XC-DZ = Algeria -XC-EG = Egypt -XC-EH = Western Sahara -XC-ER = Eritrea -XC-ET = Ethiopia -XC-GA = Gabon -XC-GH = Ghana -XC-GM = Gambia -XC-GN = Guinea -XC-GQ = Equatorial Guinea -XC-GW = Guinea-Bissau -XC-KE = Kenya -XC-KM = Comoros -XC-LR = Liberia -XC-LS = Lesotho -XC-LY = Libya -XC-MA = Morocco -XC-MG = Madagascar -XC-ML = Mali -XC-MR = Mauritania -XC-MU = Mauritius -XC-MW = Malawi -XC-MZ = Mozambique -XC-NA = Namibia -XC-NE = Niger -XC-NG = Nigeria -XC-RW = Rwanda -XC-SC = Seychelles -XC-SD = Sudan -XC-SL = Sierra Leone -XC-SN = Senegal -XC-SO = Somalia -XC-SS = South Sudan -XC-ST = São Tomé and PrÃncipe -XC-SZ = Swaziland -XC-TD = Chad -XC-TG = Togo -XC-TN = Tunisia -XC-TZ = Tanzania -XC-UG = Uganda -XC-YT = Mayotte -XC-ZA = South Africa -XC-ZM = Zambia -XC-ZW = Zimbabwe -# Amerika -XD = America -XD-AG = Antigua and Barbuda -XD-AI = Anguilla -XD-AR = Argentina -XD-AS = American Samoa -XD-AW = Aruba -XD-BB = Barbados -XD-BL = Saint Barthélemy -XD-BM = Bermuda -XD-BO = Bolivia -XD-BQ = Bonaire, Sint Eustatius, Saba (Caribbean Netherlands) -XD-BR = Brazil -XD-BS = Bahamas -XD-BZ = Belize -XD-CA = Canada -XD-CL = Chile -XD-CO = Colombia -XD-CR = Costa Rica -XD-CU = Cuba -XD-CW = Curaçao -XD-DM = Dominica -XD-DO = Dominican Republic -XD-EC = Ecuador -XD-GD = Grenada -XD-GF = French Guiana -XD-GP = Guadeloupe -XD-GT = Guatemala -XD-GY = Guyana -XD-HN = Honduras -XD-HT = Haiti -XD-JM = Jamaica -XD-KN = Saint Kitts und Nevis -XD-KY = Cayman Islands -XD-LC = Saint Lucia -XD-MF = Saint Martin -XD-MQ = Martinique -XD-MS = Montserrat -XD-MX = Mexico -XD-NI = Nicaragua -XD-PA = Panama -XD-PE = Peru -XD-PM = Saint Pierre and Miquelon -XD-PR = Puerto Rico -XD-PY = Paraguay -XD-SR = Suriname -XD-SV = El Salvador -XD-SX = Sint Maarten -XD-TC = Turks and Caicos Islands -XD-TT = Trinidad and Tobago -XD-US = USA -XD-UY = Uruguay -XD-VC = Saint Vincent and the Grenadines -XD-VE = Venezuela -XD-VG = Virgin Islands, British -XD-VI = Virgin Islands, United States -# Australien, Ozeanien -XE = Australia and Oceania -XE-AU = Australia -XE-CC = Cocos (Keeling) Islands -XE-CK = Cook Islands -XE-CX = Christmas Island <Australia> -XE-FJ = Fiji -XE-FM = Micronesia, Federated States of -XE-GU = Guam -XE-KI = Kiribati -XE-MH = Marshall Islands -XE-MP = Northern Mariana Islands -XE-NC = New Caledonia -XE-NF = Norfolk Island -XE-NR = Nauru -XE-NZ = New Zealand -XE-PF = French Polynesia -XE-PG = Papua New Guinea -XE-PW = Palau -XE-SB = Solomon Islands -XE-TK = Tokelau -XE-TO = Tonga -XE-TV = Tuvalu -XE-VU = Vanuatu -XE-WF = Wallis and Futuna -XE-WS = Samoa -# Arktis und Antarktis -XH = Arctic -XI = Antarctic -XI-AQ = Antarctica -XI-HM = Heard Islands and McDonald Islands -# Atlantischer Ozean -XK = Atlantic Ocean -XK-BV = Bouvet Island -XK-FK = Falkland Islands -XK-FO = Faroe Islands -XK-GL = Greenland -XK-GS = South Georgia and the South Sandwich Islands -XK-SH = Saint Helena, Ascension and Tristan da Cunha -XK-SJ = Svalbard and Jan Mayen -# Indischer Ozean -XL = Indian Ocean -XL-IO = British Indian Ocean Territory -XL-RE = Réunion -XL-TF = French Southern and Antarctic Lands -# Pazifischer Ozean -XM = Pacific Ocean -XM-NU = Niue -XM-PN = Pitcairn -XM-UM = United States Minor Outlying Islands -# Kontinentübergreifende Staatengruppen, Sonstiges -XN = Outer Space -XP = International organisations and communities of states -XQ = Entire world -XW = Palestinian people -XX = Arab people -XY = Jewish people -XZ = Fictitious places -ZZ = Other places -XR = Ancient Near East -XS = Ancient Greece -XT = Roman Empire -XU = Byzantine Empire -XV = Ottoman Empire -# Historische Bezeichnungen -NTHH = Saudi-Iraqi neutral zone (-1993) -XA-AAAT = Austria (- 12.11.1918) -XA-CSHH = Czechoslovakia (-1993) -XA-CSXX = Serbia and Montenegro (2003-2006) -XA-DDDE = German Democratic Republic (-1990) -XA-DXDE = German Reich -XA-FXFR = Metropolitan France (1993-1997) -XA-SUHH = Soviet Union (-1992) -XA-YUCS = Yugoslavia (-2003) -XB-BUMM = Burma (-1989) -XB-SKIN = Sikkim (-1975) -XB-TPTL = East Timor (-2002) -XB-VDVN = Vietnam, Republic of (i.e. South Vietnam) (-1977) -XB-YDYE = Yemen (i.e. South Yemen) (-1990) -XC-AIDJ = Djibouti (French Territory of the Afars and the Issas) (-1977) -XC-DYBJ = Benin (Dahomey) (-1977) -XC-HVBF = Burkina Faso (Upper Volta) (-1984) -XC-RHZW = Zimbabwe (Southern Rhodesia) (-1980) -XC-ZRCD = Congo, Democratic Republic of the Congo (Zaire) (-1997) -XD-ANHH = Netherlands Antilles (1974-2011) -XD-PZPA = Panama Canal Zone (-1980) -XE-CTKI = Canton and Enderbury Islands (-1984) -XE-GEHH = Gilbert and Ellice Islands (-1979) -XE-NHVU = Vanuatu (New Hebrides) (-1980) -XE-PCHH = Pacific Islands, Trust Territory of the (-1986) -XI-BQAQ = British Antarctic Territory (-1979) -XI-FQHH = French Southern and Antarctic Lands (-1979) -XI-NQAQ = Queen Maud Land (-1983) -XM-JTUM = Johnston Island (-1986) -XM-MIUM = Midway Islands (-1986) -XM-PUUM = United States Miscellaneous Pacific Islands (-1986) -XM-WKUM = Wake Island (-1986) \ No newline at end of file diff --git a/import/translation_maps/getformat_mixin_map.properties b/import/translation_maps/getformat_mixin_map.properties deleted file mode 100644 index 941ebcd2550ba9f2be96413f6693a9999822a4d1..0000000000000000000000000000000000000000 --- a/import/translation_maps/getformat_mixin_map.properties +++ /dev/null @@ -1,218 +0,0 @@ -#ContentType -ContentType.Art = Visual Materials -ContentType.ArtReproduction = Visual Materials -ContentType.Atlas = Map|Atlas -ContentType.Book = Book -ContentType.BookCollection = Book -ContentType.BookComponentPart = Book -ContentType.BookSeries = Journal/Magazine -ContentType.BookSubunit = Book -ContentType.Chart = Visual Materials -ContentType.ComputerBibliographicData = Computer Resource -ContentType.ComputerCombination = Computer Resource -ContentType.ComputerDocument = null -ContentType.ComputerFile = Computer Resource -ContentType.ComputerFont = Computer Resource -ContentType.ComputerGame = Computer Resource -ContentType.ComputerInteractiveMultimedia = Computer Resource -ContentType.ComputerNumericData = Computer Resource -ContentType.ComputerOnlineSystem = Computer Resource -ContentType.ComputerProgram = Computer Resource -ContentType.ComputerRepresentational = Computer Resource -ContentType.ComputerSound = Computer Resource -ContentType.Database = Computer Resource -ContentType.Diorama = Physical Object -ContentType.Filmstrip = Visual Materials -ContentType.FlashCard = Visual Materials -ContentType.Game = Physical Object -ContentType.GovernmentDocumentFederal = Government Document -ContentType.GovernmentDocumentState = Government Document -ContentType.GovernmentDocumentStateUniversity = null -ContentType.GovernmentDocumentLocal = null -ContentType.GovernmentDocumentInternational = Government Document -ContentType.GovernmentDocumentOther = null -ContentType.Globe = Map|Globe|Physical Object -ContentType.Graphic = Visual Materials -ContentType.Image = Visual Materials -ContentType.Kit = Kit -ContentType.LooseLeaf = Journal/Magazine|Looseleaf -ContentType.Manuscript = Manuscript -ContentType.Map = Map -ContentType.MapBound = Map -ContentType.MapManuscript = Map|Manuscript -ContentType.MapSeparate = Map -ContentType.MapSerial = Map -ContentType.MapSeries = Map -ContentType.MapSingle = Map -ContentType.MicroscopeSlide = Physical Object -ContentType.MixedMaterial = Mixed Materials -ContentType.Model = Physical Object -ContentType.MotionPicture = Film -ContentType.MusicalScore = Musical Score -ContentType.MusicalScoreManuscript = Musical Score|Manuscript -ContentType.MusicRecording = Sound Recording -ContentType.Newspaper = Journal/Magazine|Newspaper -ContentType.Pamphlet = Visual Materials -ContentType.Periodical = Journal/Magazine|Periodical -ContentType.PhysicalObject = Physical Object -ContentType.Picture = Visual Materials -ContentType.ProjectedMedium = Visual Materials -ContentType.Realia = Visual Materials -ContentType.Serial = Journal/Magazine -ContentType.SerialComponentPart = Journal/Magazine -ContentType.SerialIntegratingResource = Journal/Magazine -ContentType.Slide = Visual Materials -ContentType.SoundRecording = Sound Recording -ContentType.SpecialInstructionalMaterial = Special Instructional Material -ContentType.TechnicalDrawing = Visual Materials -ContentType.Thesis = Thesis/Dissertation -ContentType.Toy = Physical Object -ContentType.Transparency = Visual Materials -ContentType.Video = Video -ContentType.VisualKit = Visual Materials -ContentType.Website = Online|Computer Resource - -#MediaType -MediaType.ActivityCard = Visual Materials -MediaType.Atlas = Map|Atlas -MediaType.Braille = Braille -MediaType.Broadside = Broadside -MediaType.Chart = Visual Materials -MediaType.Collage = Visual Materials -MediaType.ComputerCard = Computer Media -MediaType.ComputerChipCartridge = Computer Media -MediaType.ComputerDiscCartridge = Computer Media -MediaType.ComputerDisk = Computer Media -MediaType.ComputerFloppyDisk = Computer Media -MediaType.ComputerMagnetoOpticalDisc = Computer Media -MediaType.ComputerOpticalDisc = Computer Media -MediaType.ComputerOpticalDiscCartridge = Computer Media -MediaType.ComputerOther = Computer Media -MediaType.ComputerTapeCartridge = Computer Media -MediaType.ComputerTapeCassette = Computer Media -MediaType.ComputerTapeReel = Computer Media -MediaType.Drawing = Visual Materials -MediaType.Electronic = Computer Resource -MediaType.Electronic245 = null -MediaType.ElectronicDirect = Computer Resource -MediaType.FilmCassette = Visual Materials -MediaType.FilmOther = Visual Materials -MediaType.Filmslip = Visual Materials -MediaType.Filmstrip = Visual Materials|Filmstrip -MediaType.FilmstripCartridge = Visual Materials|Filmstrip -MediaType.FilmstripRoll = Visual Materials|Filmstrip -MediaType.FlashCard = Visual Materials -MediaType.Globe = Map|Globe -MediaType.GlobeCelestial = Map|Globe -MediaType.GlobeEarthMoon = Map|Globe -MediaType.GlobeOther = Map|Globe -MediaType.GlobePlanetary = Map|Globe -MediaType.GlobeTerrestrial = Map|Globe -MediaType.Icon = Visual Materials -MediaType.ImageOther = Visual Materials -MediaType.ImagePrint = Visual Materials -MediaType.Kit = Kit -MediaType.LooseLeaf = Journal/Magazine|Looseleaf -MediaType.Map = Map -MediaType.MapDiagram = Map -MediaType.MapModel = Map -MediaType.MapOther = Map -MediaType.MapProfile = Map -MediaType.MapSection = Map -MediaType.MapView = Map -MediaType.Microfiche = Microform -MediaType.MicroficheCassette = Microform -MediaType.Microfilm = Microform -MediaType.MicrofilmCartridge = Microform -MediaType.MicrofilmCassette = Microform -MediaType.MicrofilmReel = Microform -MediaType.MicrofilmRoll = Microform -MediaType.MicrofilmSlip = Microform -MediaType.Microform = Microform -MediaType.MicroformApetureCard = Microform -MediaType.Microopaque = Microform -MediaType.MusicalScore = Musical Score -MediaType.Online = Online -MediaType.Painting = Visual Materials -MediaType.Photo = Visual Materials -MediaType.PhotomechanicalPrint = Visual Materials -MediaType.Photonegative = Visual Materials -MediaType.PhotoPrint = Visual Materials -MediaType.Picture = Visual Materials -MediaType.Postcard = Visual Materials -MediaType.Poster = Visual Materials -MediaType.Print = Print -MediaType.PrintLarge = Large Print -MediaType.ProjectedMediumOther = Visual Materials -MediaType.Radiograph = Visual Materials -MediaType.SensorImage = Visual Materials -MediaType.Slide = Visual Materials -MediaType.Software = Computer Resource -MediaType.SoundCartridge = Cartridge -MediaType.SoundCassette = Cassette -MediaType.SoundCylinder = Cylinder -MediaType.SoundDisc = null -MediaType.SoundDiscCD = CD -MediaType.SoundDiscLP = LP -MediaType.SoundRecordingOther = Other Media -MediaType.SoundRecordingOnline = Streaming Audio -MediaType.SoundRoll = Roll -MediaType.SoundTapeReel = Tape Reel -MediaType.SoundTrackFilm = Sound Track Film -MediaType.SoundWireRecording = Wire Recording -MediaType.StudyPrint = Visual Materials -MediaType.TactileCombination = Physical Object -MediaType.TactileMoon = Physical Object -MediaType.TactileNoWritingSystem = Physical Object -MediaType.TactileOther = Physical Object -MediaType.TextOther = Book -MediaType.Transparency = Visual Materials -MediaType.Video8mm = Video|Video 8mm -MediaType.VideoBeta = Video|Video Beta -MediaType.VideoBetacam = Video|Video Betacam -MediaType.VideoBetacamSP = Video|Video Betacam SP -MediaType.VideoBluRay = Video|DVD|Blu-Ray -MediaType.VideoCartridge = Video|Video Other -MediaType.VideoCassette = Video|Video Other -MediaType.VideoCapacitance = Video|Video CED -MediaType.VideoD2 = Video|Video D-2 -MediaType.VideoDisc = Video|Video Disc -MediaType.VideoDVD = Video|DVD -MediaType.VideoEIAJ = Video|Video EIAJ -MediaType.VideoHi8 = Video|Video Hi 8mm -MediaType.VideoLaserdisc = Video|Laserdisc -MediaType.VideoMII = Video|Video M-II -MediaType.VideoOther = Video|Video Other -MediaType.VideoOnline = Video|Online Video -MediaType.VideoQuadruplex = Video|Video Quadraplex -MediaType.VideoReel = Video|Video Other -MediaType.VideoSuperVHS = Video|Super-VHS -MediaType.VideoTypeC = Video|Video Type C -MediaType.VideoUMatic = Video|Video U-Matic -MediaType.VideoVHS = Video|VHS -MediaType.VideoVHS_From500 = VHS -MediaType.VideoDVD_From500 = DVD -MediaType.VideoLaserdisc_From500 = Laserdisc -MediaType.VideoBeta_From500 = Video Beta -MediaType.VideoVHS_From300 = VHS -MediaType.VideoDVD_From300 = DVD -MediaType.VideoLaserdisc_From300 = Laserdisc - - -#FormOfItem -FormOfItem.Microfilm = Microform -FormOfItem.Microfiche = Microform -FormOfItem.Microopaque = Microform -FormOfItem.PrintLarge = Large Print -FormOfItem.Braille = Braille -FormOfItem.Online = Online -FormOfItem.ElectronicDirect = null -FormOfItem.Electronic = null -FormOfItem.Print = Print - -#CombinedType -CombinedType.EBook = EBook -CombinedType.EJournal = EJournal - -#ControlType -ControlType.Archive = Archive diff --git a/import/translation_maps/getformat_mixin_unmap_map.properties b/import/translation_maps/getformat_mixin_unmap_map.properties deleted file mode 100644 index dad1b5dd2ab50a607ca58ec7569ce0fe136cd2b2..0000000000000000000000000000000000000000 --- a/import/translation_maps/getformat_mixin_unmap_map.properties +++ /dev/null @@ -1,220 +0,0 @@ -#ContentType -ContentType.Art = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=a OR 006[16]=a) -ContentType.ArtReproduction = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=c OR 006[16]=c) -ContentType.Book = Leader[67]=am -ContentType.BookCollection = Leader[67]=ac -ContentType.BookComponentPart = Leader[67]=aa -ContentType.BookSeries = (Leader[67]=as OR 006[0]=s) AND (008[21]=m OR 006[4]=m) -ContentType.BookSubunit = Leader[67]=ad -ContentType.Chart = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=n OR 006[16]=n) -ContentType.ComputerBibliographicData = (Leader[6]=m OR 006[0]=m) AND (008[26]=e OR 006[9]=e) -ContentType.ComputerCombination = (Leader[6]=m OR 006[0]=m) AND (008[26]=m OR 006[9]=m) -ContentType.ComputerDocument = (Leader[6]=m OR 006[0]=m) AND (008[26]=d OR 006[9]=d) -ContentType.ComputerFile = (Leader[6]=m OR 006[0]=m) -ContentType.ComputerFont = (Leader[6]=m OR 006[0]=m)AND 008[26]=f OR 006[9]=f) -ContentType.ComputerGame = (Leader[6]=m OR 006[0]=m) AND (008[26]=g OR 006[9]=g) -ContentType.ComputerInteractiveMultimedia = (Leader[6]=m OR 006[0]=m) AND (008[26]=i OR 006[9]=i) -ContentType.ComputerNumericData = (Leader[6]=m OR 006[0]=m) AND (008[26]=a OR 006[9]=a) -ContentType.ComputerOnlineSystem = (Leader[6]=m OR 006[0]=m) AND (008[26]=j OR 006[9]=j) -ContentType.ComputerProgram = (Leader[6]=m OR 006[0]=m) AND (008[26]=b OR 006[9]=b) -ContentType.ComputerRepresentational = (Leader[6]=m OR 006[0]=m) AND (008[26]=c OR 006[9]=c) -ContentType.ComputerSound = (Leader[6]=m OR 006[0]=m) AND (008[26]=h OR 006[9]=h) -ContentType.Database = (Leader[67]=as OR 006[0]=s) AND (008[21]=d OR 006[4]=d) -ContentType.Diorama = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=d OR 006[16]=d) -ContentType.Filmstrip = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=f OR 006[16]=f) -ContentType.FlashCard = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=o OR 006[16]=o) -ContentType.Game = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=g OR 006[16]=g) -ContentType.GovernmentDocumentFederal = Leader[6]=a s AND (008[28]=f OR 006[11]=f ) -ContentType.GovernmentDocumentState = Leader[6]=a s AND (008[28]=s m OR 006[11]= s m ) -ContentType.GovernmentDocumentStateUniversity = Leader[6]=a s AND (008[28]=s OR 006[11]= s AND 260b contains University) -ContentType.GovernmentDocumentLocal = Leader[6]=a s AND (008[28]=c l OR 006[11]= c l ) -ContentType.GovernmentDocumentInternational = Leader[6]=a s AND (008[28]=i OR 006[11]= i ) -ContentType.GovernmentDocumentOther = Leader[6]=a s AND (008[28]=a o z OR 006[11]= a o z ) -ContentType.Graphic = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=k OR 006[16]=k) -ContentType.Image = (Leader[6]=k OR 006[0]=k) -ContentType.Kit = (Leader[6]=o OR 006[0]=o) -ContentType.LooseLeaf = (Leader[6]=as OR 006[0]=s) AND (008[21]=l OR 006[4]=l) -ContentType.Manuscript = (Leader[6]=t OR 006[0]=t) -ContentType.Map = (Leader[6]=e OR 006[0]=e) -ContentType.MapAtlas = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=e OR 006[8]=e) -ContentType.MapBound = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=g OR 006[8]=g) -ContentType.MapGlobe = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=d OR 006[8]=d) -ContentType.MapManuscript = (Leader[6]=f OR 006[0]=f) -ContentType.MapSeparate = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=f OR 006[8]=f) -ContentType.MapSerial = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=c OR 006[8]=c) -ContentType.MapSeries = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=b OR 006[8]=b) -ContentType.MapSingle = (Leader[6]=e OR 006[0]=e) OR f AND (008[25]=a OR 006[8]=a) -ContentType.MicroscopeSlide = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=p OR 006[16]=p) -ContentType.MixedMaterial = (Leader[6]=p OR 006[0]=p) -ContentType.Model = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=q OR 006[16]=q) -ContentType.MotionPicture = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=m OR 006[16]=m) -ContentType.MusicalScore = (Leader[6]=c OR 006[0]=c) -ContentType.MusicalScoreManuscript = (Leader[6]=d OR 006[0]=d) -ContentType.MusicRecording = (Leader[6]=j OR 006[0]=j) -ContentType.Newspaper = (Leader[67]=as OR 006[0]=s) AND (008[21]=n OR 006[4]=n) -ContentType.Pamphlet = (Leader[6]=p OR 006[0]=p) -ContentType.Periodical = (Leader[67]=as OR 006[0]=s) AND (008[21]=p OR 006[4]=p) -ContentType.PhysicalObject = (Leader[6]=r OR 006[0]=r) -ContentType.Picture = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=i OR 006[16]=i) -ContentType.ProjectedMedium = (Leader[6]=g OR 006[0]=g) -ContentType.Realia = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=r OR 006[16]=r) -ContentType.Serial = (Leader[67]=as OR 006[0]=s) -ContentType.SerialComponentPart = Leader[67]=ab -ContentType.SerialIntegratingResource = Leader[67]=ai -ContentType.Slide = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=s OR 006[16]=s) -ContentType.SoundRecording = (Leader[6]=i OR 006[0]=i) -ContentType.SpecialInstructionalMaterial = (Leader[6]=n OR 006[0]=n) -ContentType.TechnicalDrawing = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=l OR 006[16]=l) -ContentType.Thesis = Field 502 Not Empty -ContentType.Toy = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=w OR 006[16]=w) -ContentType.Transparency = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=t OR 006[16]=t) -ContentType.Video = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=v OR 006[16]=v) -ContentType.VisualKit = (Leader[6]=g k o r OR 006[0]=g k o r) AND (008[33]=b OR 006[16]=b) -ContentType.Website = (Leader[67]=as OR 006[0]=s) AND (008[21]=w OR 006[4]=w) - -#MediaType -MediaType.ActivityCard = 007[01]=ka -MediaType.Atlas = 007[01]=ad -MediaType.Braille = 007[01]=fb OR 007[01]=tc -MediaType.Broadside = Heuristic (300 field) -MediaType.Chart = 007[01]=kn -MediaType.Collage = 007[01]=kc -MediaType.ComputerCard = 007[01]=ck -MediaType.ComputerChipCartridge = 007[01]=cb -MediaType.ComputerDiscCartridge = 007[01]=ce -MediaType.ComputerDisk = 007[01]=cd -MediaType.ComputerFloppyDisk = 007[01]=cj -MediaType.ComputerMagnetoOpticalDisc = 007[01]=cm -MediaType.ComputerOpticalDisc = 007[01]=co -MediaType.ComputerOpticalDiscCartridge = 007[01]=cc -MediaType.ComputerOther = 007[0]=c 007[1]!={abcdefhjkmor} -MediaType.ComputerTapeCartridge = 007[01]=ca -MediaType.ComputerTapeCassette = 007[01]=cf -MediaType.ComputerTapeReel = 007[01]=ch -MediaType.Drawing = 007[01]=kd -MediaType.Electronic = Computer Resource -MediaType.Electronic245 = 245h contains [electronic resource] -MediaType.ElectronicDirect = Computer Resource -MediaType.FilmCartridge = 007[01]=mc -MediaType.FilmCassette = 007[01]=mf -MediaType.FilmOther = 007[0]=m 007[1]!={cfor} -MediaType.FilmRoll = 007[01]=mo -MediaType.FilmReel = 007[01]=mr -MediaType.Filmslip = 007[01]=gd -MediaType.Filmstrip = 007[01]=gf -MediaType.FilmstripCartridge = 007[01]=gc -MediaType.FilmstripRoll = 007[01]=go -MediaType.FlashCard = 007[01]=ko -MediaType.GlobeCelestial = 007[01]=da -MediaType.GlobeEarthMoon = 007[01]=de -MediaType.GlobeOther = 007[0]=d 007[1]!={abce} -MediaType.GlobePlanetary = 007[01]=db -MediaType.GlobeTerrestrial = 007[01]=dc -MediaType.Icon = 007[01]=kq -MediaType.ImageOther = 007[0]=a 007[1]!={acdefghijklnopqrsv} -MediaType.ImagePrint = 007[01]=kj -MediaType.Kit = 007[0]=o -MediaType.LooseLeaf = 007[01]=td -MediaType.Map = 007[01]=aj -MediaType.MapDiagram = 007[01]=ag -MediaType.MapModel = 007[01]=aq -MediaType.MapOther = 007[0]=a 007[1]!={dgjkqrsy} -MediaType.MapProfile = 007[01]=ak -MediaType.MapSection = 007[01]=as -MediaType.MapView = 007[01]=ay -MediaType.Microfiche = 007[01]=he -MediaType.MicroficheCassette = 007[01]=hf -MediaType.Microfilm = 007[0]=h 007[1]!={abcdefghj} -MediaType.MicrofilmCartridge = 007[01]=hb -MediaType.MicrofilmCassette = 007[01]=hc -MediaType.MicrofilmReel = 007[01]=hd -MediaType.MicrofilmRoll = 007[01]=hj -MediaType.MicrofilmSlip = 007[01]=hh -MediaType.Microform = Microform -MediaType.MicroformApetureCard = 007[01]=ha -MediaType.Microopaque = 007[01]=hg -MediaType.MusicalScore = 007[0]=q -MediaType.Online = 007[01]=cr OR has 856 field with indicator 40 -MediaType.Painting = 007[01]=ke -MediaType.Photo = 007[01]=kv -MediaType.PhotomechanicalPrint = 007[01]=kf -MediaType.Photonegative = 007[01]=kg -MediaType.PhotoPrint = 007[01]=kh -MediaType.Picture = 007[01]=ki -MediaType.Postcard = 007[01]=kp -MediaType.Poster = 007[01]=kk -MediaType.Print = 007[01]=ta -MediaType.PrintLarge = 007[01]=tb -MediaType.ProjectedMediumOther = 007[0]=g 007[1]!={cdfost} -MediaType.Radiograph = 007[01]=kr -MediaType.SensorImage = 007[01]=ar OR 007[0]=r -MediaType.Slide = 007[01]=gs -MediaType.Software = Computer Resource -MediaType.SoundCartridge = 007[01]=sg -MediaType.SoundCassette = 007[01]=ss -MediaType.SoundCylinder = 007[01]=se -MediaType.SoundDisc = 007[01]=sd -MediaType.SoundDiscCD = 007[01]=sd AND 007[3]=f -MediaType.SoundDiscLP = 007[01]=sd AND 007[3]=abde -MediaType.SoundRecordingOther = 007[0]=s 007[1]!={cdefgirqstw} -MediaType.SoundRecordingOnline = 007[0]=s 007[1]=z AND Online -MediaType.SoundRoll = 007[01]=sq -MediaType.SoundTapeReel = 007[01]=st -MediaType.SoundTrackFilm = 007[01]=si -MediaType.SoundWireRecording = 007[01]=sw -MediaType.StudyPrint = 007[01]=ks -MediaType.TactileCombination = 007[01]=fc -MediaType.TactileMoon = 007[01]=fa -MediaType.TactileNoWritingSystem = 007[01]=fd -MediaType.TactileOther = 007[0]=f 007[1]!={abcd} -MediaType.TextOther = 007[0]=t 007[1]!={abcd} -MediaType.TechnicalDrawing = 007[01]=kl -MediaType.Transparency = 007[01]=gt -MediaType.Video8mm = 007[01]=vf AND 007[4]=p -MediaType.VideoBeta = 007[01]=vf AND 007[4]=a -MediaType.VideoBetacam = 007[01]=vf AND 007[4]=i -MediaType.VideoBetacamSP = 007[01]=vf AND 007[4]=j -MediaType.VideoBluRay = 007[01]=vd AND 007[4]=s -MediaType.VideoCartridge = 007[01]=vc -MediaType.VideoCassette = 007[01]=vf -MediaType.VideoCapacitance = 007[01]=vd AND 007[4]=h -MediaType.VideoD2 = 007[01]=vf AND 007[4]=o -MediaType.VideoDisc = 007[01]=vd -MediaType.VideoDVD = 007[01]=vd AND 007[4]=v -MediaType.VideoEIAJ = 007[01]=vr AND 007[4]=d -MediaType.VideoHi8 = 007[01]=vf AND 007[4]=q -MediaType.VideoLaserdisc = 007[01]=vd AND 007[4]=g -MediaType.VideoMII = 007[01]=vf AND 007[4]=m -MediaType.VideoOther = 007[0]=v AND (007[1]!= {cdfr} OR 007[4]!={abcdefghijkmopqsv}) AND NOT isOnline -MediaType.VideoOnline = 007[0]=v AND (007[1]!= {cdfr} OR 007[4]!={abcdefghijkmopqsv}) AND isOnline -MediaType.VideoQuadruplex = 007[01]=vr AND 007[4]=f -MediaType.VideoReel = 007[01]=vr -MediaType.VideoSuperVHS = 007[01]=vf AND 007[4]=k -MediaType.VideoTypeC = 007[01]=vr AND 007[4]=e -MediaType.VideoUMatic = 007[01]=vf AND 007[4]=c -MediaType.VideoVHS = 007[01]=vf AND 007[4]=b -MediaType.VideoVHS_From500 = 500 or 538 field contains VHS -MediaType.VideoDVD_From500 = 500 or 538 field contains DVD -MediaType.VideoLaserdisc_From500 = 500 or 538 field contains Laserdisc -MediaType.VideoBeta_From500 = 500 or 538 field contains Beta -MediaType.VideoVHS_From300 = 300 field contains videocassette -- 1/2 -MediaType.VideoDVD_From300 = 300 field contains videodisc -- 4 1/2 -MediaType.VideoLaserdisc_From300 = 300 field contains videodisc -- 12 - -#FormOfItem -FormOfItem.Microfilm = 008[23]=a OR 006[6]=a OR 008[29]=a OR 006[12]=a -FormOfItem.Microfiche = 008[23]=b OR 006[6]=b OR 008[29]=b OR 006[12]=b -FormOfItem.Microopaque = 008[23]=c OR 006[6]=c OR 008[29]=c OR 006[12]=c -FormOfItem.PrintLarge = 008[23]=d OR 006[6]=d OR 008[29]=d OR 006[12]=d -FormOfItem.Braille = 008[23]=f OR 006[6]=f OR 008[29]=f OR 006[12]=f -FormOfItem.Online = 008[23]=o OR 006[6]=o OR 008[29]=o OR 006[12]=o -FormOfItem.ElectronicDirect = 008[23]=q OR 006[6]=q OR 008[29]=q OR 006[12]=q -FormOfItem.Electronic = 008[23]=s OR 006[6]=s OR 08[29]=s OR 006[12]=s -FormOfItem.Print = 008[23]=r OR 006[6]=r OR 008[29]=r OR 006[12]=r - -#CombinedType -CombinedType.EBook = Is Book AND is Online -CombinedType.EJournal = Is Serial AND is Online - -#ControlType -ControlType.Archive = Archive diff --git a/import/translation_maps/htwk_udk_map.properties b/import/translation_maps/htwk_udk_map.properties deleted file mode 100644 index 4fe478407792ece17418e2ab62f3bbc5e57fd55d..0000000000000000000000000000000000000000 --- a/import/translation_maps/htwk_udk_map.properties +++ /dev/null @@ -1,142 +0,0 @@ -# UDK to Facet mapping file HTWK => trunk/import/translation_maps -# Copy of mapping file for TUBAF - to be changed. - -# UDK 1978 -htwk_udk.pattern_0 = ^DK 0=>Allgemeines -htwk_udk.pattern_1 = ^DK 1=>Philosophie. Psychologie -htwk_udk.pattern_2 = ^DK 2=>Religion. Theologie -htwk_udk.pattern_3 = ^DK 3$=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde -htwk_udk.pattern_4 = ^DK 30=>Soziologie. Soziale Fragen. Soziographie -htwk_udk.pattern_5 = ^DK 31=>Statistik -htwk_udk.pattern_6 = ^DK 32=>Politik -htwk_udk.pattern_7 = ^DK 33=>Wirtschaft. Wirtschaftswissenschaften -htwk_udk.pattern_8 = ^DK 34=>Recht. Rechtswissenschaften -htwk_udk.pattern_9 = ^DK 35=>Öffentliche Verwaltung. Kriegskunst. Kriegswissenschaften -htwk_udk.pattern_10 = ^DK 36=>Fürsorge. Volkshilfe. Versicherung -htwk_udk.pattern_11 = ^DK 37=>Erziehung. Bildung. Unterricht. Freizeitgestaltung -htwk_udk.pattern_12 = ^DK 38=>Metrologie. Maß- und Gewichtswesen -htwk_udk.pattern_13 = ^DK 39=>Völkerkunde. Volkskunde. Sitte. Brauchtum. Volksleben. Folklore -htwk_udk.pattern_14 = ^DK 3\D=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde -htwk_udk.pattern_15 = ^DK 5$=>Mathematik. Naturwissenschaften -htwk_udk.pattern_16 = ^DK 502=>Naturschutz -htwk_udk.pattern_17 = ^DK 504=>Umweltwissenschaften -htwk_udk.pattern_18 = ^DK 50[\D1]=>Allgemeines über die Naturwissenschaften -htwk_udk.pattern_19 = ^DK 51=>Mathematik -htwk_udk.pattern_20 = ^DK 52=>Astronomie. Gedäsie -htwk_udk.pattern_21 = ^DK 53$=>Physik -htwk_udk.pattern_22 = ^DK 530=>Theoretische Physik -htwk_udk.pattern_23 = ^DK 531=>Mechanik starrer Körper -htwk_udk.pattern_24 = ^DK 534=>Mechnische Schwingungen -htwk_udk.pattern_25 = ^DK 535=>Optik -htwk_udk.pattern_26 = ^DK 536=>Wärmelehre -htwk_udk.pattern_27 = ^DK 539$=>Physikalischer Aufbau der Materie -htwk_udk.pattern_28 = ^DK 539\.1=>Kern- und Atomphysik -htwk_udk.pattern_29 = ^DK 539\.2=>Festkörperphysik -htwk_udk.pattern_30 = ^DK 539\.[3-8]=>Deformation. Festigkeit -htwk_udk.pattern_31 = ^DK 53[23]=>Mechanik der Flüssigkeiten und Gase -htwk_udk.pattern_32 = ^DK 53[78]=>Elektrizität. Magnetismus -htwk_udk.pattern_33 = ^DK 53\D=>Physik -htwk_udk.pattern_34 = ^DK 54$=>Chemie. Mineralogie -htwk_udk.pattern_35 = ^DK 541=>Physikalische Chemie -htwk_udk.pattern_36 = ^DK 542=>Experimentalchemie -htwk_udk.pattern_37 = ^DK 543=>Analytische Chemie -htwk_udk.pattern_38 = ^DK 546=>Anorganische Chemie -htwk_udk.pattern_39 = ^DK 547=>Organische Chemie -htwk_udk.pattern_40 = ^DK 548=>Kristallographie -htwk_udk.pattern_41 = ^DK 549=>Mineralogie -htwk_udk.pattern_42 = ^DK 54\D=>Chemie. Mineralogie -htwk_udk.pattern_43 = ^DK 55=>Geologwissenschaften ohne Paläontologie -htwk_udk.pattern_44 = ^DK 56=>Paläontologie -htwk_udk.pattern_45 = ^DK 57=>Biologie -htwk_udk.pattern_46 = ^DK 58=>Botanik -htwk_udk.pattern_47 = ^DK 59=>Zoologie -htwk_udk.pattern_48 = ^DK 5\D=>Mathematik. Naturwissenschaften -htwk_udk.pattern_49 = ^DK 6$=>Angewandte Wissenschaften. Medizin. Technik -htwk_udk.pattern_50 = ^DK 61=>Medizin -htwk_udk.pattern_51 = ^DK 62$=>Ingenieurwesen. Technik im Allgemeinen -htwk_udk.pattern_52 = ^DK 620=>Werkstoffprüfung. Warenkunde. Kraftzentralen. Energiewirtschaft -htwk_udk.pattern_53 = ^DK 621$=>Maschinen-, Anlagen- & Energietechnik -htwk_udk.pattern_54 = ^DK 621\.3=>Elektrotechnik, Elektronik -htwk_udk.pattern_55 = ^DK 621\.7=>Fertigungstechnik. Fügen. Oberflächenbehandlung -htwk_udk.pattern_56 = ^DK 621\.8=>Maschinenelemente. Fördermittel. Schmierung -htwk_udk.pattern_57 = ^DK 621\.9=>Spanende Umformtechnik. Zerkleinerungs- und Abscheidevorrichtungen. Blechbearbeitung -htwk_udk.pattern_58 = ^DK 621\.[0-24-6]=>Maschinen-, Anlagen- & Energietechnik -htwk_udk.pattern_59 = ^DK 622=>Bergbau. Rohstoffgewinnung -htwk_udk.pattern_60 = ^DK 623=>Wehrtechnik -htwk_udk.pattern_61 = ^DK 624=>Geotechnik. Bauingenieurwesen -htwk_udk.pattern_62 = ^DK 625=>Technik der Verkehrswege zu Lande. Eisenbahnbau. Straßenbau. Wegebau -htwk_udk.pattern_63 = ^DK 626=>Allgemeiner Wasserbau. Kanalbau. Landeskulturbau -htwk_udk.pattern_64 = ^DK 627=>Wasserbau. Hafen- und Seebau -htwk_udk.pattern_65 = ^DK 628=>Gesundheitstechnik. Wasser. Sanitäre Anlagen. Lichttechnik -htwk_udk.pattern_66 = ^DK 629=>Fahrzeugtechnik -htwk_udk.pattern_67 = ^DK 62\(038\)$=>Technik - Wörterbücher -htwk_udk.pattern_68 = ^DK 62\(083\.7\)$=>Technik - Normen, Standards -htwk_udk.pattern_69 = ^DK 62\D=>Ingenieurwesen. Technik im Allgemeinen -htwk_udk.pattern_70 = ^DK 63$=>Landwirtschaft und verwandte Wissenschaften und Techniken -htwk_udk.pattern_71 = ^DK 631$=>Landwirtschaft und verwandte Wissenschaften und Techniken -htwk_udk.pattern_72 = ^DK 631\.4=>Bodenkunde -htwk_udk.pattern_73 = ^DK 631\.[0-35-9]=>Landwirtschaft und verwandte Wissenschaften und Techniken -htwk_udk.pattern_74 = ^DK 63[02-9\D]=>Landwirtschaft und verwandte Wissenschaften und Techniken -htwk_udk.pattern_75 = ^DK 64=>Hauswirtschaft -htwk_udk.pattern_76 = ^DK 65=>Betriebsführung und Organisation von Industrie, Handel und Verkehr -htwk_udk.pattern_77 = ^DK 66$=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige -htwk_udk.pattern_78 = ^DK 66-=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige -htwk_udk.pattern_79 = ^DK 666=>Glas. Email. Keramik. Kunststeine. Zement (Gesteinshüttenkunde) -htwk_udk.pattern_80 = ^DK 667=>Farbtechnische Industrien -htwk_udk.pattern_81 = ^DK 669=>Metallurgie. Metalle und Legierungen -htwk_udk.pattern_82 = ^DK 66[1-5]=>Verschiedene Industriezweige -htwk_udk.pattern_83 = ^DK 66\.0=>Verfahrenstechnik -htwk_udk.pattern_84 = ^DK 67$=>Verschiedene Industrien und Gewerbe. Mechanische Technologie -htwk_udk.pattern_85 = ^DK 671=>Gegenstände aus Edelmetall und Edelsteinen -htwk_udk.pattern_86 = ^DK 672=>Gegenstände aus Eisen und Stahl -htwk_udk.pattern_87 = ^DK 673=>Gegenstände aus Nichteisenmetallen außer Edelmetallen -htwk_udk.pattern_88 = ^DK 674=>Holzindustrie -htwk_udk.pattern_89 = ^DK 675=>Lederindustrie. Pelze. Kunstleder -htwk_udk.pattern_90 = ^DK 676=>Papierindustrie -htwk_udk.pattern_91 = ^DK 677=>Textilindustrie. Textilveredelung. Kabelindustrie -htwk_udk.pattern_92 = ^DK 678=>Industrie der natürlichen und synthetischen makromolekularen Stoffe. Gummiindustrie. Kunststoffindustrie -htwk_udk.pattern_93 = ^DK 679=>Technologie der Steine. Industrie der Steine und Erden -htwk_udk.pattern_94 = ^DK 67\D=>Verschiedene Industrien und Gewerbe. Mechanische Technologie -htwk_udk.pattern_95 = ^DK 68$=>Verschiedene Industrien und Gewerbe -htwk_udk.pattern_96 = ^DK 681$=>Feinmechanik -htwk_udk.pattern_97 = ^DK 681\.3=>IT. Informatik. Software -htwk_udk.pattern_98 = ^DK 681\.[0-24-9]=>Feinmechanik -htwk_udk.pattern_99 = ^DK 682=>Schmiedegewerbe. Hufbeschlag -htwk_udk.pattern_100 = ^DK 683=>Eisenwaren. Schlosserei -htwk_udk.pattern_101 = ^DK 684=>Möbelindustrie und verwandte Industrien -htwk_udk.pattern_102 = ^DK 685=>Sattlerei. Riemerei. Schuhmacherei. Handschuhmacherei. Reiseartikel und Sportgeräte. Spielartikel -htwk_udk.pattern_103 = ^DK 686=>Buchbinderei. Metallisierung. Glaserei. Bürogeräte -htwk_udk.pattern_104 = ^DK 687=>Bekleidungsindustrie. Schönheitspflege -htwk_udk.pattern_105 = ^DK 688=>Kunstdrechselei. Spielwaren. Dekorationsartikel -htwk_udk.pattern_106 = ^DK 689=>Technische und handwerkliche Liebhaberarbeiten. Bastelarbeiten -htwk_udk.pattern_107 = ^DK 68\D=>Verschiedene Industrien und Gewerbe -htwk_udk.pattern_108 = ^DK 69=>Baustoffe. Bauhandwerk. Bauarbeiten -htwk_udk.pattern_109 = ^DK 6\D=>Angewandte Wissenschaften. Medizin. Technik -htwk_udk.pattern_110 = ^DK 7$=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport -htwk_udk.pattern_111 = ^DK 71=>Raumordnung. Landesplanung. Städtebau. Landschaftsgestaltung. Gartenarchitektur -htwk_udk.pattern_112 = ^DK 72=>Architektur. Baukunst -htwk_udk.pattern_113 = ^DK 73=>Bildhauerei. Münzkunde. Künstlerische Metallverarbeitung -htwk_udk.pattern_114 = ^DK 74=>Zeichenkunst. Kunstgewerbe -htwk_udk.pattern_115 = ^DK 75=>Malerei -htwk_udk.pattern_116 = ^DK 76=>Graphische Künste. Graphik -htwk_udk.pattern_117 = ^DK 77=>Photographie -htwk_udk.pattern_118 = ^DK 78=>Musik -htwk_udk.pattern_119 = ^DK 79=>Unterhaltung. Spiele. Sport -htwk_udk.pattern_120 = ^DK 7\D=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport -htwk_udk.pattern_121 = ^DK 8=>Sprachwissenschaften. Philologie. Schöne Literatur. Literaturwissenschaft -htwk_udk.pattern_122 = ^DK 9$=>Geographie. Biographien. Geschichte -htwk_udk.pattern_123 = ^DK 91$=>Geographie. Erforschung der Erde und Länder. Reisen. Länderkunde. Landeskunde -htwk_udk.pattern_124 = ^DK 910=>Allg. Fragen der Geographie -htwk_udk.pattern_125 = ^DK 911=>Physische Geographie & Anthropogeographie -htwk_udk.pattern_126 = ^DK 912=>Karten und Atlanten -htwk_udk.pattern_127 = ^DK 91[3-9]=>Geographie. Erforschung der Erde und Länder. Reisen. Länderkunde. Landeskunde -htwk_udk.pattern_128 = ^DK 92=>Biographien. Genealogie. Heraldik -htwk_udk.pattern_129 = ^DK 93=>Geschichtswissenschaft. Alte Geschichte -htwk_udk.pattern_130 = ^DK 94=>Geschichte Europas -htwk_udk.pattern_131 = ^DK 95=>Geschichte Asiens -htwk_udk.pattern_132 = ^DK 96=>Geschichte Afrikas -htwk_udk.pattern_133 = ^DK 97=>Geschichte Nordamerikas -htwk_udk.pattern_134 = ^DK 98=>Geschichte Südamerikas -htwk_udk.pattern_135 = ^DK 99=>Geschichte der ozeanischen und polarischen Gebiete -htwk_udk.pattern_136 = ^DK 9[0\D]=>Geographie. Biographien. Geschichte - diff --git a/import/translation_maps/instrument_map.properties b/import/translation_maps/instrument_map.properties deleted file mode 100644 index 7f5f7841729ce82f8af4cc9c685b662c0dc1019d..0000000000000000000000000000000000000000 --- a/import/translation_maps/instrument_map.properties +++ /dev/null @@ -1,101 +0,0 @@ -# Mapping of Instrument Codes from 048 to User Friendly Term - -ba = Horn -bb = Trumpet -bc = Cornet -bd = Trombone -be = Tuba -bf = Baritone horn -bn = Brass, Unspecified -bu = Brass, Unknown -by = Brass, Ethnic -bz = Brass, Other -ca = Choruses, Mixed -cb = Chorus, Women's -cc = Choruses, Men's -cd = Choruses, Children's -cn = Choruses, Unspecified -cu = Chorus, Unknown -cy = Choruses, Ethnic -ea = Synthesizer -eb = Electronic Tape -ec = Computer -ed = Ondes Martinot -en = Electronic, Unspecified -eu = Electronic, Unknown -ez = Electronic, Other -ka = Piano -kb = Organ -kc = Harpsichord -kd = Clavichord -ke = Continuo -kf = Celeste -kn = Keyboard, Unspecified -ku = Keyboard, Unknown -ky = Keyboard, Ethnic -kz = Keyboard, Other -oa = Full orchestra -ob = Chamber orchestra -oc = String orchestra -od = Band -oe = Dance orchestra -of = Brass band -on = Larger ensemble, Unspecified -ou = Larger ensemble, Unknown -oy = Larger ensemble, Ethnic -oz = Larger ensemble, Other -pa = Timpani -pb = Xylophone -pc = Marimba -pd = Drum -pn = Percussion, Unspecified -pu = Percussion, Unknown -py = Percussion, Ethnic -pz = Percussion, Other -sa = Violin -sb = Viola -sc = Violoncello -sd = Double bass -se = Viol -sf = Viola d'amore -sg = Viola da gamba -sn = Bowed Strings, Unspecified -su = Bowed Strings, Unknown -sy = Bowed Strings, Ethnic -sz = Bowed Strings, Other -ta = Harp -tb = Guitar -tc = Lute -td = Mandolin -tn = Plucked Strings, Unspecified -tu = Plucked Strings, Unknown -ty = Plucked Strings, Ethnic -tz = Plucked Strings, Other -va = Soprano voice -vb = Mezzo soprano voice -vc = Alto voice -vd = Tenor voice -ve = Baritone voice -vf = Bass voice -vg = Counter tenor voice -vh = High voice -vi = Medium voice -vj = Low voice -vn = Voices, Unspecified -vu = Voices, Unknown -vy = Voices, Ethnic -wa = Flute -wb = Oboe -wc = Clarinet -wd = Bassoon -we = Piccolo -wf = English horn -wg = Bass clarinet -wh = Recorder -wi = Saxophone -wn = Woodwinds, Unspecified -wu = Woodwinds, Unknown -wy = Woodwinds, Ethnic -wz = Woodwinds, Other -zn = Unspecified instruments -zu = Unknown diff --git a/import/translation_maps/language_map.properties b/import/translation_maps/language_map.properties deleted file mode 100644 index 399fcfbca90062dc675abebb5fd0766890f9f3e3..0000000000000000000000000000000000000000 --- a/import/translation_maps/language_map.properties +++ /dev/null @@ -1,539 +0,0 @@ -aar = Afar -aav = Austro-Asiatic -abk = Abkhazian -ace = Achinese -ach = Acoli -ada = Adangme -ady = Adyghe -afa = Afro-Asiatic -afh = Afrihili -afr = Afrikaans -ain = Ainu -aka = Akan -akk = Akkadian -alb = Albanian -ale = Aleut -alg = Algonquian -alt = Southern Altai -alv = Atlantic-Congo -amh = Amharic -ang = Old English -anp = Angika -apa = Apache -aqa = Alacalufan -aql = Algic -ara = Arabic -arc = Aramaic -arg = Aragonese -arm = Armenian -arn = Mapudungun -arp = Arapaho -art = Artificial -arw = Arawak -asm = Assamese -ast = Asturian -ath = Athapascan -auf = Arauan -aus = Australian -ava = Avaric -ave = Avestan -awa = Awadhi -awd = Arawakan -aym = Aymara -azc = Uto-Aztecan -aze = Azerbaijani -bad = Banda -bai = Bamileke -bak = Bashkir -bal = Baluchi -bam = Bambara -ban = Balinese -baq = Basque -bas = Basa -bat = Baltic -bej = Beja -bel = Belarusian -bem = Bemba -ben = Bengali -ber = Berber -bho = Bhojpuri -bih = Bihari -bik = Bikol -bin = Bini -bis = Bislama -bla = Siksika -bnt = Bantu -bos = Bosnian -bra = Braj -bre = Breton -btk = Batak -bua = Buriat -bug = Buginese -bul = Bulgarian -bur = Burmese -byn = Blin -cad = Caddo -cai = Central American Indian -car = Galibi Carib -cat = Catalan -cau = Caucasian -cba = Chibchan -ccn = North Caucasian -ccs = South Caucasian -cdc = Chadic -cdd = Caddoan -ceb = Cebuano -cel = Celtic -cha = Chamorro -chb = Chibcha -che = Chechen -chg = Chagatai -chi = Chinese -chk = Chuukese -chm = Mari -chn = Chinook -cho = Choctaw -chp = Chipewyan -chr = Cherokee -chu = Church Slavic -chv = Chuvash -chy = Cheyenne -cmc = Chamic -cop = Coptic -cor = Cornish -cos = Corsican -cpe = Creole -cpf = Creole -cpp = Creole -cre = Cree -crh = Crimean Tatar -crp = Creoles -csb = Kashubian -csu = Central Sudanic -cus = Cushitic -cze = Czech -dak = Dakota -dan = Danish -dar = Dargwa -day = Land Dayak -del = Delaware -den = Slave -dgr = Dogrib -din = Dinka -div = Divehi -dmn = Mande -doi = Dogri -dra = Dravidian -dsb = Lower Sorbian -dua = Duala -dum = Dutch -dut = Dutch -dyu = Dyula -dzo = Dzongkha -efi = Efik -egx = Egyptian -egy = Ancient Egyptian -eka = Ekajuk -elx = Elamite -eng = English -enm = Middle English -epo = Esperanto -est = Estonian -esx = Eskimo-Aleut -euq = Basque -ewe = Ewe -ewo = Ewondo -fan = Fang -fao = Faroese -fat = Fanti -fij = Fijian -fil = Filipino -fin = Finnish -fiu = Finno-Ugrian -fon = Fon -fox = Formosan -fre = French -frm = Middle French -fro = Old French -frr = Northern Frisian -frs = Eastern Frisian -fry = Western Frisian -ful = Fulah -fur = Friulian -gaa = Ga -gay = Gayo -gba = Gbaya -gem = Germanic -geo = Georgian -ger = German -gez = Geez -gil = Gilbertese -gla = Gaelic -gle = Irish -glg = Galician -glv = Manx -gme = East Germanic -gmh = Middle High German -gmq = North Germanic -gmw = West Germanic -goh = Old High German -gon = Gondi -gor = Gorontalo -got = Gothic -grb = Grebo -grc = Ancient Greek -gre = Greek -grk = Greek -grn = Guarani -gsw = Swiss German -guj = Gujarati -gwi = Gwich`in -hai = Haida -hat = Haitian -hau = Hausa -haw = Hawaiian -heb = Hebrew -her = Herero -hil = Hiligaynon -him = Himachali -hin = Hindi -hit = Hittite -hmn = Hmong -hmo = Hiri Motu -hmx = Hmong-Mien -hok = Hokan -hrv = Croatian -hsb = Upper Sorbian -hun = Hungarian -hup = Hupa -hyx = Armenian -iba = Iban -ibo = Igbo -ice = Icelandic -ido = Ido -iii = Sichuan Yi -iir = Indo-Iranian -ijo = Ijo -iku = Inuktitut -ile = Interlingue -ilo = Iloko -ina = Interlingua -inc = Indic -ind = Indonesian -ine = Indo-European -inh = Ingush -ipk = Inupiaq -ira = Iranian -iro = Iroquoian -ita = Italian -itc = Italic -jav = Javanese -jbo = Lojban -jpn = Japanese -jpr = Judeo-Persian -jpx = Japanese -jrb = Judeo-Arabic -kaa = Kara-Kalpak -kab = Kabyle -kac = Kachin -kal = Kalaallisut -kam = Kamba -kan = Kannada -kar = Karen -kas = Kashmiri -kau = Kanuri -kaw = Kawi -kaz = Kazakh -kbd = Kabardian -kdo = Kordofanian -kha = Khasi -khi = Khoisan -khm = Central Khmer -kho = Khotanese -kik = Kikuyu -kin = Kinyarwanda -kir = Kirghiz -kmb = Kimbundu -kok = Konkani -kom = Komi -kon = Kongo -kor = Korean -kos = Kosraean -kpe = Kpelle -krc = Karachay-Balkar -krl = Karelian -kro = Kru languages -kru = Kurukh -kua = Kuanyama -kum = Kumyk -kur = Kurdish -kut = Kutenai -lad = Ladino -lah = Lahnda -lam = Lamba -lao = Lao -lat = Latin -lav = Latvian -lez = Lezghian -lim = Limburgan -lin = Lingala -lit = Lithuanian -lol = Mongo -loz = Lozi -ltz = Luxembourgish -lua = Luba-Lulua -lub = Luba-Katanga -lug = Ganda -lui = Luiseno -lun = Lunda -luo = Luo -lus = Lushai -mac = Macedonian -mad = Madurese -mag = Magahi -mah = Marshallese -mai = Maithili -mak = Makasar -mal = Malayalam -man = Mandingo -mao = Maori -map = Austronesian -mar = Marathi -mas = Masai -may = Malay -mdf = Moksha -mdr = Mandar -men = Mende -mga = Middle Irish -mic = Mi-kmaq -min = Minangkabau -mkh = Mon-Khmer -mlg = Malagasy -mlt = Maltese -mnc = Manchu -mni = Manipuri -mno = Manobo -moh = Mohawk -mol = Moldavian -mon = Mongolian -mos = Mossi -mun = Munda -mus = Creek -mwl = Mirandese -mwr = Marwari -myn = Mayan -myv = Erzya -nah = Nahuatl -nai = North American Indian -nap = Neapolitan -nau = Nauru -nav = Navajo -nbl = Ndebele -nde = North Ndebele -ndo = Ndonga -nds = Low German -nep = Nepali -new = Nepal Bhasa -ngf = Trans-New Guinea -nia = Nias -nic = Niger-Kordofanian -niu = Niuean -nno = Norwegian Nynorsk -nob = Norwegian BokmÃ¥l -nog = Nogai -non = Old Norse -nor = Norwegian -nqo = N'Ko -nso = Pedi -nub = Nubian -nwc = Classical Newari -nya = Chichewa -nym = Nyamwezi -nyn = Nyankole -nyo = Nyoro -nzi = Nzima -oci = Occitan -oji = Ojibwa -omq = Oto-Manguean -omv = Omotic -ori = Oriya -orm = Oromo -osa = Osage -oss = Ossetian -ota = Ottoman Turkish -oto = Otomian -paa = Papuan -pag = Pangasinan -pal = Pahlavi -pam = Pampanga -pan = Panjabi -pap = Papiamento -pau = Palauan -peo = Old Persian -per = Persian -phi = Philippine -phn = Phoenician -plf = Central Malayo-Polynesian -pli = Pali -pol = Polish -pon = Pohnpeian -por = Portuguese -poz = Malayo-Polynesian -pqe = Eastern Malayo-Polynesian -pqw = Western Malayo-Polynesian -pra = Prakrit languages -pro = Old Provençal -pus = Pushto -que = Quechua -qwe = Quechuan -raj = Rajasthani -rap = Rapanui -rar = Rarotongan -rcf = Reunionese, Reunion Creole -roa = Romance -roh = Romansh -rom = Romany -rum = Romanian -run = Rundi -rup = Aromanian -rus = Russian -sad = Sandawe -sag = Sango -sah = Yakut -sai = South American Indian -sal = Salishan -sam = Samaritan Aramaic -san = Sanskrit -sas = Sasak -sat = Santali -scc = Serbian -scn = Sicilian -sco = Scots -scr = Croatian -sdv = Eastern Sudanic -sel = Selkup -sem = Semitic -sga = Old Irish -sgn = Sign Language -shn = Shan -sid = Sidamo -sin = Sinhala -sio = Siouan -sit = Sino-Tibetan -sla = Slavic -slo = Slovak -slv = Slovenian -sma = Southern Sami -sme = Northern Sami -smi = Sami languages -smj = Lule Sami -smn = Inari Sami -smo = Samoan -sms = Skolt Sami -sna = Shona -snd = Sindhi -snk = Soninke -sog = Sogdian -som = Somali -son = Songhai -sot = Southern Sotho -spa = Spanish -sqi = Albanian -srd = Sardinian -srn = Sranan Tongo -srr = Serer -ssa = Nilo-Saharan -ssw = Swati -suk = Sukuma -sun = Sundanese -sus = Susu -sux = Sumerian -swa = Swahili -swe = Swedish -syc = Classical Syriac -syd = Samoyedic -syr = Syriac -tah = Tahitian -tai = Tai -tam = Tamil -tat = Tatar -tbq = Tibeto-Burman -tel = Telugu -tem = Timne -ter = Tereno -tet = Tetum -tgk = Tajik -tgl = Tagalog -tha = Thai -tib = Tibetan -tig = Tigre -tir = Tigrinya -tiv = Tiv -tkl = Tokelau -tlh = Klingon -tli = Tlingit -tmh = Tamashek -tog = Tonga -ton = Tonga -tpi = Tok -trk = Turkic -tsi = Tsimshian -tsn = Tswana -tso = Tsonga -tuk = Turkmen -tum = Tumbuka -tup = Tupi -tur = Turkish -tut = Altaic -tuw = Tungus -tvl = Tuvalu -twi = Twi -tyv = Tuvinian -udm = Udmurt -uga = Ugaritic -uig = Uighur -ukr = Ukrainian -umb = Umbundu -und = Undetermined -urd = Urdu -urj = Uralic -uzb = Uzbek -vai = Vai -ven = Venda -vie = Vietnamese -vol = Volapük -vot = Votic -wak = Wakashan -wal = Walamo -war = Waray -was = Washo -wel = Welsh -wen = Sorbian -wln = Walloon -wol = Wolof -xal = Kalmyk -xgn = Mongolian -xho = Xhosa -xnd = Na-Dene -yao = Yao -yap = Yapese -yid = Yiddish -yor = Yoruba -ypk = Yupik -zap = Zapotec -zbl = Blissymbols -zen = Zenaga -zgh = Tamazight -zha = Zhuang -zhx = Chinese -zle = East Slavic -zls = South Slavic -zlw = West Slavic -znd = Zande -zul = Zulu -zun = Zuni -zza = Zaza -zxx = No linguistic content -??? = Unknown -mul = Multiple -mis = Unknown diff --git a/import/translation_maps/language_map_iso639-1.properties b/import/translation_maps/language_map_iso639-1.properties deleted file mode 100644 index 55896f276c73f5647d07251bb50197a55f481b1f..0000000000000000000000000000000000000000 --- a/import/translation_maps/language_map_iso639-1.properties +++ /dev/null @@ -1,97 +0,0 @@ -ab = Abkhazian -af = Afrikaans -an = Aragonese -ar = Arabic -as = Assamese -az = Azerbaijani -be = Belarusian -bg = Bulgarian -bn = Bengali -bo = Tibetan -br = Breton -bs = Bosnian -ca = Catalan / Valencian -ce = Chechen -co = Corsican -cs = Czech -cu = Church Slavic -cy = Welsh -da = Danish -de = German -el = Greek -en = English -eo = Esperanto -es = Spanish / Castilian -et = Estonian -eu = Basque -fa = Persian -fi = Finnish -fj = Fijian -fo = Faroese -fr = French -fy = Western Frisian -ga = Irish -gd = Gaelic / Scottish Gaelic -gl = Galician -gv = Manx -he = Hebrew -hi = Hindi -hr = Croatian -ht = Haitian; Haitian Creole -hu = Hungarian -hy = Armenian -id = Indonesian -is = Icelandic -it = Italian -ja = Japanese -jv = Javanese -ka = Georgian -kg = Kongo -ko = Korean -ku = Kurdish -kw = Cornish -ky = Kirghiz -la = Latin -lb = Luxembourgish; Letzeburgesch -li = Limburgan; Limburger; Limburgish -ln = Lingala -lt = Lithuanian -lv = Latvian -mg = Malagasy -mk = Macedonian -mn = Mongolian -mo = Moldavian -ms = Malay -mt = Maltese -my = Burmese -nb = Norwegian (BokmÃ¥l) -ne = Nepali -nl = Dutch -nn = Norwegian (Nynorsk) -no = Norwegian -oc = Occitan (post 1500); Provençal -pl = Polish -pt = Portuguese -rm = Raeto-Romance -ro = Romanian -ru = Russian -sc = Sardinian -se = Northern Sami -sk = Slovak -sl = Slovenian -so = Somali -sq = Albanian -sr = Serbian -sv = Swedish -sw = Swahili -tk = Turkmen -tr = Turkish -ty = Tahitian -uk = Ukrainian -ur = Urdu -uz = Uzbek -vi = Vietnamese -vo = Volapuk -yi = Yiddish -zh = Chinese - diff --git a/import/translation_maps/rvk_map.properties b/import/translation_maps/rvk_map.properties deleted file mode 100644 index 63cbdaa5ea1b519d80354c6c7e11bd88e556b6f2..0000000000000000000000000000000000000000 --- a/import/translation_maps/rvk_map.properties +++ /dev/null @@ -1,210 +0,0 @@ -A = Allgemeines -B = Theologie und Religionswissenschaften -CA = Philosophie -CB = Philosophie -CC = Philosophie -CD = Philosophie -CE = Philosophie -CF = Philosophie -CG = Philosophie -CH = Philosophie -CI = Philosophie -CL = Psychologie -CM = Psychologie -CN = Psychologie -CO = Psychologie -CP = Psychologie -CQ = Psychologie -CR = Psychologie -CS = Psychologie -CT = Psychologie -CU = Psychologie -CV = Psychologie -CW = Psychologie -CX = Psychologie -CY = Psychologie -CZ = Psychologie -D = Pädagogik -E = Allgemeine und vergleichende Sprach- und Literaturwissenschaft. Indogermanistik. Außereuropäische Sprachen und Literaturen -F = Klassische Philologie. Byzantinistik. Mittellateinische und Neugriechische Philologie. Neulatein -G = Germanistik. Niederlandistik. Skandinavistik -H = Anglistik. Amerikanistik -I = Romanistik -K = Slawistik -LA = Ethnologie(Volks- und Völkerkunde) -LB = Ethnologie(Volks- und Völkerkunde) -LC = Ethnologie(Volks- und Völkerkunde) -LD = Zeitschriften für Klassische Archäologie, Kunstgeschichte, Musikwissenschaft, Architektur und Baukunst -LE = Klassische Archäologie -LF = Klassische Archäologie -LG = Klassische Archäologie -LH = Kunstgeschichte -LI = Kunstgeschichte -LJ = Kunstgeschichte -LK = Kunstgeschichte -LL = Kunstgeschichte -LM = Kunstgeschichte -LN = Kunstgeschichte -LO = Kunstgeschichte -LP = Musikwissenschaft -LQ = Musikwissenschaft -LR = Musikwissenschaft -LS = Musikwissenschaft -LT = Musikwissenschaft -LU = Musikwissenschaft -LV = Musikwissenschaft -LW = Musikwissenschaft -LX = Musikwissenschaft -LY = Musikwissenschaft -MA = Politologie -MB = Politologie -MC = Politologie -MD = Politologie -ME = Politologie -MF = Politologie -MG = Politologie -MH = Politologie -MI = Politologie -MJ = Politologie -MK = Politologie -ML = Politologie -MN = Soziologie -MO = Soziologie -MP = Soziologie -MQ = Soziologie -MR = Soziologie -MS = Soziologie -MT = Soziologie -MU = Soziologie -MV = Soziologie -MW = Soziologie -MX = Militärwissenschaft -MY = Militärwissenschaft -MZ = Militärwissenschaft -N = Geschichte -P = Rechtswissenschaft -Q = Wirtschaftswissenschaften -R = Geographie -SA = Mathematik -SB = Mathematik -SC = Mathematik -SD = Mathematik -SE = Mathematik -SF = Mathematik -SG = Mathematik -SH = Mathematik -SI = Mathematik -SJ = Mathematik -SK = Mathematik -SL = Mathematik -SM = Mathematik -SN = Mathematik -SO = Mathematik -SP = Mathematik -SQ = Informatik -SR = Informatik -SS = Informatik -ST = Informatik -SU = Informatik -TA = Allgemeine Naturwissenschaft -TB = Allgemeine Naturwissenschaft -TC = Allgemeine Naturwissenschaft -TD = Allgemeine Naturwissenschaft -TE = Geologie und Paläontologie -TF = Geologie und Paläontologie -TG = Geologie und Paläontologie -TH = Geologie und Paläontologie -TI = Geologie und Paläontologie -TJ = Geologie und Paläntologiie -TK = Geologie und Paläontologie -TL = Geologie und Paläontologie -TM = Geologie und Paläontologie -TN = Geologie und Paläontologie -TO = Geologie und Paläontologie -TP = Geologie und Paläontologie -TQ = Geologie und Paläontologie -TR = Geologie und Paläontologie -TS = Geologie und Paläontologie -TT = Geologie und Paläontologie -TU = Geologie und Paläontologie -TV = Geologie und Paläontologie -TW = Geologie und Paläontologie -TX = Geologie und Paläontologie -TY = Geologie und Paläontologie -TZ = Geologie und Paläontologie -U = Physik -V = Chemie und Pharmazie -W = Biologie -WW = Biologie -WX = Biologie -WY = Biologie -WZ = Biologie -XA = Medizin -XB = Medizin -XC = Medizin -XD = Medizin -XE = Medizin -XF = Medizin -XG = Medizin -XH = Medizin -XI = Medizin -XJ = Medizin -XK = Medizin -XL = Medizin -XM = Medizin -XN = Medizin -XO = Medizin -XP = Medizin -XQ = Medizin -XR = Medizin -XS = Medizin -XT = Medizin -XU = Medizin -XV = Medizin -XW = Medizin -XX = Medizin -XY = Medizin -XZ = Medizin -YA = Medizin -YB = Medizin -YC = Medizin -YD = Medizin -YE = Medizin -YF = Medizin -YG = Medizin -YH = Medizin -YI = Medizin -YJ = Medizin -YK = Medizin -YL = Medizin -YM = Medizin -YN = Medizin -YO = Medizin -YP = Medizin -YQ = Medizin -YR = Medizin -YS = Medizin -YT = Medizin -YU = Medizin -YV = Medizin -ZA = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft -ZB = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft -ZC = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft -ZD = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft -ZE = Land- und Forstwirtschaft. Gartenbau. Fischereiwirtschaft. Hauswirtschaft -ZG = Technik -ZH = Technik -ZI = Technik -ZJ = Technik -ZK = Technik -ZL = Technik -ZM = Technik -ZN = Technik -ZO = Technik -ZP = Technik -ZQ = Technik -ZR = Technik -ZS = Technik -ZX = Sport -ZY = Sport -No subject assigned = No subject assigned \ No newline at end of file diff --git a/import/translation_maps/timecode_map.properties b/import/translation_maps/timecode_map.properties deleted file mode 100644 index c850c6abe5e2b6af7ab78e1db8cefeed9914f93e..0000000000000000000000000000000000000000 --- a/import/translation_maps/timecode_map.properties +++ /dev/null @@ -1,21 +0,0 @@ -ad01 = 0 \u2013 100 -ad02 = 101 \u2013 200 -ad03 = 201 \u2013 300 -ad04 = 301 \u2013 400 -ad05 = 401 \u2013 500 -ad06 = 501 \u2013 600 -ad07 = 601 \u2013 700 -ad08 = 701 \u2013 800 -ad09 = 801 \u2013 900 -ad10 = 901 \u2013 1000 -ad11 = 1001 \u2013 1100 -ad12 = 1101 \u2013 1200 -ad13 = 1201 \u2013 1300 -ad14 = 1301 \u2013 1400 -ad15 = 1401 \u2013 1500 -ad16 = 1501 \u2013 1600 -ad17 = 1601 \u2013 1700 -ad18 = 1701 \u2013 1800 -a19a = 1801 \u2013 1850 -a19b = 1851 \u2013 1900 - diff --git a/import/translation_maps/tuf_udk_map.properties b/import/translation_maps/tuf_udk_map.properties deleted file mode 100644 index e17d7627a44335bd28a11f9e6146896d6a3d95b9..0000000000000000000000000000000000000000 --- a/import/translation_maps/tuf_udk_map.properties +++ /dev/null @@ -1,218 +0,0 @@ -# UDK to facet mapping file TUBAF => trunk/import/translation_maps -# Generated by CreateUDKFacetPatternMatching.py - -# UDK 1978 -tuf_udk.pattern_0 = ^DK 0$=>Allgemeines -tuf_udk.pattern_1 = ^DK 001=>Wissenschaft, Allgemeines -tuf_udk.pattern_2 = ^DK 00[2-9]=>Allgemeines -tuf_udk.pattern_3 = ^DK 01=>Bibliographie -tuf_udk.pattern_4 = ^DK 02=>Bibliothekswesen -tuf_udk.pattern_5 = ^DK 06$=>Organisationen -tuf_udk.pattern_6 = ^DK 061$=>Organisationen -tuf_udk.pattern_7 = ^DK 061\.3=>Kongresse -tuf_udk.pattern_8 = ^DK 061\.4=>Ausstellungen -tuf_udk.pattern_9 = ^DK 061\.[125679]=>Organisationen -tuf_udk.pattern_10 = ^DK 069=>Museen -tuf_udk.pattern_11 = ^DK 06\.=>Organisationen -tuf_udk.pattern_12 = ^DK 0[345789]=>Allgemeines -tuf_udk.pattern_13 = ^DK 1$=>Philosophie. Psychologie -tuf_udk.pattern_14 = ^DK 15=>Psychologie -tuf_udk.pattern_15 = ^DK 1[0-46-9]=>Philosophie -tuf_udk.pattern_16 = ^DK 2=>Religion. Theologie -tuf_udk.pattern_17 = ^DK 3$=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde -tuf_udk.pattern_18 = ^DK 30=>Soziologie. Methoden -tuf_udk.pattern_19 = ^DK 31=>Statistik -tuf_udk.pattern_20 = ^DK 316=>Soziologie -tuf_udk.pattern_21 = ^DK 31[\D1-57-9]=>Statistik -tuf_udk.pattern_22 = ^DK 32=>Politik -tuf_udk.pattern_23 = ^DK 33=>Wirtschaft. Wirtschaftswissenschaften -tuf_udk.pattern_24 = ^DK 34$=>Recht. Rechtswissenschaften -tuf_udk.pattern_25 = ^DK 340=>Recht im Allgemeinen -tuf_udk.pattern_26 = ^DK 341=>Internationales Recht -tuf_udk.pattern_27 = ^DK 342=>Staatsrecht. Verfassungsrecht. Verwaltungsrecht -tuf_udk.pattern_28 = ^DK 347=>Zivilrecht -tuf_udk.pattern_29 = ^DK 348=>Kirchenrecht -tuf_udk.pattern_30 = ^DK 349$=>Spezielle Rechtszweige. Rechtszweige gemischten Charakters -tuf_udk.pattern_31 = ^DK 349\.2=>Arbeitsrecht -tuf_udk.pattern_32 = ^DK 349\.3=>Sozialrecht -tuf_udk.pattern_33 = ^DK 349\.4=>Bodenrecht. Baurecht -tuf_udk.pattern_34 = ^DK 349\.6=>Umweltrecht -tuf_udk.pattern_35 = ^DK 349\.7=>Atomrecht. Energierecht -tuf_udk.pattern_36 = ^DK 34[34]=>Strafrecht -tuf_udk.pattern_37 = ^DK 35=>Verwaltung. Militärwissenschaft -tuf_udk.pattern_38 = ^DK 36=>Fürsorge. Versicherung -tuf_udk.pattern_39 = ^DK 37$=>Bildungswesen. Pädagogik. Freizeitgestaltung -tuf_udk.pattern_40 = ^DK 378$=>Hochschulwesen -tuf_udk.pattern_41 = ^DK 378\.2$=>Hochschulwesen -tuf_udk.pattern_42 = ^DK 378\.24$=>Hochschulwesen -tuf_udk.pattern_43 = ^DK 378\.245$=>Dissertationen -tuf_udk.pattern_44 = ^DK 378\.24[0-46-9]=>Hochschulwesen -tuf_udk.pattern_45 = ^DK 378\.2[1-35-9]=>Hochschulwesen -tuf_udk.pattern_46 = ^DK 378\.[013-9]=>Hochschulwesen -tuf_udk.pattern_47 = ^DK 379=>Freizeitgestaltung -tuf_udk.pattern_48 = ^DK 37[\D0-7]=>Bildungswesen. Pädagogik -tuf_udk.pattern_49 = ^DK 38=>Metrologie. Maß- und Gewichtswesen -tuf_udk.pattern_50 = ^DK 39=>Völkerkunde -tuf_udk.pattern_51 = ^DK 3\D=>Sozialwissenschaften. Statistik. Politik. Volkswirtschaft. Handel. Recht. Verwaltung. Kriegskunst. Fürsorge. Versicherung. Erziehung. Volkskunde -tuf_udk.pattern_52 = ^DK 5$=>Mathematik. Naturwissenschaften -tuf_udk.pattern_53 = ^DK 502=>Naturschutz -tuf_udk.pattern_54 = ^DK 504=>Umweltwissenschaften -tuf_udk.pattern_55 = ^DK 50[\D1]=>Allgemeines über die Naturwissenschaften -tuf_udk.pattern_56 = ^DK 51=>Mathematik -tuf_udk.pattern_57 = ^DK 52=>Astronomie. Geodäsie -tuf_udk.pattern_58 = ^DK 53$=>Physik -tuf_udk.pattern_59 = ^DK 530=>Theoretische Physik -tuf_udk.pattern_60 = ^DK 531=>Mechanik starrer Körper -tuf_udk.pattern_61 = ^DK 534=>Mechnische Schwingungen -tuf_udk.pattern_62 = ^DK 535=>Optik -tuf_udk.pattern_63 = ^DK 536=>Wärmelehre -tuf_udk.pattern_64 = ^DK 539$=>Physikalischer Aufbau der Materie -tuf_udk.pattern_65 = ^DK 539\.1=>Kern- und Atomphysik -tuf_udk.pattern_66 = ^DK 539\.2=>Festkörperphysik -tuf_udk.pattern_67 = ^DK 539\.[3-8]=>Deformation. Festigkeit -tuf_udk.pattern_68 = ^DK 53[23]=>Mechanik der Flüssigkeiten und Gase -tuf_udk.pattern_69 = ^DK 53[78]=>Elektrizität. Magnetismus -tuf_udk.pattern_70 = ^DK 53\D=>Physik -tuf_udk.pattern_71 = ^DK 54$=>Chemie. Mineralogie -tuf_udk.pattern_72 = ^DK 541=>Physikalische Chemie -tuf_udk.pattern_73 = ^DK 542=>Experimentalchemie -tuf_udk.pattern_74 = ^DK 543=>Analytische Chemie -tuf_udk.pattern_75 = ^DK 546=>Anorganische Chemie -tuf_udk.pattern_76 = ^DK 547=>Organische Chemie -tuf_udk.pattern_77 = ^DK 548=>Kristallographie -tuf_udk.pattern_78 = ^DK 549=>Mineralogie -tuf_udk.pattern_79 = ^DK 54\D=>Chemie. Mineralogie -tuf_udk.pattern_80 = ^DK 55=>Geolog. Wissenschaften ohne Paläontologie -tuf_udk.pattern_81 = ^DK 56=>Paläontologie -tuf_udk.pattern_82 = ^DK 57=>Biologie -tuf_udk.pattern_83 = ^DK 58=>Botanik -tuf_udk.pattern_84 = ^DK 59=>Zoologie -tuf_udk.pattern_85 = ^DK 5\D=>Mathematik. Naturwissenschaften -tuf_udk.pattern_86 = ^DK 6$=>Angewandte Wissenschaften. Medizin. Technik -tuf_udk.pattern_87 = ^DK 61=>Medizin -tuf_udk.pattern_88 = ^DK 62$=>Ingenieurwesen. Technik im Allgemeinen -tuf_udk.pattern_89 = ^DK 620=>Werkstoffprüfung. Warenkunde. Kraftzentralen. Energiewirtschaft -tuf_udk.pattern_90 = ^DK 621$=>Maschinen-, Anlagen- & Energietechnik -tuf_udk.pattern_91 = ^DK 621\.3=>Elektrotechnik, Elektronik -tuf_udk.pattern_92 = ^DK 621\.7=>Fertigungstechnik. Fügen. Oberflächenbehandlung -tuf_udk.pattern_93 = ^DK 621\.8=>Maschinenelemente. Fördermittel. Schmierung -tuf_udk.pattern_94 = ^DK 621\.9=>Spanende Umformtechnik. Zerkleinerungs- und Abscheidevorrichtungen. Blechbearbeitung -tuf_udk.pattern_95 = ^DK 621\.[0-24-6]=>Maschinen-, Anlagen- & Energietechnik -tuf_udk.pattern_96 = ^DK 622=>Bergbau. Rohstoffgewinnung -tuf_udk.pattern_97 = ^DK 623=>Wehrtechnik -tuf_udk.pattern_98 = ^DK 624=>Geotechnik. Bauingenieurwesen -tuf_udk.pattern_99 = ^DK 625=>Technik der Verkehrswege zu Lande. Eisenbahnbau. Straßenbau. Wegebau -tuf_udk.pattern_100 = ^DK 626=>Allgemeiner Wasserbau. Kanalbau. Landeskulturbau -tuf_udk.pattern_101 = ^DK 627=>Wasserbau. Hafen- und Seebau -tuf_udk.pattern_102 = ^DK 628=>Gesundheitstechnik. Wasser. Sanitäre Anlagen. Lichttechnik -tuf_udk.pattern_103 = ^DK 629=>Fahrzeugtechnik -tuf_udk.pattern_104 = ^DK 62\(038\)$=>Technik - Wörterbücher -tuf_udk.pattern_105 = ^DK 62\(083\.7\)$=>Technik - Normen, Standards -tuf_udk.pattern_106 = ^DK 62\D=>Ingenieurwesen. Technik im Allgemeinen -tuf_udk.pattern_107 = ^DK 63$=>Landwirtschaft und verwandte Wissenschaften und Techniken -tuf_udk.pattern_108 = ^DK 631$=>Landwirtschaft und verwandte Wissenschaften und Techniken -tuf_udk.pattern_109 = ^DK 631\.4=>Bodenkunde -tuf_udk.pattern_110 = ^DK 631\.[0-35-9]=>Landwirtschaft und verwandte Wissenschaften und Techniken -tuf_udk.pattern_111 = ^DK 63[02-9\D]=>Landwirtschaft und verwandte Wissenschaften und Techniken -tuf_udk.pattern_112 = ^DK 64=>Hauswirtschaft -tuf_udk.pattern_113 = ^DK 65=>Betriebsführung und Organisation von Industrie, Handel und Verkehr -tuf_udk.pattern_114 = ^DK 66$=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige -tuf_udk.pattern_115 = ^DK 66-=>Chemische Technik. Chemische Industrie. Verwandte Industriezweige -tuf_udk.pattern_116 = ^DK 666=>Glas. Email. Keramik. Kunststeine. Zement (Gesteinshüttenkunde) -tuf_udk.pattern_117 = ^DK 667=>Farbtechnische Industrien -tuf_udk.pattern_118 = ^DK 669=>Metallurgie. Metalle und Legierungen -tuf_udk.pattern_119 = ^DK 66[1-5]=>Verschiedene Industriezweige -tuf_udk.pattern_120 = ^DK 66\.0=>Verfahrenstechnik -tuf_udk.pattern_121 = ^DK 67$=>Verschiedene Industrien und Gewerbe. Mechanische Technologie -tuf_udk.pattern_122 = ^DK 671=>Gegenstände aus Edelmetall und Edelsteinen -tuf_udk.pattern_123 = ^DK 672=>Gegenstände aus Eisen und Stahl -tuf_udk.pattern_124 = ^DK 673=>Gegenstände aus Nichteisenmetallen außer Edelmetallen -tuf_udk.pattern_125 = ^DK 674=>Holzindustrie -tuf_udk.pattern_126 = ^DK 675=>Lederindustrie. Pelze. Kunstleder -tuf_udk.pattern_127 = ^DK 676=>Papierindustrie -tuf_udk.pattern_128 = ^DK 677=>Textilindustrie. Textilveredelung. Kabelindustrie -tuf_udk.pattern_129 = ^DK 678=>Industrie der natürlichen und synthetischen makromolekularen Stoffe. Gummiindustrie. Kunststoffindustrie -tuf_udk.pattern_130 = ^DK 679=>Technologie der Steine. Industrie der Steine und Erden -tuf_udk.pattern_131 = ^DK 67\D=>Verschiedene Industrien und Gewerbe. Mechanische Technologie -tuf_udk.pattern_132 = ^DK 68$=>Verschiedene Industrien und Gewerbe -tuf_udk.pattern_133 = ^DK 681$=>Feinmechanik -tuf_udk.pattern_134 = ^DK 681\.3=>IT. Informatik. Software -tuf_udk.pattern_135 = ^DK 681\.[012456789]=>Feinmechanik -tuf_udk.pattern_136 = ^DK 682=>Schmiedegewerbe. Hufbeschlag -tuf_udk.pattern_137 = ^DK 683=>Eisenwaren. Schlosserei -tuf_udk.pattern_138 = ^DK 684=>Möbelindustrie und verwandte Industrien -tuf_udk.pattern_139 = ^DK 685=>Sattlerei. Riemerei. Schuhmacherei. Handschuhmacherei. Reiseartikel und Sportgeräte. Spielartikel -tuf_udk.pattern_140 = ^DK 686=>Buchbinderei. Metallisierung. Glaserei. Bürogeräte -tuf_udk.pattern_141 = ^DK 687=>Bekleidungsindustrie. Schönheitspflege -tuf_udk.pattern_142 = ^DK 688=>Kunstdrechselei. Spielwaren. Dekorationsartikel -tuf_udk.pattern_143 = ^DK 689=>Technische und handwerkliche Liebhaberarbeiten. Bastelarbeiten -tuf_udk.pattern_144 = ^DK 68\D=>Verschiedene Industrien und Gewerbe -tuf_udk.pattern_145 = ^DK 69=>Baustoffe. Bauhandwerk. Bauarbeiten -tuf_udk.pattern_146 = ^DK 6[\D0]=>Angewandte Wissenschaften. Medizin. Technik -tuf_udk.pattern_147 = ^DK 7$=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport -tuf_udk.pattern_148 = ^DK 7-=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport -tuf_udk.pattern_149 = ^DK 71=>Raumordnung. Landesplanung. Städtebau. Gartenarchitektur -tuf_udk.pattern_150 = ^DK 72$=>Architektur. Baukunst -tuf_udk.pattern_151 = ^DK 725$=>Architektur. Baukunst -tuf_udk.pattern_152 = ^DK 725\.4=>Industriebauten -tuf_udk.pattern_153 = ^DK 725\.[0-35-9]=>Architektur. Baukunst -tuf_udk.pattern_154 = ^DK 72[0-46-9]=>Architektur. Baukunst -tuf_udk.pattern_155 = ^DK 72\.025=>Denkmalschutz -tuf_udk.pattern_156 = ^DK 72\.02[0-46-9]=>Architektur. Baukunst -tuf_udk.pattern_157 = ^DK 72\.0[013-9]=>Architektur. Baukunst -tuf_udk.pattern_158 = ^DK 73$=>Bildhauerei. Münzkunde. Künstlerische Metallverarbeitung -tuf_udk.pattern_159 = ^DK 737=>Münzkunde. Numismatik -tuf_udk.pattern_160 = ^DK 73[0-689]=>Bildhauerei. Künstlerische Metallverarbeitung -tuf_udk.pattern_161 = ^DK 74=>Zeichenkunst. Kunstgewerbe -tuf_udk.pattern_162 = ^DK 75=>Malerei -tuf_udk.pattern_163 = ^DK 76=>Graphik -tuf_udk.pattern_164 = ^DK 77=>Photographie -tuf_udk.pattern_165 = ^DK 78=>Musik -tuf_udk.pattern_166 = ^DK 79=>Unterhaltung. Sport -tuf_udk.pattern_167 = ^DK 7\.025=>Kunsttechnik: Verfall, Pflege, Schutz -tuf_udk.pattern_168 = ^DK 7\.02[0-46-9]=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport -tuf_udk.pattern_169 = ^DK 7\.0[013-9]=>Kunst. Kunstgewerbe. Photographie. Musik. Spiel. Sport -tuf_udk.pattern_170 = ^DK 8$=>Sprach- und Literaturwissenschaft. Schöne Literatur -tuf_udk.pattern_171 = ^DK 80=>Linguistik -tuf_udk.pattern_172 = ^DK 82=>Literaturwissenschaft -tuf_udk.pattern_173 = ^DK 9$=>Geographie. Biographien. Geschichte -tuf_udk.pattern_174 = ^DK 904=>Reste der Kulturen der historischen Zeit. Industriearchäologie -tuf_udk.pattern_175 = ^DK 90[0-35-9]=>Archäologie. Vor- und Frühgeschichte. Reste der Kulturen -tuf_udk.pattern_176 = ^DK 91$=>Geographie. Erforschung der Erde und Länder. Reisen. Länderkunde. Landeskunde -tuf_udk.pattern_177 = ^DK 910=>Allg. Fragen der Geographie -tuf_udk.pattern_178 = ^DK 911=>Physische Geographie und Anthropogeographie -tuf_udk.pattern_179 = ^DK 912=>Karten und Atlanten -tuf_udk.pattern_180 = ^DK 913=>Orte der alten Welt. Legendäre und vermutete Länder -tuf_udk.pattern_181 = ^DK 914$=>Europa -tuf_udk.pattern_182 = ^DK 914\.30=>Deutschland -tuf_udk.pattern_183 = ^DK 914\.3[1-9]=>Europa -tuf_udk.pattern_184 = ^DK 914\.[0-24-9]=>Europa -tuf_udk.pattern_185 = ^DK 915=>Asien -tuf_udk.pattern_186 = ^DK 916=>Afrika -tuf_udk.pattern_187 = ^DK 917=>Nord- und Mittelamerika -tuf_udk.pattern_188 = ^DK 918=>Südamerika -tuf_udk.pattern_189 = ^DK 919$=>Ozeanien -tuf_udk.pattern_190 = ^DK 919\.8=>Arktis -tuf_udk.pattern_191 = ^DK 919\.9=>Antarktis -tuf_udk.pattern_192 = ^DK 919\.[1-7]=>Ozeanien -tuf_udk.pattern_193 = ^DK 92=>Biographien. Genealogie. Heraldik -tuf_udk.pattern_194 = ^DK 93$=>Geschichte allgemein -tuf_udk.pattern_195 = ^DK 930=>Geschichtswissenschaft -tuf_udk.pattern_196 = ^DK 93[1-9]=>Alte Geschichte -tuf_udk.pattern_197 = ^DK 94$=>Mittelalterliche und neuere Geschichte im allgemeinen -tuf_udk.pattern_198 = ^DK 943\.0$=>Geschichte Deutschlands -tuf_udk.pattern_199 = ^DK 943\.01=>Geschichte Bundesrepublik Deutschland -tuf_udk.pattern_200 = ^DK 943\.02=>Geschichte Deutsche Demokratische Republik -tuf_udk.pattern_201 = ^DK 943\.0\D=>Geschichte Deutschlands -tuf_udk.pattern_202 = ^DK 943\.5$=>Geschichte Deutschlands -tuf_udk.pattern_203 = ^DK 943\.59=>Geschichte Europas -tuf_udk.pattern_204 = ^DK 943\.6=>Geschichte Europas -tuf_udk.pattern_205 = ^DK 943\.[1-4]=>Geschichte Deutschlands -tuf_udk.pattern_206 = ^DK 94[0-24-9]=>Geschichte Europas -tuf_udk.pattern_207 = ^DK 95=>Geschichte Asiens -tuf_udk.pattern_208 = ^DK 96=>Geschichte Afrikas -tuf_udk.pattern_209 = ^DK 97=>Geschichte Nordamerikas -tuf_udk.pattern_210 = ^DK 98=>Geschichte Südamerikas -tuf_udk.pattern_211 = ^DK 99=>Geschichte der ozeanischen und polarischen Gebiete -tuf_udk.pattern_212 = ^DK 9\D=>Geographie. Biographien. Geschichte -tuf_udk.pattern_213 = ^Q=>Wirtschaftswissenschaften diff --git a/import/translation_maps/udc_map.properties b/import/translation_maps/udc_map.properties deleted file mode 100644 index 73267566357b773c44e16a47d6707b688da94559..0000000000000000000000000000000000000000 --- a/import/translation_maps/udc_map.properties +++ /dev/null @@ -1,1112 +0,0 @@ -hundreds.000 = 000 - Science and Knowledge. Organization. Computer Science. Information. Documentation. Librarianship. Institutions. Publications -hundreds.100 = 100 - Philosophy. Psychology -hundreds.200 = 200 - Religion. Theology -hundreds.300 = 300 - Social sciences -hundreds.400 = 400 - [Unassigned] -hundreds.500 = 500 - Mathematics. Natural sciences -hundreds.600 = 600 - Applied sciences. Medicine. Technology -hundreds.700 = 700 - The arts. Recreation. Entertainment. Sport -hundreds.800 = 800 - Language. Linguistics. Literature -hundreds.900 = 900 - Geography. Biography. History -hundreds = [Unassigned] -tens.000 = 000 - Prolegomena. Fundamentals of knowledge and culture. Propaedeutics -tens.010 = 010 - Bibliography and bibliographies. Catalogues -tens.020 = 020 - Librarianship -tens.030 = 030 - [Unassigned] -tens.040 = 040 - [Unassigned] -tens.050 = 050 - [Unassigned] -tens.060 = 060 - Organizations of a general nature -tens.070 = 070 - [Unassigned] -tens.080 = 080 - Polygraphies. Collective works -tens.090 = 090 - Manuscripts. Rare and remarkable works -tens.100 = 100 - [Unassigned] -tens.110 = 110 - Metaphysics -tens.120 = 120 - [Unassigned] -tens.130 = 130 - Philosophy of mind and spirit. Metaphysics of spiritual life -tens.140 = 140 - Philosophical systems and points of view -tens.150 = 150 - [Unassigned] -tens.160 = 160 - Logic. Epistemology. Theory of knowledge. Methodology of logic -tens.170 = 170 - Moral philosophy. Ethics. Practical philosophy -tens.180 = 180 - [Unassigned] -tens.190 = 190 - [Unassigned] -tens.200 = 200 - [Unassigned] -tens.210 = 210 - Prehistoric and primitive religions -tens.220 = 220 - Religions originating in the Far East -tens.230 = 230 - Religions originating in Indian sub-continent. Hindu religion in the broad sense -tens.240 = 240 - Buddhism -tens.250 = 250 - Religions of antiquity. Minor cults and religions -tens.260 = 260 - Judaism -tens.270 = 270 - Christianity. Christian churches and denominations -tens.280 = 280 - Islam -tens.290 = 290 - Modern spiritual movements -tens.300 = 300 - [Unassigned] -tens.310 = 310 - [Unassigned] -tens.320 = 320 - Politics -tens.330 = 330 - Economics. Economic science -tens.340 = 340 - Law. Jurisprudence -tens.350 = 350 - Public administration. Government. Military affairs -tens.360 = 360 - Safeguarding the mental and material necessities of life -tens.370 = 370 - Education -tens.380 = 380 - [Unassigned] -tens.390 = 390 - Cultural anthropology. Ethnography. Customs. Manners. Traditions. Way of life. Folklore -tens.400 = 400 - [Unassigned] -tens.410 = 410 - [Unassigned] -tens.420 = 420 - [Unassigned] -tens.430 = 430 - [Unassigned] -tens.440 = 440 - [Unassigned] -tens.450 = 450 - [Unassigned] -tens.460 = 460 - [Unassigned] -tens.470 = 470 - [Unassigned] -tens.480 = 480 - [Unassigned] -tens.490 = 490 - [Unassigned] -tens.500 = 500 - [Unassigned] -tens.510 = 510 - Mathematics -tens.520 = 520 - Astronomy. Astrophysics. Space research. Geodesy -tens.530 = 530 - Physics -tens.540 = 540 - Chemistry. Crystallography. Mineralogy -tens.550 = 550 - Earth Sciences. Geological sciences -tens.560 = 560 - Palaeontology -tens.570 = 570 - Biological sciences in general -tens.580 = 580 - Botany -tens.590 = 590 - Zoology -tens.600 = 600 - Biotechnology -tens.610 = 610 - Medical Sciences -tens.620 = 620 - Engineering. Technology in general -tens.630 = 630 - Agriculture and related sciences and techniques. Forestry. Farming. Wildlife exploitation -tens.640 = 640 - Home economics. Domestic science. Housekeeping -tens.650 = 650 - Communication and transport industries. Accountancy. Business management. Public relations -tens.660 = 660 - Chemical technology. Chemical and related industries -tens.670 = 670 - Various industries, trades and crafts -tens.680 = 680 - Industries, crafts and trades for finished or assembled articles -tens.690 = 690 - Building (construction) trade. Building materials. Building practice and procedure -tens.700 = 700 - [Unassigned] -tens.710 = 710 - Physical planning. Regional, town and country planning. Landscapes, parks, gardens -tens.720 = 720 - Architecture -tens.730 = 730 - Plastic arts -tens.740 = 740 - Drawing. Design. Applied arts and crafts -tens.750 = 750 - Painting -tens.760 = 760 - Graphic arts. Graphics -tens.770 = 770 - Photography and similar processes -tens.780 = 780 - Music -tens.790 = 790 - Recreation. Entertainment. Games. Sport -tens.800 = 800 - General questions relating to both linguistics and literature. Philology -tens.810 = 810 - Linguistics and languages -tens.820 = 820 - Literature -tens.830 = 830 - [Unassigned] -tens.840 = 840 - [Unassigned] -tens.850 = 850 - [Unassigned] -tens.860 = 860 - [Unassigned] -tens.870 = 870 - [Unassigned] -tens.880 = 880 - [Unassigned] -tens.890 = 890 - [Unassigned] -tens.900 = 900 - [Unassigned] -tens.910 = 910 - Geography. Exploration of the Earth and of individual countries. Travel. Regional geography -tens.920 = 920 - Biographical studies. Genealogy. Heraldry. Flags -tens.930 = 930 - [Unassigned] -tens.940 = 940 - General history -tens.950 = 950 - [Unassigned] -tens.960 = 960 - [Unassigned] -tens.970 = 970 - [Unassigned] -tens.980 = 980 - [Unassigned] -tens.990 = 990 - [Unassigned] -tens = [Unassigned] -ones.001 = 001 - Science and knowledge in general. Organization of intellectual work -ones.002 = 002 - Documentation. Books. Writings. Authorship -ones.003 = 003 - Writing systems and scripts -ones.004 = 004 - Computer science and technology. Computing. Data processing -ones.005 = 005 - Management -ones.006 = 006 - Standardization of products, operations, weights, measures and time -ones.007 = 007 - Activity and organizing. Communication and control theory generally (cybernetics). 'Human engineering' -ones.008 = 008 - Civilization. Culture. Progress -ones.009 = 009 - [Unassigned] -ones.010 = 010 - [Unassigned] -ones.011 = 011 - Universal and general bibliographies -ones.012 = 012 - Author bibliographies. Individual bibliographies -ones.013 = 013 - Collective bibliographies -ones.014 = 014 - Bibliographies of works of particular characteristics -ones.015 = 015 - Bibliographies of place -ones.016 = 016 - Special subject bibliographies -ones.017 = 017 - Catalogues in general. Subject catalogues -ones.018 = 018 - Name catalogues -ones.019 = 019 - Dictionary catalogues -ones.020 = 020 - [Unassigned] -ones.021 = 021 - Function, value, utility, creation, development of libraries -ones.022 = 022 - Library site, building, premises. Equipment -ones.023 = 023 - Library administration. Staff. Personnel -ones.024 = 024 - Relations with the public. Regulations for library use -ones.025 = 025 - Administrative departments of libraries -ones.026 = 026 - Special libraries -ones.027 = 027 - General libraries -ones.028 = 028 - [Unassigned] -ones.029 = 029 - [Unassigned] -ones.030 = 030 - General reference works (as subject) -ones.031 = 031 - [Unassigned] -ones.032 = 032 - [Unassigned] -ones.033 = 033 - [Unassigned] -ones.034 = 034 - [Unassigned] -ones.035 = 035 - [Unassigned] -ones.036 = 036 - [Unassigned] -ones.037 = 037 - [Unassigned] -ones.038 = 038 - [Unassigned] -ones.039 = 039 - [Unassigned] -ones.040 = 040 - [Unassigned] -ones.041 = 041 - [Unassigned] -ones.042 = 042 - [Unassigned] -ones.043 = 043 - [Unassigned] -ones.044 = 044 - [Unassigned] -ones.045 = 045 - [Unassigned] -ones.046 = 046 - [Unassigned] -ones.047 = 047 - [Unassigned] -ones.048 = 048 - [Unassigned] -ones.049 = 049 - [Unassigned] -ones.050 = 050 - Serial publications, periodicals (as subject) -ones.051 = 051 - [Unassigned] -ones.052 = 052 - [Unassigned] -ones.053 = 053 - [Unassigned] -ones.054 = 054 - [Unassigned] -ones.055 = 055 - [Unassigned] -ones.056 = 056 - [Unassigned] -ones.057 = 057 - [Unassigned] -ones.058 = 058 - [Unassigned] -ones.059 = 059 - [Unassigned] -ones.060 = 060 - [Unassigned] -ones.061 = 061 - Organizations and other types of cooperation -ones.062 = 062 - [Unassigned] -ones.063 = 063 - [Unassigned] -ones.064 = 064 - [Unassigned] -ones.065 = 065 - [Unassigned] -ones.066 = 066 - [Unassigned] -ones.067 = 067 - [Unassigned] -ones.068 = 068 - [Unassigned] -ones.069 = 069 - Museums. Permanent exhibitions -ones.070 = 070 - Newspapers. The Press -ones.071 = 071 - [Unassigned] -ones.072 = 072 - [Unassigned] -ones.073 = 073 - [Unassigned] -ones.074 = 074 - [Unassigned] -ones.075 = 075 - [Unassigned] -ones.076 = 076 - [Unassigned] -ones.077 = 077 - [Unassigned] -ones.078 = 078 - [Unassigned] -ones.079 = 079 - [Unassigned] -ones.080 = 080 - [Unassigned] -ones.081 = 081 - [Unassigned] -ones.082 = 082 - Collective polygraphy -ones.083 = 083 - [Unassigned] -ones.084 = 084 - Pictorial material -ones.085 = 085 - [Unassigned] -ones.086 = 086 - Documents of particular form -ones.087 = 087 - Documents of particular origin or destination -ones.088 = 088 - [Unassigned] -ones.089 = 089 - [Unassigned] -ones.090 = 090 - [Unassigned] -ones.091 = 091 - Manuscripts -ones.092 = 092 - Xylographic books -ones.093 = 093 - Incunabula -ones.094 = 094 - Other precious, remarkable or rare printed works -ones.095 = 095 - Books remarkable for their binding -ones.096 = 096 - Books remarkable for their illustrations or for materials used -ones.097 = 097 - Marks of ownership or origin -ones.098 = 098 - [Unassigned] -ones.099 = 099 - [Unassigned] -ones.100 = 100 - [Unassigned] -ones.101 = 101 - Nature and role of philosophy -ones.102 = 102 - [Unassigned] -ones.103 = 103 - [Unassigned] -ones.104 = 104 - [Unassigned] -ones.105 = 105 - [Unassigned] -ones.106 = 106 - [Unassigned] -ones.107 = 107 - [Unassigned] -ones.108 = 108 - [Unassigned] -ones.109 = 109 - [Unassigned] -ones.110 = 110 - [Unassigned] -ones.111 = 111 - General metaphysics. Ontology -ones.112 = 112 - [Unassigned] -ones.113 = 113 - [Unassigned] -ones.114 = 114 - [Unassigned] -ones.115 = 115 - [Unassigned] -ones.116 = 116 - [Unassigned] -ones.117 = 117 - [Unassigned] -ones.118 = 118 - [Unassigned] -ones.119 = 119 - [Unassigned] -ones.120 = 120 - [Unassigned] -ones.121 = 121 - [Unassigned] -ones.122 = 122 - [Unassigned] -ones.123 = 123 - [Unassigned] -ones.124 = 124 - [Unassigned] -ones.125 = 125 - [Unassigned] -ones.126 = 126 - [Unassigned] -ones.127 = 127 - [Unassigned] -ones.128 = 128 - [Unassigned] -ones.129 = 129 - [Unassigned] -ones.130 = 130 - [Unassigned] -ones.131 = 131 - [Unassigned] -ones.132 = 132 - [Unassigned] -ones.133 = 133 - [Unassigned] -ones.134 = 134 - [Unassigned] -ones.135 = 135 - [Unassigned] -ones.136 = 136 - [Unassigned] -ones.137 = 137 - [Unassigned] -ones.138 = 138 - [Unassigned] -ones.139 = 139 - [Unassigned] -ones.140 = 140 - Possible philosophical attitudes. System typology -ones.141 = 141 - Kinds of viewpoint -ones.142 = 142 - [Unassigned] -ones.143 = 143 - [Unassigned] -ones.144 = 144 - [Unassigned] -ones.145 = 145 - [Unassigned] -ones.146 = 146 - [Unassigned] -ones.147 = 147 - [Unassigned] -ones.148 = 148 - [Unassigned] -ones.149 = 149 - [Unassigned] -ones.150 = 150 - [Unassigned] -ones.151 = 151 - [Unassigned] -ones.152 = 152 - [Unassigned] -ones.153 = 153 - [Unassigned] -ones.154 = 154 - [Unassigned] -ones.155 = 155 - [Unassigned] -ones.156 = 156 - [Unassigned] -ones.157 = 157 - [Unassigned] -ones.158 = 158 - [Unassigned] -ones.159 = 159 - [Unassigned] -ones.160 = 160 - [Unassigned] -ones.161 = 161 - [Unassigned] -ones.162 = 162 - [Unassigned] -ones.163 = 163 - [Unassigned] -ones.164 = 164 - Logistic. Symbolic logic. Mathematical logic. Logical calculus -ones.165 = 165 - Theory of knowledge. Epistemology -ones.166 = 166 - [Unassigned] -ones.167 = 167 - [Unassigned] -ones.168 = 168 - [Unassigned] -ones.169 = 169 - [Unassigned] -ones.170 = 170 - [Unassigned] -ones.171 = 171 - Individual ethics. Human duties to oneself -ones.172 = 172 - Social ethics. Duties to one`s fellow humans -ones.173 = 173 - Family ethics -ones.174 = 174 - [Unassigned] -ones.175 = 175 - [Unassigned] -ones.176 = 176 - Sexual ethics. Sexual morality -ones.177 = 177 - Ethics and society -ones.178 = 178 - [Unassigned] -ones.179 = 179 - [Unassigned] -ones.180 = 180 - [Unassigned] -ones.181 = 181 - [Unassigned] -ones.182 = 182 - [Unassigned] -ones.183 = 183 - [Unassigned] -ones.184 = 184 - [Unassigned] -ones.185 = 185 - [Unassigned] -ones.186 = 186 - [Unassigned] -ones.187 = 187 - [Unassigned] -ones.188 = 188 - [Unassigned] -ones.189 = 189 - [Unassigned] -ones.190 = 190 - [Unassigned] -ones.191 = 191 - [Unassigned] -ones.192 = 192 - [Unassigned] -ones.193 = 193 - [Unassigned] -ones.194 = 194 - [Unassigned] -ones.195 = 195 - [Unassigned] -ones.196 = 196 - [Unassigned] -ones.197 = 197 - [Unassigned] -ones.198 = 198 - [Unassigned] -ones.199 = 199 - [Unassigned] -ones.200 = 200 - [Unassigned] -ones.201 = 201 - [Unassigned] -ones.202 = 202 - [Unassigned] -ones.203 = 203 - [Unassigned] -ones.204 = 204 - [Unassigned] -ones.205 = 205 - [Unassigned] -ones.206 = 206 - [Unassigned] -ones.207 = 207 - [Unassigned] -ones.208 = 208 - [Unassigned] -ones.209 = 209 - [Unassigned] -ones.210 = 210 - [Unassigned] -ones.211 = 211 - [Unassigned] -ones.212 = 212 - Prehistoric religions -ones.213 = 213 - Primitive religions -ones.214 = 214 - [Unassigned] -ones.215 = 215 - [Unassigned] -ones.216 = 216 - [Unassigned] -ones.217 = 217 - [Unassigned] -ones.218 = 218 - [Unassigned] -ones.219 = 219 - [Unassigned] -ones.220 = 220 - [Unassigned] -ones.221 = 221 - Religions of China -ones.222 = 222 - [Unassigned] -ones.223 = 223 - Religions of Korea -ones.224 = 224 - [Unassigned] -ones.225 = 225 - Religions of Japan -ones.226 = 226 - [Unassigned] -ones.227 = 227 - [Unassigned] -ones.228 = 228 - [Unassigned] -ones.229 = 229 - [Unassigned] -ones.230 = 230 - [Unassigned] -ones.231 = 231 - [Unassigned] -ones.232 = 232 - [Unassigned] -ones.233 = 233 - Hinduism narrowly -ones.234 = 234 - Jainism -ones.235 = 235 - Sikhism -ones.236 = 236 - [Unassigned] -ones.237 = 237 - [Unassigned] -ones.238 = 238 - [Unassigned] -ones.239 = 239 - [Unassigned] -ones.240 = 240 - [Unassigned] -ones.241 = 241 - Hinayana Buddhism. The lesser vehicle. Theravada Buddhism. Pali school -ones.242 = 242 - Mahayana Buddhism. The great vehicle -ones.243 = 243 - Lamaism -ones.244 = 244 - Japanese Buddhism -ones.245 = 245 - [Unassigned] -ones.246 = 246 - [Unassigned] -ones.247 = 247 - [Unassigned] -ones.248 = 248 - [Unassigned] -ones.249 = 249 - [Unassigned] -ones.250 = 250 - [Unassigned] -ones.251 = 251 - Ancient Egyptian religion -ones.252 = 252 - Religions of Mesopotamia -ones.253 = 253 - [Unassigned] -ones.254 = 254 - Religions of Iran -ones.255 = 255 - Religions of classical antiquity -ones.256 = 256 - [Unassigned] -ones.257 = 257 - Religions of Europe -ones.258 = 258 - Religions of South and Central America. Pre-Columbian indigenous religions -ones.259 = 259 - [Unassigned] -ones.260 = 260 - [Unassigned] -ones.261 = 261 - Religion of the Biblical period. Ancient Judaism. Old Testament religion -ones.262 = 262 - Ashkenazi Judaism -ones.263 = 263 - [Unassigned] -ones.264 = 264 - Sephardi Judaism -ones.265 = 265 - Orthodox Judaism -ones.266 = 266 - Progressive Judaism -ones.267 = 267 - Modern movements arising from Judaism -ones.268 = 268 - [Unassigned] -ones.269 = 269 - [Unassigned] -ones.270 = 270 - [Unassigned] -ones.271 = 271 - Eastern church -ones.272 = 272 - Roman Catholic church -ones.273 = 273 - Non-Roman Catholic episcopal churches -ones.274 = 274 - Protestantism generally. Protestants. Dissenters. Puritans -ones.275 = 275 - Re-formed churches -ones.276 = 276 - Anabaptists -ones.277 = 277 - Free churches. Non-conformists -ones.278 = 278 - Other protestant churches -ones.279 = 279 - Other Christian movements and churches -ones.280 = 280 - [Unassigned] -ones.281 = 281 - Sufism -ones.282 = 282 - Sunni. Sunnite Islam -ones.283 = 283 - [Unassigned] -ones.284 = 284 - Shi'a. Shi'ite Islam -ones.285 = 285 - Babi-Baha'i -ones.286 = 286 - Baha'i -ones.287 = 287 - [Unassigned] -ones.288 = 288 - [Unassigned] -ones.289 = 289 - [Unassigned] -ones.290 = 290 - [Unassigned] -ones.291 = 291 - [Unassigned] -ones.292 = 292 - [Unassigned] -ones.293 = 293 - [Unassigned] -ones.294 = 294 - [Unassigned] -ones.295 = 295 - [Unassigned] -ones.296 = 296 - [Unassigned] -ones.297 = 297 - [Unassigned] -ones.298 = 298 - [Unassigned] -ones.299 = 299 - [Unassigned] -ones.300 = 300 - [Unassigned] -ones.301 = 301 - [Unassigned] -ones.302 = 302 - [Unassigned] -ones.303 = 303 - Methods of the social sciences -ones.304 = 304 - Social questions. Social practice. Cultural practice. Way of life (Lebensweise) -ones.305 = 305 - Gender studies -ones.306 = 306 - [Unassigned] -ones.307 = 307 - [Unassigned] -ones.308 = 308 - Sociography. Descriptive studies of society (both qualitative and quantitative) -ones.309 = 309 - [Unassigned] -ones.310 = 310 - [Unassigned] -ones.311 = 311 - Statistics as a science. Statistical theory -ones.312 = 312 - [Unassigned] -ones.313 = 313 - [Unassigned] -ones.314 = 314 - Demography. Population studies -ones.315 = 315 - [Unassigned] -ones.316 = 316 - Sociology -ones.317 = 317 - [Unassigned] -ones.318 = 318 - [Unassigned] -ones.319 = 319 - [Unassigned] -ones.320 = 320 - [Unassigned] -ones.321 = 321 - Forms of political organization. States as political powers -ones.322 = 322 - Relations between church and state. Policy towards religion. Church policy -ones.323 = 323 - Home affairs. Internal policy -ones.324 = 324 - Elections. Plebiscites. Referendums. Election campaigns. Electoral corruption, malpractice. Election results -ones.325 = 325 - Opening up of territories. Colonization. Colonialism -ones.326 = 326 - Slavery -ones.327 = 327 - International relations. World, global politics. International affairs. Foreign policy -ones.328 = 328 - Parliaments. Congresses. Representation of the people. Governments -ones.329 = 329 - Political parties and movements -ones.330 = 330 - Economics in general -ones.331 = 331 - Labour. Employment. Work. Labour economics. Organization of labour -ones.332 = 332 - Regional economics. Territorial economics. Land economics. Housing economics -ones.333 = 333 - [Unassigned] -ones.334 = 334 - Forms of organization and cooperation in the economy -ones.335 = 335 - [Unassigned] -ones.336 = 336 - Finance -ones.337 = 337 - [Unassigned] -ones.338 = 338 - Economic situation. Economic policy. Management of the economy. Economic planning. Production. Services. Prices -ones.339 = 339 - Trade. Commerce. International economic relations. World economy -ones.340 = 340 - Law in general. Legal methods and auxiliary sciences -ones.341 = 341 - International law -ones.342 = 342 - Public law. Constitutional law. Administrative law -ones.343 = 343 - Criminal law. Penal offences -ones.344 = 344 - Special criminal law. Military, naval, air force laws -ones.345 = 345 - [Unassigned] -ones.346 = 346 - Economic law. Law of government control of the economy -ones.347 = 347 - Civil law -ones.348 = 348 - Ecclesiastical law. Canon law. Religious law (option) -ones.349 = 349 - Special branches of law. Miscellaneous legal matters -ones.350 = 350 - [Unassigned] -ones.351 = 351 - Particular activities of public administration -ones.352 = 352 - Lowest levels of administration. Local government. Municipal administration. Local authorities -ones.353 = 353 - Middle levels of administration. Regional, provincial government. Regional authorities -ones.354 = 354 - High level, top level of administration. Central, national government -ones.355 = 355 - Military affairs generally -ones.356 = 356 - Army service generally. Infantry. Foot soldiers -ones.357 = 357 - Cavalry. Mounted troops. Motorized troops -ones.358 = 358 - Artillery. Engineers. Aviation. Various technical units and their function -ones.359 = 359 - Naval forces. Military fleet. Navy: personnel, organization -ones.360 = 360 - [Unassigned] -ones.361 = 361 - [Unassigned] -ones.362 = 362 - [Unassigned] -ones.363 = 363 - [Unassigned] -ones.364 = 364 - Social welfare -ones.365 = 365 - Accommodation desires and their fulfilment. Safeguarding accommodation -ones.366 = 366 - Consumerism -ones.367 = 367 - [Unassigned] -ones.368 = 368 - Insurance. Communal provision through sharing of risk -ones.369 = 369 - [Unassigned] -ones.370 = 370 - [Unassigned] -ones.371 = 371 - [Unassigned] -ones.372 = 372 - [Unassigned] -ones.373 = 373 - Kinds of school providing general education -ones.374 = 374 - Education and training out of school. Further education -ones.375 = 375 - [Unassigned] -ones.376 = 376 - Education, teaching, training of special groups of persons. Special schools -ones.377 = 377 - Specialized instruction. Vocational, technical, professional training. Vocational colleges, institutes. Polytechnics -ones.378 = 378 - Higher education. Universities. Academic study -ones.379 = 379 - [Unassigned] -ones.380 = 380 - [Unassigned] -ones.381 = 381 - [Unassigned] -ones.382 = 382 - [Unassigned] -ones.383 = 383 - [Unassigned] -ones.384 = 384 - [Unassigned] -ones.385 = 385 - [Unassigned] -ones.386 = 386 - [Unassigned] -ones.387 = 387 - [Unassigned] -ones.388 = 388 - [Unassigned] -ones.389 = 389 - [Unassigned] -ones.390 = 390 - [Unassigned] -ones.391 = 391 - Costume. Clothing. National dress. Fashion. Adornment -ones.392 = 392 - Customs, manners, usage in private life -ones.393 = 393 - Death. Treatment of corpses. Funerals. Death rites -ones.394 = 394 - Public life. Pageantry. Social life. Life of the people -ones.395 = 395 - Social ceremonial. Etiquette. Good manners. Social forms. Rank. Title -ones.396 = 396 - [Unassigned] -ones.397 = 397 - [Unassigned] -ones.398 = 398 - Folklore in the strict sense -ones.399 = 399 - [Unassigned] -ones.400 = 400 - [Unassigned] -ones.401 = 401 - [Unassigned] -ones.402 = 402 - [Unassigned] -ones.403 = 403 - [Unassigned] -ones.404 = 404 - [Unassigned] -ones.405 = 405 - [Unassigned] -ones.406 = 406 - [Unassigned] -ones.407 = 407 - [Unassigned] -ones.408 = 408 - [Unassigned] -ones.409 = 409 - [Unassigned] -ones.410 = 410 - [Unassigned] -ones.411 = 411 - [Unassigned] -ones.412 = 412 - [Unassigned] -ones.413 = 413 - [Unassigned] -ones.414 = 414 - [Unassigned] -ones.415 = 415 - [Unassigned] -ones.416 = 416 - [Unassigned] -ones.417 = 417 - [Unassigned] -ones.418 = 418 - [Unassigned] -ones.419 = 419 - [Unassigned] -ones.420 = 420 - [Unassigned] -ones.421 = 421 - [Unassigned] -ones.422 = 422 - [Unassigned] -ones.423 = 423 - [Unassigned] -ones.424 = 424 - [Unassigned] -ones.425 = 425 - [Unassigned] -ones.426 = 426 - [Unassigned] -ones.427 = 427 - [Unassigned] -ones.428 = 428 - [Unassigned] -ones.429 = 429 - [Unassigned] -ones.430 = 430 - [Unassigned] -ones.431 = 431 - [Unassigned] -ones.432 = 432 - [Unassigned] -ones.433 = 433 - [Unassigned] -ones.434 = 434 - [Unassigned] -ones.435 = 435 - [Unassigned] -ones.436 = 436 - [Unassigned] -ones.437 = 437 - [Unassigned] -ones.438 = 438 - [Unassigned] -ones.439 = 439 - [Unassigned] -ones.440 = 440 - [Unassigned] -ones.441 = 441 - [Unassigned] -ones.442 = 442 - [Unassigned] -ones.443 = 443 - [Unassigned] -ones.444 = 444 - [Unassigned] -ones.445 = 445 - [Unassigned] -ones.446 = 446 - [Unassigned] -ones.447 = 447 - [Unassigned] -ones.448 = 448 - [Unassigned] -ones.449 = 449 - [Unassigned] -ones.450 = 450 - [Unassigned] -ones.451 = 451 - [Unassigned] -ones.452 = 452 - [Unassigned] -ones.453 = 453 - [Unassigned] -ones.454 = 454 - [Unassigned] -ones.455 = 455 - [Unassigned] -ones.456 = 456 - [Unassigned] -ones.457 = 457 - [Unassigned] -ones.458 = 458 - [Unassigned] -ones.459 = 459 - [Unassigned] -ones.460 = 460 - [Unassigned] -ones.461 = 461 - [Unassigned] -ones.462 = 462 - [Unassigned] -ones.463 = 463 - [Unassigned] -ones.464 = 464 - [Unassigned] -ones.465 = 465 - [Unassigned] -ones.466 = 466 - [Unassigned] -ones.467 = 467 - [Unassigned] -ones.468 = 468 - [Unassigned] -ones.469 = 469 - [Unassigned] -ones.470 = 470 - [Unassigned] -ones.471 = 471 - [Unassigned] -ones.472 = 472 - [Unassigned] -ones.473 = 473 - [Unassigned] -ones.474 = 474 - [Unassigned] -ones.475 = 475 - [Unassigned] -ones.476 = 476 - [Unassigned] -ones.477 = 477 - [Unassigned] -ones.478 = 478 - [Unassigned] -ones.479 = 479 - [Unassigned] -ones.480 = 480 - [Unassigned] -ones.481 = 481 - [Unassigned] -ones.482 = 482 - [Unassigned] -ones.483 = 483 - [Unassigned] -ones.484 = 484 - [Unassigned] -ones.485 = 485 - [Unassigned] -ones.486 = 486 - [Unassigned] -ones.487 = 487 - [Unassigned] -ones.488 = 488 - [Unassigned] -ones.489 = 489 - [Unassigned] -ones.490 = 490 - [Unassigned] -ones.491 = 491 - [Unassigned] -ones.492 = 492 - [Unassigned] -ones.493 = 493 - [Unassigned] -ones.494 = 494 - [Unassigned] -ones.495 = 495 - [Unassigned] -ones.496 = 496 - [Unassigned] -ones.497 = 497 - [Unassigned] -ones.498 = 498 - [Unassigned] -ones.499 = 499 - [Unassigned] -ones.500 = 500 - [Unassigned] -ones.501 = 501 - [Unassigned] -ones.502 = 502 - The environment and its protection -ones.503 = 503 - [Unassigned] -ones.504 = 504 - Threats to the environment -ones.505 = 505 - [Unassigned] -ones.506 = 506 - [Unassigned] -ones.507 = 507 - [Unassigned] -ones.508 = 508 - [Unassigned] -ones.509 = 509 - [Unassigned] -ones.510 = 510 - Fundamental and general considerations of mathematics -ones.511 = 511 - Number theory -ones.512 = 512 - Algebra -ones.513 = 513 - [Unassigned] -ones.514 = 514 - Geometry -ones.515 = 515 - [Unassigned] -ones.516 = 516 - [Unassigned] -ones.517 = 517 - Analysis -ones.518 = 518 - [Unassigned] -ones.519 = 519 - [Unassigned] -ones.520 = 520 - Astronomical instruments and techniques -ones.521 = 521 - Theoretical astronomy. Celestial mechanics -ones.522 = 522 - [Unassigned] -ones.523 = 523 - The Solar System -ones.524 = 524 - Stars. Stellar systems. The Universe -ones.525 = 525 - [Unassigned] -ones.526 = 526 - [Unassigned] -ones.527 = 527 - [Unassigned] -ones.528 = 528 - Geodesy. Surveying. Photogrammetry. Remote sensing. Cartography -ones.529 = 529 - [Unassigned] -ones.530 = 530 - [Unassigned] -ones.531 = 531 - General mechanics. Mechanics of solid and rigid bodies -ones.532 = 532 - Fluid mechanics in general. Mechanics of liquids (hydromechanics) -ones.533 = 533 - Mechanics of gases. Aeromechanics. Plasma physics -ones.534 = 534 - Vibrations. Waves. Acoustics -ones.535 = 535 - Optics -ones.536 = 536 - Heat. Thermodynamics. Statistical physics -ones.537 = 537 - Electricity. Magnetism. Electromagnetism -ones.538 = 538 - [Unassigned] -ones.539 = 539 - Physical nature of matter -ones.540 = 540 - [Unassigned] -ones.541 = 541 - [Unassigned] -ones.542 = 542 - Practical laboratory chemistry. Preparative and experimental chemistry -ones.543 = 543 - Analytical chemistry -ones.544 = 544 - Physical chemistry -ones.545 = 545 - [Unassigned] -ones.546 = 546 - Inorganic chemistry -ones.547 = 547 - Organic chemistry -ones.548 = 548 - Crystallography -ones.549 = 549 - Mineralogy. Special study of minerals -ones.550 = 550 - Ancillary sciences of geology etc. -ones.551 = 551 - General geology. Meteorology. Climatology. Historical geology. Stratigraphy. Palaeogeography -ones.552 = 552 - Petrology. Petrography -ones.553 = 553 - Economic geology. Mineral deposits -ones.554 = 554 - [Unassigned] -ones.555 = 555 - [Unassigned] -ones.556 = 556 - Hydrosphere. Water in general. Hydrology -ones.557 = 557 - Systematic palaeobotany -ones.558 = 558 - Invertebrata in general -ones.559 = 559 - [Unassigned] -ones.560 = 560 - [Unassigned] -ones.561 = 561 - [Unassigned] -ones.562 = 562 - [Unassigned] -ones.563 = 563 - [Unassigned] -ones.564 = 564 - Mollusca. Bryozoa. Brachiopoda -ones.565 = 565 - Articulata -ones.566 = 566 - [Unassigned] -ones.567 = 567 - Pisces: Fishes -ones.568 = 568 - Sauropsida -ones.569 = 569 - Mammalia. Mammals -ones.570 = 570 - [Unassigned] -ones.571 = 571 - [Unassigned] -ones.572 = 572 - Physical anthropology -ones.573 = 573 - General and theoretical biology -ones.574 = 574 - General ecology and biodiversity -ones.575 = 575 - General genetics. General cytogenetics -ones.576 = 576 - Cellular and subcellular biology. Cytology -ones.577 = 577 - Material bases of life. Biochemistry. Molecular biology. Biophysics -ones.578 = 578 - Virology -ones.579 = 579 - Microbiology -ones.580 = 580 - [Unassigned] -ones.581 = 581 - General botany -ones.582 = 582 - Systematic botany -ones.583 = 583 - [Unassigned] -ones.584 = 584 - [Unassigned] -ones.585 = 585 - [Unassigned] -ones.586 = 586 - [Unassigned] -ones.587 = 587 - [Unassigned] -ones.588 = 588 - [Unassigned] -ones.589 = 589 - [Unassigned] -ones.590 = 590 - [Unassigned] -ones.591 = 591 - General zoology -ones.592 = 592 - Invertebrata in general -ones.593 = 593 - Mollusca. Bryozoa. Brachiopoda -ones.594 = 594 - [Unassigned] -ones.595 = 595 - Articulata -ones.596 = 596 - [Unassigned] -ones.597 = 597 - [Unassigned] -ones.598 = 598 - Sauropsida -ones.599 = 599 - Mammalia. Mammals -ones.600 = 600 - Fundamental concepts -ones.601 = 601 - Processes and techniques in biotechnology -ones.602 = 602 - [Unassigned] -ones.603 = 603 - [Unassigned] -ones.604 = 604 - Biotechnology products -ones.605 = 605 - [Unassigned] -ones.606 = 606 - Applications of biotechnology -ones.607 = 607 - [Unassigned] -ones.608 = 608 - Issues in biotechnology -ones.609 = 609 - [Unassigned] -ones.610 = 610 - [Unassigned] -ones.611 = 611 - Anatomy. Human and comparative anatomy -ones.612 = 612 - Physiology. Human and comparative physiology -ones.613 = 613 - Hygiene generally. Personal health and hygiene -ones.614 = 614 - Public health and hygiene. Accident prevention -ones.615 = 615 - Pharmacology. Therapeutics. Toxicology -ones.616 = 616 - Pathology. Clinical medicine -ones.617 = 617 - Surgery. Orthopaedics. Ophthalmology -ones.618 = 618 - Gynaecology. Obstetrics -ones.619 = 619 - [Unassigned] -ones.620 = 620 - Materials testing. Commercial materials. Power stations. Economics of energy -ones.621 = 621 - Mechanical engineering in general. Nuclear technology. Electrical engineering. Machinery -ones.622 = 622 - Mining -ones.623 = 623 - Military engineering -ones.624 = 624 - Civil and structural engineering in general -ones.625 = 625 - Civil engineering of land transport. Railway engineering. Highway engineering -ones.626 = 626 - Hydraulic engineering in general -ones.627 = 627 - Natural waterway, port, harbour and shore engineering. Navigational, dredging, salvage and rescue facilities. Dams and hydraulic power plant -ones.628 = 628 - Public health engineering. Water. Sanitation. Illuminating engineering -ones.629 = 629 - Transport vehicle engineering -ones.630 = 630 - Forestry -ones.631 = 631 - Agriculture in general -ones.632 = 632 - Plant damage, injuries. Plant diseases. Pests, organisms injurious to plants. Plant protection -ones.633 = 633 - Field crops and their production -ones.634 = 634 - Fruit growing -ones.635 = 635 - Garden plants. Gardening -ones.636 = 636 - Animal husbandry and breeding in general. Livestock rearing. Breeding of domestic animals -ones.637 = 637 - Produce of domestic (farmyard) animals and game -ones.638 = 638 - Keeping, breeding and management of insects and other arthropods -ones.639 = 639 - Hunting. Fishing. Fish breeding -ones.640 = 640 - Types of household -ones.641 = 641 - Food. Cooking. Dishes -ones.642 = 642 - Meals and mealtimes. Tableware -ones.643 = 643 - The home. The dwelling -ones.644 = 644 - Installations for health and comfort in dwellings -ones.645 = 645 - Furniture and household fittings -ones.646 = 646 - [Unassigned] -ones.647 = 647 - [Unassigned] -ones.648 = 648 - Washing. Laundry. Cleaning -ones.649 = 649 - Domestic care of children, invalids, guests -ones.650 = 650 - [Unassigned] -ones.651 = 651 - [Unassigned] -ones.652 = 652 - [Unassigned] -ones.653 = 653 - [Unassigned] -ones.654 = 654 - Telecommunication and telecontrol (organization, services) -ones.655 = 655 - Graphic industries. Printing. Publishing. Book trade -ones.656 = 656 - Transport and postal services. Traffic organization and control -ones.657 = 657 - Accountancy -ones.658 = 658 - Business management, administration. Commercial organization -ones.659 = 659 - Publicity. Public relations -ones.660 = 660 - [Unassigned] -ones.661 = 661 - Chemicals -ones.662 = 662 - Explosives. Fuels -ones.663 = 663 - Industrial microbiology. Industrial mycology. Zymurgy, fermentation industry. Beverage industry. Stimulant industry -ones.664 = 664 - Production and preservation of solid foodstuffs -ones.665 = 665 - Oils. Fats. Waxes. Adhesives. Gums. Resins -ones.666 = 666 - Glass industry. Ceramics. Cement and concrete -ones.667 = 667 - Colour industries -ones.668 = 668 - [Unassigned] -ones.669 = 669 - Metallurgy -ones.670 = 670 - [Unassigned] -ones.671 = 671 - Articles of precious metals, gems, precious stones -ones.672 = 672 - Articles of iron and steel in general -ones.673 = 673 - Articles of nonferrous metals (except precious metals) -ones.674 = 674 - Timber and woodworking industry -ones.675 = 675 - Leather industry (including fur and imitation leather) -ones.676 = 676 - Pulp, paper and board industry -ones.677 = 677 - Textile industry -ones.678 = 678 - Industries based on macromolecular materials. Rubber industry. Plastics industry -ones.679 = 679 - Industries based on various processable materials -ones.680 = 680 - [Unassigned] -ones.681 = 681 - Precision mechanisms and instruments -ones.682 = 682 - Smithery. Blacksmithery. Farriery. Hand-forged ironwork -ones.683 = 683 - Ironmongery. Hardware. Locksmithing. Bottling. Lamps. Heating appliances -ones.684 = 684 - Furniture and allied industries. Furniture manufacture. Upholstery -ones.685 = 685 - Saddlery. Footwear. Gloving. Travel, sports, games and other equipment -ones.686 = 686 - Bookbinding. Metallizing. Mirror-making. Stationery -ones.687 = 687 - Clothing industry. Garment manufacture. Beauty culture -ones.688 = 688 - Fancy goods. Toys. Decorative articles -ones.689 = 689 - Amateur handicrafts. Technical hobbies -ones.690 = 690 - [Unassigned] -ones.691 = 691 - Building materials. Building components -ones.692 = 692 - Structural parts and elements of buildings -ones.693 = 693 - Masonry and related building crafts -ones.694 = 694 - Timber construction. Carpentry. Joinery -ones.695 = 695 - [Unassigned] -ones.696 = 696 - Equipment, services, installations in buildings (sanitary, gas, steam, electrical). Pipe fitter. Plumber. Metal worker. Drainlayer. Electrician. Other trades -ones.697 = 697 - Heating, ventilation and air conditioning of buildings -ones.698 = 698 - Finishing and decorating trades -ones.699 = 699 - [Unassigned] -ones.700 = 700 - [Unassigned] -ones.701 = 701 - [Unassigned] -ones.702 = 702 - [Unassigned] -ones.703 = 703 - [Unassigned] -ones.704 = 704 - [Unassigned] -ones.705 = 705 - [Unassigned] -ones.706 = 706 - [Unassigned] -ones.707 = 707 - [Unassigned] -ones.708 = 708 - [Unassigned] -ones.709 = 709 - [Unassigned] -ones.710 = 710 - [Unassigned] -ones.711 = 711 - Principles and practice of physical planning. Regional, town and country planning -ones.712 = 712 - Planning of landscape (natural and designed). Parks. Gardens -ones.713 = 713 - [Unassigned] -ones.714 = 714 - [Unassigned] -ones.715 = 715 - [Unassigned] -ones.716 = 716 - [Unassigned] -ones.717 = 717 - [Unassigned] -ones.718 = 718 - Cemeteries. Graveyards. Crematoriums. Other places for disposal of the dead (planning, design, upkeep etc.) -ones.719 = 719 - Preservation of rural and urban amenities generally -ones.720 = 720 - [Unassigned] -ones.721 = 721 - Buildings generally -ones.722 = 722 - [Unassigned] -ones.723 = 723 - [Unassigned] -ones.724 = 724 - [Unassigned] -ones.725 = 725 - Public, civil, commercial, industrial buildings. Secular architecture generally -ones.726 = 726 - Religious, ecclesiastical architecture. Sacred and funerary buildings -ones.727 = 727 - Buildings for educational, scientific, cultural purposes -ones.728 = 728 - Domestic architecture. Housing. Residential buildings -ones.729 = 729 - [Unassigned] -ones.730 = 730 - Sculpture in general. Statuary -ones.731 = 731 - [Unassigned] -ones.732 = 732 - [Unassigned] -ones.733 = 733 - [Unassigned] -ones.734 = 734 - [Unassigned] -ones.735 = 735 - [Unassigned] -ones.736 = 736 - Glyptics. Sigillography -ones.737 = 737 - Numismatics -ones.738 = 738 - Ceramic arts. Pottery -ones.739 = 739 - Metal arts -ones.740 = 740 - [Unassigned] -ones.741 = 741 - Drawing in general -ones.742 = 742 - Perspective in drawing -ones.743 = 743 - [Unassigned] -ones.744 = 744 - Linear and geometric drawing. Technical drawing -ones.745 = 745 - Decorative handicrafts -ones.746 = 746 - Fancy work. Art needlework -ones.747 = 747 - Interior decoration -ones.748 = 748 - Vitreous arts. Artistic glassware and crystal ware -ones.749 = 749 - Artistic furniture, heating and lighting devices -ones.750 = 750 - [Unassigned] -ones.751 = 751 - [Unassigned] -ones.752 = 752 - [Unassigned] -ones.753 = 753 - [Unassigned] -ones.754 = 754 - [Unassigned] -ones.755 = 755 - [Unassigned] -ones.756 = 756 - [Unassigned] -ones.757 = 757 - [Unassigned] -ones.758 = 758 - [Unassigned] -ones.759 = 759 - [Unassigned] -ones.760 = 760 - [Unassigned] -ones.761 = 761 - Relief techniques -ones.762 = 762 - Intaglio techniques -ones.763 = 763 - Planographic techniques. Lithography (autolithography) -ones.764 = 764 - [Unassigned] -ones.765 = 765 - [Unassigned] -ones.766 = 766 - Applied graphic arts. Commercial graphics -ones.767 = 767 - [Unassigned] -ones.768 = 768 - [Unassigned] -ones.769 = 769 - [Unassigned] -ones.770 = 770 - [Unassigned] -ones.771 = 771 - Photographic equipment, apparatus and materials -ones.772 = 772 - Photographic systems, processes (especially those using inorganic substances or physical phenomena) -ones.773 = 773 - [Unassigned] -ones.774 = 774 - Photomechanical processes generally -ones.775 = 775 - [Unassigned] -ones.776 = 776 - Photolithography. Photographic production of planographic plates -ones.777 = 777 - Intaglio and relief processes -ones.778 = 778 - Special applications and techniques of photography -ones.779 = 779 - [Unassigned] -ones.780 = 780 - [Unassigned] -ones.781 = 781 - [Unassigned] -ones.782 = 782 - Dramatic music. Opera -ones.783 = 783 - Church music. Sacred music. Religious music -ones.784 = 784 - Vocal music -ones.785 = 785 - Instrumental music. Symphonic music. Grouping of instruments. Ensemble music -ones.786 = 786 - [Unassigned] -ones.787 = 787 - [Unassigned] -ones.788 = 788 - [Unassigned] -ones.789 = 789 - [Unassigned] -ones.790 = 790 - [Unassigned] -ones.791 = 791 - Cinema. Films (motion pictures) -ones.792 = 792 - Theatre. Stagecraft. Dramatic performances -ones.793 = 793 - Social entertainments and recreations. Art of movement. Dance -ones.794 = 794 - Board and table games (of thought, skill and chance) -ones.795 = 795 - [Unassigned] -ones.796 = 796 - Sport. Games. Physical exercises -ones.797 = 797 - Water sports. Aerial sports -ones.798 = 798 - Riding and driving. Horse and other animal sports -ones.799 = 799 - Sport fishing. Sport hunting. Shooting and target sports -ones.800 = 800 - [Unassigned] -ones.801 = 801 - Prosody. Auxiliary sciences and sources of philology -ones.802 = 802 - [Unassigned] -ones.803 = 803 - [Unassigned] -ones.804 = 804 - [Unassigned] -ones.805 = 805 - [Unassigned] -ones.806 = 806 - [Unassigned] -ones.807 = 807 - [Unassigned] -ones.808 = 808 - Rhetoric. The effective use of language -ones.809 = 809 - [Unassigned] -ones.810 = 810 - [Unassigned] -ones.811 = 811 - Languages -ones.812 = 812 - [Unassigned] -ones.813 = 813 - [Unassigned] -ones.814 = 814 - [Unassigned] -ones.815 = 815 - [Unassigned] -ones.816 = 816 - [Unassigned] -ones.817 = 817 - [Unassigned] -ones.818 = 818 - [Unassigned] -ones.819 = 819 - [Unassigned] -ones.820 = 820 - [Unassigned] -ones.821 = 821 - Literatures of individual languages and language families -ones.822 = 822 - [Unassigned] -ones.823 = 823 - [Unassigned] -ones.824 = 824 - [Unassigned] -ones.825 = 825 - [Unassigned] -ones.826 = 826 - [Unassigned] -ones.827 = 827 - [Unassigned] -ones.828 = 828 - [Unassigned] -ones.829 = 829 - [Unassigned] -ones.830 = 830 - [Unassigned] -ones.831 = 831 - [Unassigned] -ones.832 = 832 - [Unassigned] -ones.833 = 833 - [Unassigned] -ones.834 = 834 - [Unassigned] -ones.835 = 835 - [Unassigned] -ones.836 = 836 - [Unassigned] -ones.837 = 837 - [Unassigned] -ones.838 = 838 - [Unassigned] -ones.839 = 839 - [Unassigned] -ones.840 = 840 - [Unassigned] -ones.841 = 841 - [Unassigned] -ones.842 = 842 - [Unassigned] -ones.843 = 843 - [Unassigned] -ones.844 = 844 - [Unassigned] -ones.845 = 845 - [Unassigned] -ones.846 = 846 - [Unassigned] -ones.847 = 847 - [Unassigned] -ones.848 = 848 - [Unassigned] -ones.849 = 849 - [Unassigned] -ones.850 = 850 - [Unassigned] -ones.851 = 851 - [Unassigned] -ones.852 = 852 - [Unassigned] -ones.853 = 853 - [Unassigned] -ones.854 = 854 - [Unassigned] -ones.855 = 855 - [Unassigned] -ones.856 = 856 - [Unassigned] -ones.857 = 857 - [Unassigned] -ones.858 = 858 - [Unassigned] -ones.859 = 859 - [Unassigned] -ones.860 = 860 - [Unassigned] -ones.861 = 861 - [Unassigned] -ones.862 = 862 - [Unassigned] -ones.863 = 863 - [Unassigned] -ones.864 = 864 - [Unassigned] -ones.865 = 865 - [Unassigned] -ones.866 = 866 - [Unassigned] -ones.867 = 867 - [Unassigned] -ones.868 = 868 - [Unassigned] -ones.869 = 869 - [Unassigned] -ones.870 = 870 - [Unassigned] -ones.871 = 871 - [Unassigned] -ones.872 = 872 - [Unassigned] -ones.873 = 873 - [Unassigned] -ones.874 = 874 - [Unassigned] -ones.875 = 875 - [Unassigned] -ones.876 = 876 - [Unassigned] -ones.877 = 877 - [Unassigned] -ones.878 = 878 - [Unassigned] -ones.879 = 879 - [Unassigned] -ones.880 = 880 - [Unassigned] -ones.881 = 881 - [Unassigned] -ones.882 = 882 - [Unassigned] -ones.883 = 883 - [Unassigned] -ones.884 = 884 - [Unassigned] -ones.885 = 885 - [Unassigned] -ones.886 = 886 - [Unassigned] -ones.887 = 887 - [Unassigned] -ones.888 = 888 - [Unassigned] -ones.889 = 889 - [Unassigned] -ones.890 = 890 - [Unassigned] -ones.891 = 891 - [Unassigned] -ones.892 = 892 - [Unassigned] -ones.893 = 893 - [Unassigned] -ones.894 = 894 - [Unassigned] -ones.895 = 895 - [Unassigned] -ones.896 = 896 - [Unassigned] -ones.897 = 897 - [Unassigned] -ones.898 = 898 - [Unassigned] -ones.899 = 899 - [Unassigned] -ones.900 = 900 - [Unassigned] -ones.901 = 901 - [Unassigned] -ones.902 = 902 - Archaeology -ones.903 = 903 - Prehistory. Prehistoric remains, artefacts, antiquities -ones.904 = 904 - Cultural remains of historical times -ones.905 = 905 - [Unassigned] -ones.906 = 906 - [Unassigned] -ones.907 = 907 - [Unassigned] -ones.908 = 908 - Area studies. Study of a locality -ones.909 = 909 - [Unassigned] -ones.910 = 910 - General questions. Geography as a science. Exploration. Travel -ones.911 = 911 - General geography. Science of geographical factors (systematic geography). Theoretical geography -ones.912 = 912 - Nonliterary, nontextual representations of a region -ones.913 = 913 - Regional geography -ones.914 = 914 - [Unassigned] -ones.915 = 915 - [Unassigned] -ones.916 = 916 - [Unassigned] -ones.917 = 917 - [Unassigned] -ones.918 = 918 - [Unassigned] -ones.919 = 919 - [Unassigned] -ones.920 = 920 - [Unassigned] -ones.921 = 921 - [Unassigned] -ones.922 = 922 - [Unassigned] -ones.923 = 923 - [Unassigned] -ones.924 = 924 - [Unassigned] -ones.925 = 925 - [Unassigned] -ones.926 = 926 - [Unassigned] -ones.927 = 927 - [Unassigned] -ones.928 = 928 - [Unassigned] -ones.929 = 929 - Biographical studies -ones.930 = 930 - Science of history. Historiography -ones.931 = 931 - [Unassigned] -ones.932 = 932 - [Unassigned] -ones.933 = 933 - [Unassigned] -ones.934 = 934 - [Unassigned] -ones.935 = 935 - [Unassigned] -ones.936 = 936 - [Unassigned] -ones.937 = 937 - [Unassigned] -ones.938 = 938 - [Unassigned] -ones.939 = 939 - [Unassigned] -ones.940 = 940 - [Unassigned] -ones.941 = 941 - [Unassigned] -ones.942 = 942 - [Unassigned] -ones.943 = 943 - [Unassigned] -ones.944 = 944 - [Unassigned] -ones.945 = 945 - [Unassigned] -ones.946 = 946 - [Unassigned] -ones.947 = 947 - [Unassigned] -ones.948 = 948 - [Unassigned] -ones.949 = 949 - [Unassigned] -ones.950 = 950 - [Unassigned] -ones.951 = 951 - [Unassigned] -ones.952 = 952 - [Unassigned] -ones.953 = 953 - [Unassigned] -ones.954 = 954 - [Unassigned] -ones.955 = 955 - [Unassigned] -ones.956 = 956 - [Unassigned] -ones.957 = 957 - [Unassigned] -ones.958 = 958 - [Unassigned] -ones.959 = 959 - [Unassigned] -ones.960 = 960 - [Unassigned] -ones.961 = 961 - [Unassigned] -ones.962 = 962 - [Unassigned] -ones.963 = 963 - [Unassigned] -ones.964 = 964 - [Unassigned] -ones.965 = 965 - [Unassigned] -ones.966 = 966 - [Unassigned] -ones.967 = 967 - [Unassigned] -ones.968 = 968 - [Unassigned] -ones.969 = 969 - [Unassigned] -ones.970 = 970 - [Unassigned] -ones.971 = 971 - [Unassigned] -ones.972 = 972 - [Unassigned] -ones.973 = 973 - [Unassigned] -ones.974 = 974 - [Unassigned] -ones.975 = 975 - [Unassigned] -ones.976 = 976 - [Unassigned] -ones.977 = 977 - [Unassigned] -ones.978 = 978 - [Unassigned] -ones.979 = 979 - [Unassigned] -ones.980 = 980 - [Unassigned] -ones.981 = 981 - [Unassigned] -ones.982 = 982 - [Unassigned] -ones.983 = 983 - [Unassigned] -ones.984 = 984 - [Unassigned] -ones.985 = 985 - [Unassigned] -ones.986 = 986 - [Unassigned] -ones.987 = 987 - [Unassigned] -ones.988 = 988 - [Unassigned] -ones.989 = 989 - [Unassigned] -ones.990 = 990 - [Unassigned] -ones.991 = 991 - [Unassigned] -ones.992 = 992 - [Unassigned] -ones.993 = 993 - [Unassigned] -ones.994 = 994 - [Unassigned] -ones.995 = 995 - [Unassigned] -ones.996 = 996 - [Unassigned] -ones.997 = 997 - [Unassigned] -ones.998 = 998 - [Unassigned] -ones.999 = 999 - [Unassigned] -ones = [Unassigned] diff --git a/import/vudl_FOXML.properties b/import/vudl_FOXML.properties deleted file mode 100644 index 427ff06214421b1b51b577d32801523a4159e639..0000000000000000000000000000000000000000 --- a/import/vudl_FOXML.properties +++ /dev/null @@ -1,24 +0,0 @@ -; XSLT Import Settings for VuDL -[General] -; REQUIRED: Name of XSLT file to apply. Path is relative to the import/xsl directory -; of the VuFind installation (or your local override directory). -xslt = vudl_FOXML.xsl -; OPTIONAL: PHP function(s) to register for use within XSLT file. You may repeat -; this line to register multiple PHP functions. -php_function[] = str_pad -; OPTIONAL: PHP class filled with public static functions for use by the XSLT file. -; The class will be autoloaded using a prefix of VF_XSLT_Import_ (i.e. you need to -; define VF_XSLT_Import_VuFind in your library directory); the short name will be -; used from within the XSLT code. You may repeat this line to load multiple custom -; classes. -custom_class[] = VuFind - -; XSLT parameters -- any key/value pairs set here will be passed as parameters to -; the XSLT file, allowing local values to be set without modifying XSLT code. -[Parameters] -institution = "Villanova University" -collection = "Digital Library" -;track_changes = 1 ; Set to 1 to enable change tracking -;solr_core = "biblio" ; Solr core name for use with change tracking -fedoraURL = "http://your.fedora.server" -fedoraPort = "8080" \ No newline at end of file diff --git a/import/vufind.properties b/import/vufind.properties deleted file mode 100644 index 52985f62f92e878c5242027856c2d95f553097a2..0000000000000000000000000000000000000000 --- a/import/vufind.properties +++ /dev/null @@ -1,13 +0,0 @@ -# Properties for the VuFind indexer -# $Id: vufind.properties $ - -# A path relative to the VUFIND_HOME or VUFIND_LOCAL_DIR environment variable -# where VuFind's configuration files can be found. By default, SolrMarc will -# look in the VuFind 2.x-style directory path, but you can uncomment the line -# below for compatibility with VuFind 1.x. -#vufind.config.relative_path = web/conf - -# coordinate error log location - where to put coordinate indexing error logs -# if not set, the default path will be VUFIND_LOCAL_DIR/import, and failing that, -# VUFIND_HOME/import. -#coordinate.log.path = /usr/local/vufind/import diff --git a/import/webcrawl.php b/import/webcrawl.php deleted file mode 100644 index 95cae11aa9339520fcd45081db508a25de31d6c7..0000000000000000000000000000000000000000 --- a/import/webcrawl.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * Command-line tool to crawl website for special index. - * - * PHP version 7 - * - * Copyright (c) Demian Katz 2010. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, - * as published by the Free Software Foundation. - * - * This program 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * @category VuFind - * @package Utilities - * @author Andrew S. Nagy <vufind-tech@lists.sourceforge.net> - * @author Demian Katz <demian.katz@villanova.edu> - * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License - * @link https://vufind.org/wiki/indexing Wiki - */ - -// Manipulate command line to load correct route, then load Zend Framework: -array_unshift($_SERVER['argv'], array_shift($_SERVER['argv']), 'import', 'webcrawl'); -$_SERVER['argc'] += 2; -require_once __DIR__ . '/../public/index.php'; diff --git a/import/xsl/doaj.xsl b/import/xsl/doaj.xsl deleted file mode 100644 index 615de066bf03aaa8fd458d218725c9eb2369c4d9..0000000000000000000000000000000000000000 --- a/import/xsl/doaj.xsl +++ /dev/null @@ -1,162 +0,0 @@ -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:php="http://php.net/xsl" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance" - xmlns:oai_doaj="http://doaj.org/features/oai_doaj/1.0/"> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:param name="institution">Directory of Open Access Journals</xsl:param> - <xsl:param name="collection">DOAJ</xsl:param> - <xsl:template match="oai_doaj:doajArticle"> - <add> - <doc> - <!-- ID --> - <!-- Important: This relies on an <identifier> tag being injected by the OAI-PMH harvester. --> - <field name="id"> - <xsl:value-of select="//identifier"/> - </field> - - <!-- RECORDTYPE --> - <field name="recordtype">Article</field> - - <!-- FULLRECORD --> - <!-- disabled for now; records are so large that they cause memory problems! - <field name="fullrecord"> - <xsl:copy-of select="php:function('VuFind::xmlAsText', /oai_doaj:record)"/> - </field> - --> - - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string(/oai_doaj:doajArticle))"/> - </field> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- LANGUAGE --> - <xsl:if test="/oai_doaj:doajArticle/oai_doaj:language"> - <xsl:for-each select="/oai_doaj:doajArticle/oai_doaj:language"> - <xsl:if test="string-length() > 0"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(.)), 'language_map.properties')"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - --> - - <!-- FORMAT --> - <field name="format">Article</field> - - <!-- AUTHOR --> - <xsl:if test="//oai_doaj:authors/oai_doaj:author/oai_doaj:name"> - <xsl:for-each select="//oai_doaj:authors/oai_doaj:author/oai_doaj:name"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="normalize-space()"/> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- TITLE --> - <xsl:if test="//oai_doaj:title[normalize-space()]"> - <field name="title"> - <xsl:value-of select="//oai_doaj:title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="//oai_doaj:title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="//oai_doaj:title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//oai_doaj:title[normalize-space()]))"/> - </field> - </xsl:if> - - <!-- PUBLISHER --> - <xsl:if test="//oai_doaj:publisher[normalize-space()]"> - <field name="publisher"> - <xsl:value-of select="//oai_doaj:publisher[normalize-space()]"/> - </field> - </xsl:if> - - <!-- SERIES --> - <xsl:if test="//oai_doaj:journalTitle[normalize-space()]"> - <field name="series"> - <xsl:value-of select="//oai_doaj:journalTitle[normalize-space()]"/> - </field> - </xsl:if> - - <!-- ISSN --> - <xsl:if test="//oai_doaj:issn[normalize-space()]"> - <field name="issn"> - <xsl:value-of select="//oai_doaj:issn[normalize-space()]"/> - </field> - </xsl:if> - - <!-- ISSN --> - <xsl:if test="//oai_doaj:eissn[normalize-space()]"> - <field name="issn"> - <xsl:value-of select="//oai_doaj:eissn[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHDATE --> - <xsl:if test="//oai_doaj:publicationDate"> - <field name="publishDate"> - <xsl:value-of select="//oai_doaj:publicationDate"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="//oai_doaj:publicationDate"/> - </field> - </xsl:if> - - <!-- DESCRIPTION --> - <xsl:if test="//oai_doaj:abstract"> - <field name="description"> - <xsl:value-of select="//oai_doaj:abstract" /> - </field> - </xsl:if> - - <!-- SUBJECT --> - <xsl:if test="//oai_doaj:keywords"> - <xsl:for-each select="//oai_doaj:keywords/oai_doaj:keyword"> - <xsl:if test="string-length() > 0"> - <field name="topic"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- URL --> - <xsl:if test="//oai_doaj:fullTextUrl"> - <xsl:choose> - <xsl:when test="contains(//oai_doaj:fullTextUrl, '://')"> - <field name="url"><xsl:value-of select="//oai_doaj:fullTextUrl[normalize-space()]"/></field> - </xsl:when> - <xsl:otherwise> - <field name="url">http://<xsl:value-of select="//oai_doaj:fullTextUrl[normalize-space()]"/></field> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </doc> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/dspace-dim.xsl b/import/xsl/dspace-dim.xsl deleted file mode 100644 index 530f49e6a7a4a6ce8d91b438064b37586a374537..0000000000000000000000000000000000000000 --- a/import/xsl/dspace-dim.xsl +++ /dev/null @@ -1,264 +0,0 @@ -<!-- available fields are defined in solr/biblio/conf/schema.xml --> -<!-- This document was written for Biblioteca Brasiliana Guita e José Mindlin - by Fabio Chagas da Silva (fabio.chagas.silva@usp.br, GitHub: @fabio-stdio). - It takes metadata directly from dim to index in Solr. It is based on dspace.xsl. - - The choices of fields were made based on which metadata is most interesting - for the user of the library and which Solr fields in schema.xml are close to - the metadata of choice. Those choices were made supervised by the librarian - of Brasiliana Guita e José Mindlin, Rodrigo Garcia (garcia.rodrigo@gmail.com). - - Additional fields (and significant adjustments) were added based on the work - of Roland Keck. ---> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" - xmlns:php="http://php.net/xsl" - xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance"> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:param name="institution">My University</xsl:param> - <xsl:param name="collection">DSpace</xsl:param> - <xsl:template match="dim:dim"> - <add> - <doc> - <!-- Those fields are treated the same as in dspace.xsl, except - for the tags - --> - - <!-- ID --> - <!-- Important: This relies on an <identifier> tag being injected - by the OAI-PMH harvester. - --> - <field name="id"> - <xsl:value-of select="//identifier"/> - </field> - - <!-- RECORDTYPE --> - <field name="recordtype">dspace</field> - - <!-- ALLFIELDS --> - <xsl:for-each select="//dim:field"> - <xsl:if test="string-length(.) > 0"> - <field name="allfields"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:if> - </xsl:for-each> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- TITLE --> - <xsl:if test= "//dim:field[@element='title']"> - <field name="title"> - <xsl:value-of select="//dim:field[@element='title']"/> - </field> - <field name="title_short"> - <xsl:value-of select="//dim:field[@element='title']"/> - </field> - <field name="title_full"> - <xsl:value-of select="//dim:field[@element='title']"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//dim:field[@element='title'][normalize-space()]))"/> - </field> - </xsl:if> - - <!-- AUTHOR --> - <xsl:if test="//dim:field[@element='contributor' and @qualifier='author']"> - <xsl:for-each select="//dim:field[@element='contributor' and @qualifier='author']"> - <field name="author"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- CO AUTHOR --> - <xsl:if test="//dim:field[@element='contributor' and @qualifier='other']"> - <xsl:for-each select="//dim:field[@element='contributor' and @qualifier='other']"> - <field name="author2"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- EDITOR (treated as corporate author as per Roland Keck's example; - this may vary by institution. - --> - <xsl:if test="//dim:field[@element='contributor' and @qualifier='editor']"> - <xsl:for-each select="//dim:field[@element='contributor' and @qualifier='editor']"> - <field name="author_corporate"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- SUBJECT --> - <xsl:if test="//dim:field[@element='subject']"> - <xsl:for-each select="//dim:field[@element='subject']"> - <field name="topic"> - <xsl:value-of select="normalize-space(.)"/> - </field> - <field name="topic_facet"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- Published Date --> - <xsl:if test="//dim:field[@element='date' and @qualifier='issued']"> - <field name="publishDate"> - <xsl:value-of select="//dim:field[@element='date' and @qualifier='issued']"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="substring(//dim:field[@element='date' and @qualifier='issued'], 1, 4)" /> - </field> - </xsl:if> - - <!-- Language --> - <xsl:if test="//dim:field[@element='language' and @qualifier='iso']"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(//dim:field[@element='language' and @qualifier='iso'])), 'language_map_iso639-1.properties')"/> - </field> - </xsl:if> - - <!-- Relation --> - <xsl:if test="//dim:field[@element='relation' and @qualifier = 'ispartof']"> - <field name="container_title"> - <xsl:value-of select="normalize-space(//dim:field[@element='relation' and @qualifier = 'ispartof'])"/> - </field> - </xsl:if> - <xsl:if test="//dim:field[@element='relation' and @qualifier = 'ispartofvolume']"> - <field name="container_volume"> - <xsl:value-of select="normalize-space(//dim:field[@element='relation' and @qualifier = 'ispartofvolume'])"/> - </field> - </xsl:if> - - <!-- Publisher --> - <xsl:if test="//dim:field[@element='publisher']"> - <field name="publisher"> - <xsl:value-of select="//dim:field[@element='publisher']"/> - </field> - </xsl:if> - - <!-- Extent --> - <xsl:if test="//dim:field[@element='format' and @qualifier='extent']"> - <field name="physical"> - <xsl:value-of select="//dim:field[@element='format' and @qualifier='extent']"/> - </field> - </xsl:if> - - <!-- Format --> - <xsl:if test="//dim:field[@element='format' and @qualifier='medium']"> - <field name="format"> - <xsl:value-of select="//dim:field[@element='format' and @qualifier='medium']"/> - </field> - </xsl:if> - - <!-- Type --> - <xsl:if test="//dim:field[@element='type']"> - <field name="format"> - <xsl:value-of select="//dim:field[@element='type']"/> - </field> - </xsl:if> - - <!-- Alternative Title --> - <xsl:if test="//dim:field[@element='title' and @qualifier='alternative']"> - <xsl:for-each select="//dim:field[@element='title' and @qualifier='alternative']"> - <field name="title_alt"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- Description --> - <!-- Two if blocks are used in description, one to check its - existence and another, within the for-each loop to not print - a dim:field[@element='description' and @qualifier='provenance']. - - Although, the field with only attribute @element='description' - doesn't print, an inelegant solution was found and implemented - - A text tag is included for the new line character after - printing the value in the field with the attribute - @element='description' only. - - Within the for-each loop was included (as mentioned earlier) - an if block. After printing all values with descriptions, - except for description and provenance, concatenate with new - line character. - --> - <xsl:if test="//dim:field[@element='description' and @qualifier='abstract']"> - <field name="description"> - <xsl:for-each select="//dim:field[@element='description' and @qualifier='abstract']"> - <xsl:value-of select="concat(., '
')"/> - </xsl:for-each> - </field> - </xsl:if> - - <xsl:if test="//dim:field[@element='description' and @qualifier='edition']"> - <field name="edition"> - <xsl:value-of select="normalize-space(//dim:field[@element='description' and @qualifier='edition'])"/> - </field> - </xsl:if> - - <!-- Volume (dc.relation.requires) --> - <xsl:if test="//dim:field[@element='relation' and @qualifier='requires']"> - <field name="container_volume"> - <xsl:value-of select="//dim:field[@element='relation' and @qualifier='requires']"/> - </field> - </xsl:if> - - <!-- Table of contents --> - <xsl:if test="//dim:field[@element='description' and @qualifier='tableofcontents']"> - <field name="contents"> - <xsl:value-of select="//dim:field[@element='description' and @qualifier='tableofcontents']"/> - </field> - </xsl:if> - - <!-- Spatial --> - <xsl:if test="//dim:field[@qualifier='spatial']"> - <xsl:for-each select="//dim:field[@qualifier='spatial']"> - <field name="geographic_facet"> - <xsl:value-of select="normalize-space(.)"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- ISBN --> - <xsl:if test="//dim:field[@qualifier='isbn']"> - <field name="isbn"> - <xsl:value-of select="//dim:field[@qualifier='isbn']"/> - </field> - </xsl:if> - - <!-- ISSN --> - <xsl:if test="//dim:field[@qualifier='issn']"> - <field name="issn"> - <xsl:value-of select="//dim:field[@qualifier='issn']"/> - </field> - </xsl:if> - - <!-- URL --> - <xsl:for-each select="//dim:field[@element='identifier']"> - <xsl:if test="string-length(.) > 0"> - <xsl:if test="@qualifier = 'uri'"> - <field name="url"> - <xsl:value-of select="normalize-space(.)" /> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </doc> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/dspace.xsl b/import/xsl/dspace.xsl deleted file mode 100644 index 81ff3284850ecb303f20e553767f81925872b473..0000000000000000000000000000000000000000 --- a/import/xsl/dspace.xsl +++ /dev/null @@ -1,157 +0,0 @@ -<!-- available fields are defined in solr/biblio/conf/schema.xml --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:php="http://php.net/xsl" - xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance"> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:param name="institution">My University</xsl:param> - <xsl:param name="collection">DSpace</xsl:param> - <xsl:param name="urlPrefix">http</xsl:param> - <xsl:template match="oai_dc:dc"> - <add> - <doc> - <!-- ID --> - <!-- Important: This relies on an <identifier> tag being injected by the OAI-PMH harvester. --> - <field name="id"> - <xsl:value-of select="//identifier"/> - </field> - - <!-- RECORDTYPE --> - <field name="recordtype">dspace</field> - - <!-- FULLRECORD --> - <!-- disabled for now; records are so large that they cause memory problems! - <field name="fullrecord"> - <xsl:copy-of select="php:function('VuFind::xmlAsText', //oai_dc:dc)"/> - </field> - --> - - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string(//oai_dc:dc))"/> - </field> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- LANGUAGE --> - <xsl:if test="//dc:language"> - <xsl:for-each select="//dc:language"> - <xsl:if test="string-length() > 0"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(.)), 'language_map_iso639-1.properties')"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- FORMAT --> - <!-- populating the format field with dc.type instead, see TYPE below. - if you like, you can uncomment this to add a hard-coded format - in addition to the dynamic ones extracted from the record. - <field name="format">Online</field> - --> - - <!-- SUBJECT --> - <xsl:if test="//dc:subject"> - <xsl:for-each select="//dc:subject"> - <xsl:if test="string-length() > 0"> - <field name="topic"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- DESCRIPTION --> - <xsl:if test="//dc:description"> - <field name="description"> - <xsl:value-of select="//dc:description" /> - </field> - </xsl:if> - - <!-- ADVISOR / CONTRIBUTOR --> - <xsl:if test="//dc:contributor[normalize-space()]"> - <field name="author2"> - <xsl:value-of select="//dc:contributor[normalize-space()]" /> - </field> - </xsl:if> - - <!-- TYPE --> - <xsl:if test="//dc:type"> - <field name="format"> - <xsl:value-of select="//dc:type" /> - </field> - </xsl:if> - - <!-- AUTHOR --> - <xsl:if test="//dc:creator"> - <xsl:for-each select="//dc:creator"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="normalize-space()"/> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- TITLE --> - <xsl:if test="//dc:title[normalize-space()]"> - <field name="title"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//dc:title[normalize-space()]))"/> - </field> - </xsl:if> - - <!-- PUBLISHER --> - <xsl:if test="//dc:publisher[normalize-space()]"> - <field name="publisher"> - <xsl:value-of select="//dc:publisher[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHDATE --> - <xsl:if test="//dc:date"> - <field name="publishDate"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - </xsl:if> - - <!-- URL --> - <xsl:for-each select="//dc:identifier"> - <xsl:if test="substring(., 1, string-length($urlPrefix)) = $urlPrefix"> - <field name="url"> - <xsl:value-of select="." /> - </field> - </xsl:if> - </xsl:for-each> - </doc> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/gsdl.xsl b/import/xsl/gsdl.xsl deleted file mode 100644 index 497532680d13097521068a94d330a14dbb986468..0000000000000000000000000000000000000000 --- a/import/xsl/gsdl.xsl +++ /dev/null @@ -1,144 +0,0 @@ -<!-- available fields are defined in solr/biblio/conf/schema.xml --> -<!-- This xsl file is similar to xsl file of DSpace as both system use Dublin Core MetadataSet --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:php="http://php.net/xsl" - xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance"> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:param name="institution">My Institute</xsl:param> - <xsl:param name="collection">DEMO</xsl:param> - <xsl:param name="gsdlurl">http://greenstone.org</xsl:param> - <xsl:template match="oai_dc:dc"> - <add> - <doc> - <!-- ID --> - <!-- Important: This relies on an <identifier> tag being injected by the OAI-PMH harvester. --> - <field name="id"> - <xsl:value-of select="//identifier"/> - </field> - <!-- RECORDTYPE --> - <field name="recordtype">gsdl</field> - <!-- FULLRECORD --> - <!-- disabled for now; records are so large that they cause memory problems! - <field name="fullrecord"> - <xsl:copy-of select="php:function('VuFind::xmlAsText', //oai_dc:dc)"/> - </field> - --> - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string(//oai_dc:dc))"/> - </field> - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- LANGUAGE --> - <xsl:if test="//dc:language"> - <xsl:for-each select="//dc:language"> - <xsl:if test="string-length() > 0"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(.)), 'language_map_iso639-1.properties')"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- FORMAT --> - <field name="format">eResources</field> - - <!-- SUBJECT --> - <xsl:if test="//dc:subject"> - <xsl:for-each select="//dc:subject"> - <xsl:if test="string-length() > 0"> - <field name="topic"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - <!-- DESCRIPTION --> - <xsl:if test="//dc:description"> - <field name="description"> - <xsl:value-of select="//dc:description" /> - </field> - </xsl:if> - <!-- ADVISOR / CONTRIBUTOR --> - <xsl:if test="//dc:contributor[normalize-space()]"> - <field name="author2"> - <xsl:value-of select="//dc:contributor[normalize-space()]" /> - </field> - </xsl:if> - - <!-- AUTHOR --> - <xsl:if test="//dc:creator"> - <xsl:for-each select="//dc:creator"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="normalize-space()"/> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:if> - <!-- TITLE --> - <xsl:if test="//dc:title[normalize-space()]"> - <field name="title"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//dc:title[normalize-space()]))"/> - </field> - </xsl:if> - <!-- PUBLISHER --> - <xsl:if test="//dc:publisher[normalize-space()]"> - <field name="publisher"> - <xsl:value-of select="//dc:publisher[normalize-space()]"/> - </field> - </xsl:if> - <!-- PUBLISHDATE --> - <xsl:if test="//dc:date"> - <field name="publishDate"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - </xsl:if> - <!-- URL --> - <xsl:for-each select="//dc:identifier"> - <xsl:choose> - <xsl:when test="contains(., '://')"> - <field name="url"> - <xsl:value-of select="." /> - </field> - </xsl:when> - <xsl:when test="contains(., 'urn:')"> - <field name="url"> - <xsl:value-of select="$gsdlurl" /><xsl:value-of select="." /> - </field> - </xsl:when> - </xsl:choose> - </xsl:for-each> - </doc> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/ndltd.xsl b/import/xsl/ndltd.xsl deleted file mode 100644 index 00759d962aee379e2e3c81a0503cb3972f2789c6..0000000000000000000000000000000000000000 --- a/import/xsl/ndltd.xsl +++ /dev/null @@ -1,229 +0,0 @@ -<!-- available fields are defined in solr/biblio/conf/schema.xml --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:php="http://php.net/xsl" - xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance"> - <xsl:param name="institution">My University</xsl:param> - <xsl:param name="collection">Digital Library</xsl:param> - <xsl:param name="building"></xsl:param> - <xsl:param name="urnresolver">http://nbn-resolving.de/</xsl:param> - <xsl:variable name="URLs" /> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:template match="oai_dc:dc"> - - <xsl:if test="//dc:identifier"> - - <xsl:variable name="URLs"><xsl:for-each select="//dc:identifier"><xsl:value-of select="."/></xsl:for-each></xsl:variable> - - <xsl:if test="contains($URLs, '://') or contains($URLs, 'urn:')"> - - <add> - <doc> - - <!-- ID --> - <field name="id"> - <xsl:value-of select="//identifier"/> - </field> - - - <!-- RECORDTYPE --> - <field name="recordtype">oai_dc</field> - - - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string(//oai_dc:dc))"/> - </field> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- LANGUAGE --> - <xsl:if test="//dc:language"> - <xsl:for-each select="//dc:language"> - <xsl:if test="string-length() > 0"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(.)), 'language_map.properties')"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- building --> - <xsl:if test="string-length($building) > 0"> - <field name="building"> - <xsl:value-of select="$building" /> - </field> - </xsl:if> - - - <xsl:choose> - <xsl:when test="contains(//dc:type, 'master')"> - <field name="format">Dissertation</field> - </xsl:when> - <xsl:when test="contains(//dc:type, 'Master')"> - <field name="format">Dissertation</field> - </xsl:when> - <xsl:when test="contains(//dc:type, 'doctor')"> - <field name="format">Doctoral Thesis</field> - </xsl:when> - - <xsl:when test="contains(//dc:type, 'Doctor')"> - <field name="format">Doctoral Thesis</field> - </xsl:when> - - <xsl:when test="contains(//dc:type, 'article')"> - <field name="format">Article</field> - </xsl:when> - <xsl:when test="contains(//dc:type, 'artigo')"> - <field name="format">Article</field> - </xsl:when> - - <xsl:otherwise> - <xsl:if test="//dc:format"> - <field name="format"> - <xsl:value-of select="//dc:format"/> - </field> - </xsl:if> - </xsl:otherwise> - - </xsl:choose> - - <field name="format">Online</field> - - <!-- SUBJECT --> - <xsl:if test="//dc:subject"> - <xsl:for-each select="//dc:subject"> - - <xsl:choose> - <xsl:when test="contains(., '. ')"> - <xsl:for-each select="php:function('VuFind::explode', '. ', string(//dc:subject))/part"> - <field name="topic"><xsl:value-of select="normalize-space(string(.))" /></field> - </xsl:for-each> - </xsl:when> - <xsl:when test="contains(., ', ')"> - <xsl:for-each select="php:function('VuFind::explode', ', ', string(//dc:subject))/part"> - <field name="topic"><xsl:value-of select="normalize-space(string(.))" /></field> - </xsl:for-each> - </xsl:when> - <xsl:when test="contains(., '; ')"> - <xsl:for-each select="php:function('VuFind::explode', '; ', string(//dc:subject))/part"> - <field name="topic"><xsl:value-of select="normalize-space(string(.))" /></field> - </xsl:for-each> - </xsl:when> - - <xsl:otherwise> - <field name="topic"> - <xsl:value-of select="." /> - </field> - </xsl:otherwise> - - </xsl:choose> - - </xsl:for-each> - </xsl:if> - - - - <!-- DESCRIPTION --> - - <xsl:if test="//dc:description"> - - <field name="description"> - <xsl:for-each select="//dc:description"> - <xsl:if test="position() > 1"> === </xsl:if><xsl:value-of select="."/> - </xsl:for-each> - </field> - - </xsl:if> - - <!-- ADVISOR / CONTRIBUTOR --> - <xsl:if test="//dc:contributor[normalize-space()]"> - <field name="author2"> - <xsl:value-of select="//dc:contributor[normalize-space()]" /> - </field> - </xsl:if> - - - <!-- AUTHOR --> - <xsl:if test="//dc:creator"> - <xsl:for-each select="//dc:creator"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="normalize-space()"/> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- TITLE --> - <xsl:if test="//dc:title[normalize-space()]"> - <field name="title"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//dc:title[normalize-space()]))"/> - </field> - </xsl:if> - - <!-- PUBLISHER --> - <xsl:if test="//dc:publisher[normalize-space()]"> - <field name="publisher"> - <xsl:value-of select="//dc:publisher[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHDATE --> - <xsl:if test="//dc:date"> - <field name="publishDate"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - </xsl:if> - - <!-- URL --> - - <xsl:for-each select="//dc:identifier"> - <xsl:choose> - <xsl:when test="contains(., '://')"> - <field name="url"> - <xsl:value-of select="." /> - </field> - </xsl:when> - <xsl:when test="contains(., 'urn:')"> - <field name="url"> - <xsl:value-of select="$urnresolver" /><xsl:value-of select="." /> - </field> - </xsl:when> - </xsl:choose> - </xsl:for-each> - - </doc> - </add> - </xsl:if> - </xsl:if> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/nlm_ojs.xsl b/import/xsl/nlm_ojs.xsl deleted file mode 100644 index 62c41fefa7cbcd1422630daf1037ca77b40435b1..0000000000000000000000000000000000000000 --- a/import/xsl/nlm_ojs.xsl +++ /dev/null @@ -1,215 +0,0 @@ -<!-- available fields are defined in solr/biblio/conf/schema.xml --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:php="http://php.net/xsl" - xmlns:nlm="http://dtd.nlm.nih.gov/publishing/2.3" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:mml="http://www.w3.org/1998/Math/MathML" - > - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:param name="institution">My University</xsl:param> - <xsl:param name="collection">OJS</xsl:param> - <xsl:template match="nlm:article"> - <add> - <doc> - <!-- ID --> - <!-- Important: This relies on an <identifier> tag being injected by the OAI-PMH harvester. --> - <field name="id"> - <xsl:value-of select="nlm:identifier"/> - </field> - - <!-- RECORDTYPE --> - <field name="recordtype">NLMOJS</field> - - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string(.))"/> - </field> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- JOURNAL TITLE --> - <field name="container_title"> - <xsl:value-of select="//nlm:journal-title[normalize-space()]"/> - </field> - - <!-- JOURNAL VOLUME --> - <xsl:if test="//nlm:volume[normalize-space()]"> - <field name="container_volume"> - <xsl:value-of select="//nlm:volume[normalize-space()]"/> - </field> - </xsl:if> - - <!-- JOURNAL issue --> - <xsl:if test="//nlm:issue[normalize-space()]"> - <field name="container_issue"> - <xsl:value-of select="//nlm:issue[normalize-space()]"/> - </field> - </xsl:if> - - <!-- Article startPage --> - <xsl:if test="//nlm:fpage[normalize-space()]"> - <field name="container_start_page"> - <xsl:value-of select="//nlm:fpage[normalize-space()]"/> - </field> - </xsl:if> - - <!-- Article endPage !! Only enable this part of the code if you have defined "container_end_page" in ./solr/vufind/biblio/conf/schema.xml -> <field name="container_end_page" type="text" indexed="true" stored="true"/> !! - - <xsl:if test="//nlm:lpage[normalize-space()]"> - <field name="container_end_page"> - <xsl:value-of select="//nlm:lpage[normalize-space()]"/> - </field> - </xsl:if> - - --> - - <!-- LANGUAGE --> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', php:function('strtolower', string(@xml:lang)), 'language_map_iso639-1.properties')" /> - </field> - - <!-- FORMAT --> - <field name="format">Article</field> - <field name="format">Online</field> - - <!-- ISSN --> - <xsl:for-each select="//nlm:issn"> - <field name="issn"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:for-each> - - <!-- SUBJECT --> - <xsl:if test="//nlm:kwd-group"> - <xsl:for-each select="//nlm:kwd-group"> - <xsl:if test="position()=1"> - <xsl:for-each select="./nlm:kwd"> - <xsl:if test="normalize-space()"> - <field name="topic"> - <xsl:value-of select="normalize-space()"/> - </field> - <field name="topic_facet"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - </xsl:for-each> - </xsl:if> - <xsl:if test="//nlm:subject"> - <xsl:for-each select="//nlm:subject"> - <field name="topic"> - <xsl:value-of select="normalize-space()"/> - </field> - <field name="topic_facet"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:for-each> - </xsl:if> - - <!-- DESCRIPTION --> - <xsl:if test="//nlm:abstract/nlm:p"> - <field name="description"> - <xsl:value-of select="//nlm:abstract/nlm:p" /> - <xsl:if test="//nlm:abstract-trans/nlm:p"> ABSTRACT Translated: <xsl:value-of select="//nlm:abstract-trans/nlm:p" /> - </xsl:if> - </field> - </xsl:if> - - <!-- ADVISOR / CONTRIBUTOR --> - <xsl:for-each select="//nlm:contrib[@contrib-type='editor']/nlm:name"> - <field name="author2"> - <xsl:value-of select="nlm:surname[normalize-space()]" />, <xsl:value-of select="nlm:given-names[normalize-space()]" /> - </field> - </xsl:for-each> - - <!-- AUTHOR --> - <xsl:for-each select="//nlm:contrib[@contrib-type='author']/nlm:name"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="nlm:surname[normalize-space()]" />, <xsl:value-of select="nlm:given-names[normalize-space()]" /> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - - <!-- TITLE --> - <field name="title"> - <xsl:value-of select="//nlm:article-title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="//nlm:article-title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="//nlm:article-title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//nlm:article-title[normalize-space()]))"/> - </field> - <field name="title_alt"> - <xsl:value-of select="//nlm:trans-title[normalize-space()]"/> - </field> - - <!-- PUBLISHER --> - <xsl:if test="//nlm:publisher-name"> - <field name="publisher"> - <xsl:value-of select="//nlm:publisher-name[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHDATE --> - <xsl:if test="//nlm:pub-date[@pub-type='collection']/nlm:year"> - <field name="publishDate"> - <xsl:value-of select="//nlm:pub-date[@pub-type='collection']/nlm:year"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="//nlm:pub-date[@pub-type='collection']/nlm:year"/> - </field> - </xsl:if> - - <!-- URL --> - <xsl:for-each select="//nlm:self-uri"> - <xsl:sort select="position()" data-type="number" order="descending"/> - <field name="url"> - <xsl:value-of select="@xlink:href" /> - </field> - </xsl:for-each> - - <!-- FULL TEXT --> - <xsl:choose> - <xsl:when test="nlm:body/nlm:p"> - <field name="fulltext"> - <xsl:value-of select="nlm:body/nlm:p" /> - </field> - </xsl:when> - <xsl:otherwise> - <xsl:for-each select="//nlm:self-uri[@content-type="application/pdf"]"> - <field name="fulltext"> - <xsl:value-of select="php:function('VuFind::harvestWithParser', string(./@xlink:href))"/> - </field> - </xsl:for-each> - </xsl:otherwise> - </xsl:choose> - - <!-- FULLRECORD (exclude body tag because fulltext is huge) --> - <field name="fullrecord"> - <xsl:copy-of select="php:function('VuFind::removeTagAndReturnXMLasText', ., 'body')"/> - </field> - </doc> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/ojs.xsl b/import/xsl/ojs.xsl deleted file mode 100644 index b9cf6eaa5e3dbbe05b3955f7ee602510a22a0d66..0000000000000000000000000000000000000000 --- a/import/xsl/ojs.xsl +++ /dev/null @@ -1,124 +0,0 @@ -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:php="http://php.net/xsl" - xmlns:xlink="http://www.w3.org/2001/XMLSchema-instance"> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:param name="institution">My University</xsl:param> - <xsl:param name="collection">OJS</xsl:param> - <xsl:template match="oai_dc:dc"> - <add> - <doc> - <!-- ID --> - <!-- Important: This relies on an <identifier> tag being injected by the OAI-PMH harvester. --> - <field name="id"> - <xsl:value-of select="//identifier"/> - </field> - - <!-- RECORDTYPE --> - <field name="recordtype">ojs</field> - - <!-- FULLRECORD --> - <!-- disabled for now; records are so large that they cause memory problems! - <field name="fullrecord"> - <xsl:copy-of select="php:function('VuFind::xmlAsText', //oai_dc:dc)"/> - </field> - --> - - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string(//oai_dc:dc))"/> - </field> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- LANGUAGE --> - <xsl:if test="//dc:language"> - <xsl:for-each select="//dc:language"> - <xsl:if test="string-length() > 0"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(.)), 'language_map_iso639-1.properties')"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- FORMAT --> - <field name="format">Online</field> - - <!-- AUTHOR --> - <xsl:if test="//dc:creator"> - <xsl:for-each select="//dc:creator"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="normalize-space()"/> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- TITLE --> - <xsl:if test="//dc:title[normalize-space()]"> - <field name="title"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="//dc:title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string(//dc:title[normalize-space()]))"/> - </field> - </xsl:if> - - <!-- DESCRIPTION --> - <xsl:if test="//dc:description"> - <field name="description"> - <xsl:value-of select="//dc:description" /> - </field> - </xsl:if> - - <!-- PUBLISHER --> - <xsl:if test="//dc:publisher[normalize-space()]"> - <field name="publisher"> - <xsl:value-of select="//dc:publisher[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHDATE --> - <xsl:if test="//dc:date"> - <field name="publishDate"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="substring(//dc:date, 1, 4)"/> - </field> - </xsl:if> - - <!-- URL --> - <xsl:if test="//dc:identifier"> - <field name="url"> - <xsl:value-of select="//dc:identifier[normalize-space()]"/> - </field> - </xsl:if> - </doc> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/sitemap.xsl b/import/xsl/sitemap.xsl deleted file mode 100644 index c5755afe61b541fdafda1e738b00d31eb6ad737e..0000000000000000000000000000000000000000 --- a/import/xsl/sitemap.xsl +++ /dev/null @@ -1,23 +0,0 @@ -<!-- XSLT to load sitemap entries into the custom class used for - populating the special "website" Solr core --> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9" - xmlns:php="http://php.net/xsl"> - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - <xsl:template match="sitemap:urlset"> - <add> - <xsl:for-each select="//sitemap:url"> - <!-- We can't index without a loc element containing a URI! --> - <xsl:if test="sitemap:loc"> - <doc> - <!-- Pass the URI to PHP, which will use full-text - extraction and generate pre-built XML output; - see the VuFind\XSLT\Import\VuFindSitemap class. --> - <xsl:value-of disable-output-escaping="yes" select="php:function('VuFindSitemap::getDocument', normalize-space(string(sitemap:loc)))" /> - </doc> - </xsl:if> - </xsl:for-each> - </add> - </xsl:template> -</xsl:stylesheet> diff --git a/import/xsl/vudl_FOXML.xsl b/import/xsl/vudl_FOXML.xsl deleted file mode 100644 index c1eb61013d900989a6c2539bf6c2c72629232858..0000000000000000000000000000000000000000 --- a/import/xsl/vudl_FOXML.xsl +++ /dev/null @@ -1,549 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -Copyright (C) Villanova University 2012. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2, -as published by the Free Software Foundation. - -This program 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 this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ---> -<xsl:stylesheet version="1.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:mets="http://www.loc.gov/METS/" - xmlns:METS="http://www.loc.gov/METS/" - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:php="http://php.net/xsl" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:access="http://www.fedora.info/definitions/1/0/access/" - xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" - xmlns:sparql="http://www.w3.org/2001/sw/DataAccess/rf1/result" - xmlns:fedora-model="info:fedora/fedora-system:def/model#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:rel="info:fedora/fedora-system:def/relations-external#" - xmlns:foxml="info:fedora/fedora-system:def/foxml#" - xmlns:exsl="http://exslt.org/common" - xmlns:math="http://exslt.org/math" - exclude-result-prefixes="exsl" - > - <xsl:output method="xml" indent="yes" encoding="utf-8"/> - - <xsl:param name="institution"></xsl:param> - <xsl:param name="collection"></xsl:param> - <xsl:param name="track_changes"></xsl:param> - <xsl:param name="solr_core"></xsl:param> - - <xsl:param name="fedoraURL"></xsl:param> - <xsl:param name="fedoraPort"></xsl:param> - - <xsl:template match="/"> - - - - <xsl:variable name="PID" select="//dc:identifier"/> - - <xsl:variable name="DC" select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams/DC/content'))"/> - - <xsl:variable name="RELS-EXT" select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams/RELS-EXT/content'))"/> - <!-- <xsl:variable name="modelType" select="substring-after($RELS-EXT//fedora-model:hasModel[last()]/@rdf:resource, 'info:fedora/')"/> --> - <!-- - <xsl:variable name="objectInfo" select="document(concat($fedoraURL, '/fedora/objects/', $PID, '?format=xml'))"/> - --> - <!-- --> - <xsl:variable name="listDatastreams" select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams?format=xml'))"/> - - <add> - <doc> - <!-- ID --> - <field name="id"> - <xsl:value-of select="$PID"/> - </field> - - <xsl:for-each select="$RELS-EXT//fedora-model:hasModel"> - <field name="modeltype_str_mv"> - <xsl:value-of select="substring-after(./@rdf:resource, 'info:fedora/')"/> - </field> - </xsl:for-each> - - <!-- Hierarchy stuff --> - <xsl:if test="//foxml:datastream[@ID = 'PARENT-LIST-RAW']"> - - <xsl:variable name="PARENT-LIST-RAW" select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams/PARENT-LIST-RAW/content'))"/> - <!-- <xsl:variable name="PARENT-LIST" select="document(concat($fedoraURL, '/fedora/objects/', $PID, '/datastreams/PARENT-LIST/content'))"/> --> - <!-- --> - <xsl:variable name="PARENT-LIST"> - <parent PID="{$PID}"> - <xsl:for-each select="$PARENT-LIST-RAW//sparql:child[@uri=concat('info:fedora/', $PID)]"> - <xsl:variable name="parentURI_template" select="../sparql:parent/@uri"/> - <xsl:variable name="parentName_template" select="../sparql:parentTitle"/> - <xsl:call-template name="parent"> - <xsl:with-param name="parentURI_template" select="$parentURI_template"/> - <xsl:with-param name="parentName_template" select="$parentName_template"/> - </xsl:call-template> - </xsl:for-each> - </parent> - </xsl:variable> - - <!-- <xsl:copy-of select="$PARENT-LIST"/> --> - - <field name="hierarchytype"/> <!-- --> - - <xsl:if test="$RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:FolderCollection']"> - <field name="is_hierarchy_id"><xsl:value-of select="$PID"/></field> - <field name="is_hierarchy_title"><xsl:value-of select="$DC//dc:title[1]"/></field> - </xsl:if> - - <field name="has_order_str"> - <xsl:choose> - <xsl:when test="$listDatastreams//access:datastream[@dsid='STRUCTMAP']"> - <xsl:value-of select="string('yes')"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="string('no')"/> - </xsl:otherwise> - </xsl:choose> - </field> - - <!-- <xsl:copy-of select="$PARENT-LIST-RAW"/> --> - - <xsl:for-each select="$PARENT-LIST-RAW//sparql:child[@uri=concat('info:fedora/', $PID)]/parent::*"> - - <!-- <xsl:variable name="parentURI" select="$PARENT-LIST-RAW//sparql:child[@uri=concat('info:fedora/', $PID)]/../sparql:parent/@uri"/> --> - <xsl:variable name="parentURI" select="./sparql:parent/@uri"/> - - - <xsl:variable name="parentResource" select="document(concat($fedoraURL, '/getParentResource.php?PID=', $PID))"/> - <!-- - <as> - <xsl:copy-of select="$parentResource"/> - </as> - <xsl:variable name="parentPID" select="substring-after($parentURI, 'info:fedora/')"/> - <xsl:variable name="parentLabel" select="./sparql:parentTitle"/> - --> - - <xsl:variable name="realParentPID" select="substring-after($parentURI, 'info:fedora/')"/> - - <xsl:variable name="parentPID"> - <xsl:choose> - <xsl:when test="$RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:DataModel']"> - <xsl:value-of select="normalize-space($parentResource//PID)"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="substring-after($parentURI, 'info:fedora/')"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:variable name="parentLabel"> - <xsl:choose> - <xsl:when test="$RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:DataModel']"> - <xsl:value-of select="$parentResource//label"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="./sparql:parentTitle"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - - <xsl:variable name="parentDatastreams" select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $realParentPID, '/datastreams?format=xml'))"/> - <xsl:variable name="parentRELS-EXT" select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $realParentPID, '/datastreams/RELS-EXT/content'))"/> - - - <!-- <xsl:if test="$parentDatastreams//access:datastream[@dsid='STRUCTMAP']"> --> - <!-- TODO: this needs to check to see if the parent is a collection --> - <!-- <xsl:if test="$RELS-EXT//fedora-model:hasModel[@rdf:resource = 'info:fedora/vudl-system:CollectionModel']"> --> - <xsl:if test="$parentRELS-EXT//fedora-model:hasModel[@rdf:resource = 'info:fedora/vudl-system:CollectionModel']"> - - <xsl:variable name="parentSTRUCTMAP"> - <xsl:choose> - <xsl:when test="$parentDatastreams//access:datastream[@dsid='STRUCTMAP']"> - <xsl:copy-of select="document(concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $realParentPID, '/datastreams/STRUCTMAP/content'))"/> - </xsl:when> - <xsl:otherwise> - <METS:structMap/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:variable name="hierarchy_top_id"> - <!-- <xsl:value-of select="substring-after($hierarchy_top_uri, 'info:fedora/')"/> --> - <xsl:choose> - <xsl:when test="$realParentPID = 'vudl:3'"> - <xsl:value-of select="$PID"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="exsl:node-set($PARENT-LIST)//parent[@PID=$realParentPID]//parent[@PID='vudl:3']/../@PID"/> - </xsl:otherwise> - </xsl:choose> - - </xsl:variable> - - <xsl:variable name="hierarchy_top_title"> - <xsl:choose> - <xsl:when test="$parentPID = 'vudl:3'"> - <xsl:value-of select="$DC//dc:title[1]"/> - </xsl:when> - <xsl:when test="$parentPID = $PID"> - <xsl:value-of select="$DC//dc:title[1]"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$PARENT-LIST-RAW//sparql:parent[@uri = concat('info:fedora/', $hierarchy_top_id)]/../sparql:parentTitle"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <field name="hierarchy_top_id"> - <xsl:value-of select="$hierarchy_top_id"/> - </field> - - - - - <field name="hierarchy_top_title"> - <xsl:value-of select="$hierarchy_top_title"/> - </field> - - <field name="hierarchy_parent_id"><xsl:value-of select="$parentPID"/></field> - <field name="hierarchy_parent_title"><xsl:value-of select="$parentLabel"/></field> - - <!-- --> - <field name="hierarchy_sequence"> - <!-- - <xsl:if test="exsl:node-set($parentSTRUCTMAP)//METS:fptr[@FILEID=$PID]"> - <xsl:value-of select="exsl:node-set($parentSTRUCTMAP)//METS:fptr[@FILEID=$PID]/../@ORDER"/> - </xsl:if> - --> - - <xsl:choose> - <xsl:when test="exsl:node-set($parentSTRUCTMAP)//METS:fptr[@FILEID=$PID]"> - <xsl:value-of select="exsl:node-set($parentSTRUCTMAP)//METS:fptr[@FILEID=$PID]/../@ORDER"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="string('0000000000')"/> - </xsl:otherwise> - </xsl:choose> - - </field> - - <xsl:if test="position() = 1"> - <!-- This is what we are collapsing on --> - <field name="hierarchy_first_parent_id_str"> - <xsl:choose> - <xsl:when test="$RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:DataModel']"> - <xsl:value-of select="$parentPID"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$PID"/> - </xsl:otherwise> - </xsl:choose> - </field> - </xsl:if> - - <!-- --> - <xsl:if test="position() = 1"> - <field name="hierarchy_sequence_sort_str"> - <xsl:choose> - <xsl:when test="exsl:node-set($parentSTRUCTMAP)//METS:fptr[@FILEID=$PID]"> - <xsl:variable name="sequence_sort_str" select="exsl:node-set($parentSTRUCTMAP)//METS:fptr[@FILEID=$PID]/../@ORDER"/> - <xsl:value-of select="php:function('str_pad', normalize-space(string($sequence_sort_str)), '10', '0', 0)"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="string('0000000000')"/> - </xsl:otherwise> - </xsl:choose> - </field> - </xsl:if> - - <!-- - <xsl:if test="position() = 1"> - <xsl:variable name="sequence_sort_str" select="$parentSTRUCTMAP//METS:fptr[@FILEID=$PID]/../@ORDER"/> - <field name="hierarchy_sequence_sort_str"> - <xsl:value-of select="php:function('str_pad', normalize-space(string($sequence_sort_str)), '10', '0', 0)"/> - </field> - </xsl:if> - --> - <!-- - hierarchy_browse - title{{{_ID_}}}id - --> - <!-- --> - <field name="hierarchy_browse"> - <xsl:value-of select="concat($parentLabel, '{{{_ID_}}}', $parentPID)"/> - </field> - - - - <!-- flattens all parents - <xsl:for-each select="$PARENT-LIST-RAW//sparql:result"> - <xsl:variable name="tempParentURI" select="./sparql:parent/@uri"/> - <xsl:variable name="tempParentPID" select="substring-after($tempParentURI, 'info:fedora/')"/> - <xsl:if test="not(./sparql:parent[@uri = 'info:fedora/vudl:1']) and not(./sparql:parent[@uri = 'info:fedora/vudl:3'])"> - <field name="hierarchy_all_parents_str_mv"> - <xsl:value-of select="normalize-space(string($tempParentPID))"/> - </field> - </xsl:if> - </xsl:for-each> - --> - - </xsl:if> - - </xsl:for-each> - - - - </xsl:if> - - <!-- CHANGE TRACKING DATES --> - <xsl:if test="$track_changes != 0"> - <field name="first_indexed"> - <xsl:value-of select="//foxml:property[@NAME='info:fedora/fedora-system:def/model#createdDate']/@VALUE"/> - </field> - <field name="last_indexed"> - <xsl:value-of select="//foxml:property[@NAME='info:fedora/fedora-system:def/view#lastModifiedDate']/@VALUE"/> - </field> - </xsl:if> - - <!-- RECORDTYPE --> - <field name="recordtype">vudl</field> - - <!-- FULLRECORD --> - <field name="fullrecord"> - <root> - <url> - <xsl:value-of select="concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/DC/content')"/> - </url> - <thumbnail> - <xsl:value-of select="concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams/THUMBNAIL/content')"/> - </thumbnail> - </root> - <!-- <xsl:value-of select="string(//METS:dmdSec/METS:mdRef/@href)"/> --> - </field> - - <!-- ALLFIELDS --> - <field name="allfields"> - <xsl:value-of select="normalize-space(string($DC//oai_dc:dc))"/> - </field> - - <!-- INSTITUTION --> - <field name="institution"> - <xsl:value-of select="$institution" /> - </field> - - <!-- COLLECTION --> - <field name="collection"> - <xsl:value-of select="$collection" /> - </field> - - <!-- LANGUAGE --> - <xsl:if test="$DC//dc:language"> - - <xsl:if test="string-length($DC//dc:language[1]) > 0"> - <field name="dc_language_str"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string($DC//dc:language[1])), 'language_map_iso639-1.properties')"/> - </field> - </xsl:if> - - <xsl:for-each select="$DC//dc:language"> - <xsl:if test="string-length() > 0"> - <field name="language"> - <xsl:value-of select="php:function('VuFind::mapString', normalize-space(string(.)), 'language_map_iso639-1.properties')"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- Series / dc:relation --> - <xsl:if test="$DC//dc:relation"> - - <xsl:if test="string-length($DC//dc:relation[1]) > 0"> - <field name="dc_relation_str"> - <xsl:value-of select="$DC//dc:relation[1]"/> - </field> - </xsl:if> - - <xsl:for-each select="$DC//dc:relation"> - <xsl:if test="string-length() > 0"> - <field name="series"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- FORMAT - <field name="format">Online</field> - --> - - <!-- AUTHOR --> - <xsl:if test="$DC//dc:creator"> - <xsl:for-each select="$DC//dc:creator"> - <xsl:if test="normalize-space()"> - <field name="author"> - <xsl:value-of select="normalize-space()"/> - </field> - <!-- use first author value for sorting --> - <xsl:if test="position()=1"> - <field name="author_sort"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <xsl:if test="$DC//dc:contributor"> - <xsl:for-each select="$DC//dc:contributor"> - <xsl:if test="normalize-space()"> - <field name="author2"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - <!-- TOPIC --> - <xsl:if test="$DC//dc:subject"> - <field name="topic_str"> - <xsl:value-of select="$DC//dc:subject[1]"/> - </field> - - <xsl:for-each select="$DC//dc:subject"> - <field name="topic"><xsl:value-of select="normalize-space()"/></field> - </xsl:for-each> - </xsl:if> - - <!-- TOPIC_FACET --> - <xsl:if test="$DC//dc:subject"> - <xsl:for-each select="$DC//dc:subject"> - <field name="topic_facet"><xsl:value-of select="normalize-space()"/></field> - </xsl:for-each> - </xsl:if> - - <!-- TOPIC_STR_MV (for autocomplete) --> - <xsl:if test="$DC//dc:subject"> - <xsl:for-each select="$DC//dc:subject"> - <field name="topic_str_mv"><xsl:value-of select="normalize-space()"/></field> - </xsl:for-each> - </xsl:if> - - <!-- TITLE --> - <xsl:if test="$DC//dc:title[normalize-space()]"> - - <field name="dc_title_str"> - <xsl:value-of select="$DC//dc:title[1]"/> - </field> - - <field name="title"> - <xsl:value-of select="$DC//dc:title[normalize-space()]"/> - </field> - <field name="title_short"> - <xsl:value-of select="$DC//dc:title[normalize-space()]"/> - </field> - <field name="title_full"> - <xsl:value-of select="$DC//dc:title[normalize-space()]"/> - </field> - <field name="title_sort"> - <xsl:value-of select="php:function('VuFind::stripArticles', string($DC//dc:title[normalize-space()]))"/> - </field> - - <!-- title_alt / dc:titel[gt 1] --> - <xsl:for-each select="$DC//dc:title"> - <xsl:if test="position() > 1"> - <field name="title_alt"> - <xsl:value-of select="normalize-space()"/> - </field> - </xsl:if> - </xsl:for-each> - </xsl:if> - - - <!-- Format --> - <xsl:for-each select="$DC//dc:format"> - <field name="format"> - <xsl:value-of select="."/> - </field> - </xsl:for-each> - - <!-- DESCRIPTION --> - <xsl:if test="$DC//dc:description[normalize-space()]"> - <field name="description"> - <xsl:value-of select="$DC//dc:description[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHER --> - <xsl:if test="$DC//dc:publisher[normalize-space()]"> - <field name="publisher"> - <xsl:value-of select="$DC//dc:publisher[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHERSTR --> - <xsl:if test="$DC//dc:publisher[normalize-space()]"> - <field name="publisher_str_mv"> - <xsl:value-of select="$DC//dc:publisher[normalize-space()]"/> - </field> - </xsl:if> - - <!-- PUBLISHDATE --> - - <xsl:if test="$DC//dc:date[1]"> - <xsl:variable name="strippedDate" select="substring($DC//dc:date[1], 1, 4)"/> - - <xsl:if test="number($strippedDate) > 1000"> - <field name="publishDate"> - <xsl:value-of select="substring($DC//dc:date[1], 1, 4)"/> - </field> - <field name="publishDateSort"> - <xsl:value-of select="substring($DC//dc:date[1], 1, 4)"/> - </field> - </xsl:if> - - <field name="dc_date_str"> - <xsl:value-of select="$DC//dc:date[1]"/> - </field> - - </xsl:if> - - <!-- FULL TEXT --> - <xsl:if test="//foxml:datastream[@ID='OCR-DIRTY'] or $RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:PDFData'] or $RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:DOCData']"> - <field name="fulltext"> - <xsl:if test="//foxml:datastream[@ID='OCR-DIRTY']"> - <xsl:value-of select="php:function('VuFind::harvestTextFile', concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams/OCR-DIRTY/content'))"/> - </xsl:if> - <xsl:if test="$RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:PDFData'] or $RELS-EXT//fedora-model:hasModel[@rdf:resource='info:fedora/vudl-system:DOCData']"> - <xsl:value-of select="php:function('VuFind::harvestWithParser', concat($fedoraURL, ':', $fedoraPort, '/fedora/objects/', $PID, '/datastreams/MASTER/content'))"/> - </xsl:if> - </field> - </xsl:if> - - </doc> - </add> - </xsl:template> - - <xsl:template name="parent"> - <xsl:param name="parentURI_template"/> - <xsl:param name="parentName_template"/> - <!-- <xsl:if test="substring-after($parentURI_template,'/') != 'vudl:1' and substring-after($parentURI_template,'/') != 'vudl:3'"> --> <!-- --> - <parent uri="{$parentURI_template}" PID="{substring-after($parentURI_template,'/')}" name="{$parentName_template}"> - <xsl:for-each select="//sparql:child[@uri=$parentURI_template]"> - <xsl:variable name="new_parentURI_template" select="../sparql:parent/@uri"/> - <xsl:variable name="new_parentName_template" select="../sparql:parentTitle"/> - <xsl:call-template name="parent"> - <xsl:with-param name="parentURI_template" select="$new_parentURI_template"/> - <xsl:with-param name="parentName_template" select="$new_parentName_template"/> - </xsl:call-template> - </xsl:for-each> - </parent> - <!-- </xsl:if> --> - </xsl:template> - -</xsl:stylesheet>