re-apply changes from modified SVN checkout

This commit is contained in:
Mark H. Wood
2012-03-29 16:46:39 -04:00
parent e48dd94d49
commit 928933f76f
82 changed files with 937 additions and 18354 deletions

View File

@@ -28,6 +28,20 @@
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace</url>
</scm>
<pluginRepositories>
<pluginRepository>
<id>sonatype-ossrh-snapshots</id>
<name>Sonatype OSSRH Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
<!--
Runtime and Compile Time dependencies for DSpace.
-->
@@ -61,6 +75,75 @@
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>setupTestEnvironment</id>
<phase>generate-test-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/testing</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>${project.version}</version>
<type>zip</type>
<classifier>testEnvironment</classifier>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>edu.iu.ul.maven.plugins</groupId>
<artifactId>fileweaver</artifactId>
<version>1.0-SNAPSHOT</version>
<configuration>
<outputs>
<output>
<outputPath>${project.build.directory}/testing</outputPath>
<name>dspace.cfg.woven</name>
<parts>
<part>
<path>${project.build.directory}/testing/dspace/config/dspace.cfg</path>
</part>
<part>
<path>${project.build.directory}/testing/dspace.cfg.more</path>
</part>
</parts>
<properties>
<default.dspace.dir>${project.build.directory}/testing/dspace</default.dspace.dir>
</properties>
</output>
</outputs>
</configuration>
<executions>
<execution>
<id>edit-dspace-cfg</id>
<phase>process-test-resources</phase>
<goals>
<goal>weave</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<dspace.dir>${project.build.directory}/testing/dspace</dspace.dir>
<dspace.configuration>${project.build.directory}/testing/dspace.cfg.woven</dspace.configuration>
<db.schema.path>${project.build.directory}/testing/dspace/etc/h2/database_schema.sql</db.schema.path>
<dspace.log.init.disable>true</dspace.log.init.disable>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>

View File

@@ -0,0 +1,8 @@
#Configure authority control for testing
plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority = \
org.dspace.content.authority.DCInputAuthority
choices.plugin.dc.language.iso = common_iso_languages
choices.presentation.dc.language.iso = select
authority.controlled.dc.language.iso = true

View File

@@ -7,6 +7,8 @@
*/
package org.dspace;
import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -16,35 +18,38 @@ import java.nio.channels.FileChannel;
import java.sql.SQLException;
import java.util.Properties;
import java.util.TimeZone;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.dspace.administer.RegistryImportException;
import org.dspace.authorize.AuthorizeException;
import org.dspace.browse.BrowseException;
import org.dspace.content.NonUniqueMetadataException;
import org.dspace.servicemanager.DSpaceKernelImpl;
import org.dspace.servicemanager.DSpaceKernelInit;
import org.junit.*;
import static org.junit.Assert.*;
import mockit.*;
import mockit.UsingMocksAndStubs;
import org.apache.log4j.Logger;
import org.dspace.administer.MetadataImporter;
import org.dspace.administer.RegistryImportException;
import org.dspace.administer.RegistryLoader;
import org.dspace.authorize.AuthorizeException;
import org.dspace.browse.BrowseException;
import org.dspace.browse.IndexBrowse;
import org.dspace.browse.MockBrowseCreateDAOOracle;
import org.dspace.content.MetadataField;
import org.dspace.content.NonUniqueMetadataException;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
import org.dspace.search.DSIndexer;
import org.dspace.storage.rdbms.MockDatabaseManager;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.xml.sax.SAXException;
/**
* This is the base class for Unit Tests. It contains some generic mocks and
* utilities that are needed by most of the unit tests developed for DSpace
* utilities that are needed by most of the unit tests developed for DSpace.
*
* @author pvillega
*/
@@ -57,19 +62,19 @@ public class AbstractUnitTest
//Below there are static variables shared by all the instances of the class
/**
* Test properties
* Test properties.
*/
protected static Properties testProps;
//Below there are variables used in each test
/**
* Context mock object to use in the tests
* Context mock object to use in the tests.
*/
protected Context context;
/**
* EPerson mock object to use in the tests
* EPerson mock object to use in the tests.
*/
protected static EPerson eperson;
@@ -81,12 +86,13 @@ public class AbstractUnitTest
* Due to the way Maven works, unit tests can't be run from a POM package,
* which forbids us to run the tests from the Assembly and Configuration
* package. On the other hand we need a structure of folders to run the tests,
* like "solr", "report", etc.
* like "solr", "report", etc. This will be provided by a JAR assembly
* built out of files from various modules -- see the dspace-parent POM.
*
* This method will create all the folders and files required for the tests
* in the test folder. To facilitate the work this will consist on a copy
* from a folder in the resources folder. The ConfigurationManager will be
* initialized to load the test "dspace.cfg" and then launch the unit tests.
* This method will load a few properties for derived test classes.
*
* The ConfigurationManager will be initialized to load the test
* "dspace.cfg".
*/
@BeforeClass
public static void initOnce()
@@ -98,71 +104,27 @@ public class AbstractUnitTest
//load the properties of the tests
testProps = new Properties();
URL properties = AbstractUnitTest.class.getClassLoader().getResource("test-config.properties");
URL properties = AbstractUnitTest.class.getClassLoader()
.getResource("test-config.properties");
testProps.load(properties.openStream());
//prepare the Dspace files
URL origin = ClassLoader.getSystemResource("dspaceFolder");
File source = new File(origin.getPath());
File dspaceTmp = new File(testProps.getProperty("test.folder"));
if (!dspaceTmp.exists())
{
dspaceTmp.mkdirs();
}
copyDir(source, dspaceTmp);
//copy a file into assetstore for "register" tests on Bundle, Bitstream
File tmpFile = new File(testProps.getProperty("test.bitstream"));
File destParent = new File(testProps.getProperty("test.folder.assetstore"));
destParent.mkdirs();
File dest = new File(testProps.getProperty("test.assetstore.bitstream"));
if(!dest.exists())
{
dest.createNewFile();
}
copyFile(tmpFile, dest);
//load the test configuration file
URL configFile = AbstractUnitTest.class.getClassLoader().getResource(testProps.getProperty("test.config.file"));
ConfigurationManager.loadConfig(configFile.getPath());
ConfigurationManager.loadConfig(null);
// // Initialise the service manager kernel
DSpaceKernelImpl kernelImpl = null;
try {
kernelImpl = DSpaceKernelInit.getKernel(null);
if (!kernelImpl.isRunning())
{
kernelImpl.start(ConfigurationManager.getProperty("dspace.dir"));
}
} catch (Exception e)
{
// Failed to start so destroy it and log and throw an exception
try
{
if(kernelImpl != null){
kernelImpl.destroy();
}
}
catch (Exception e1)
{
// Nothing to do
}
String message = "Failure during filter init: " + e.getMessage();
throw new IllegalStateException(message, e);
}
//load the default registries. This assumes the temporal filesystem is working
//and the in-memory DB in place
// Load the default registries. This assumes the temporary
// filesystem is working and the in-memory DB in place.
Context ctx = new Context();
ctx.turnOffAuthorisationSystem();
//we can't check via a boolean value (even static) as the class is destroyed by the
//JUnit classloader. We rely on a value that will always be in the database if it has
//been initialized to avoid doing the work twice
// We can't check via a boolean value (even static) as the class is
// destroyed by the JUnit classloader. We rely on a value that will
// always be in the database, if it has been initialized, to avoid
// doing the work twice.
if(MetadataField.find(ctx, 1) == null)
{
String base = testProps.getProperty("test.folder") + File.separator + "config"+ File.separator +"registries"+ File.separator;
String base = ConfigurationManager.getProperty("dspace.dir")
+ File.separator + "config" + File.separator
+ "registries" + File.separator;
RegistryLoader.loadBitstreamFormats(ctx, base + "bitstream-formats.xml");
MetadataImporter.loadRegistry(base + "dublin-core-types.xml", true);
@@ -252,6 +214,7 @@ public class AbstractUnitTest
* @param to Destination
* @throws IOException There is an error while copying the content
*/
/*
protected static void copyDir(File from, File to) throws IOException
{
if(!from.isDirectory() || !to.isDirectory())
@@ -276,6 +239,7 @@ public class AbstractUnitTest
}
}
}
*/
/**
* Removes the copies of the origin files from the destination folder. Used
@@ -285,6 +249,7 @@ public class AbstractUnitTest
* @param to Destination from which to remove contents
* @throws IOException There is an error while copying the content
*/
/*
protected static void deleteDir(File from, File to) throws IOException
{
if(!from.isDirectory() || !to.isDirectory())
@@ -315,6 +280,7 @@ public class AbstractUnitTest
}
}
}
*/
/**
* Copies one file into another
@@ -323,6 +289,7 @@ public class AbstractUnitTest
* @param to Destination of copy
* @throws IOException There is an error while copying the content
*/
/*
protected static void copyFile(File from, File to) throws IOException
{
if(!from.isFile() || !to.isFile())
@@ -336,6 +303,7 @@ public class AbstractUnitTest
in.close();
out.close();
}
*/
/**
* This method will be run before every test as per @Before. It will
@@ -385,28 +353,10 @@ public class AbstractUnitTest
@AfterClass
public static void destroyOnce()
{
try
{
//the database will be cleaned automatically on shutdown (in-memory db)
//we clear the copied resources
URL origin = ClassLoader.getSystemResource("dspaceFolder");
File source = new File(origin.getPath());
File dspaceTmp = new File(testProps.getProperty("test.folder"));
deleteDir(source, dspaceTmp);
File destParent = new File(testProps.getProperty("test.folder.assetstore"));
deleteDir(destParent,destParent);
//we clear the properties
testProps.clear();
testProps = null;
}
catch (IOException ex)
{
log.error("Error cleaning the temporal files of testing", ex);
}
}
/**
* This method checks the configuration for Surefire has been done properly

View File

@@ -1668,11 +1668,15 @@ public class MockDatabaseManager
driver.registerPool(poolName, connectionPool);
//preload the contents of the database
URL fileSchema = MockDatabaseManager.class.getClassLoader().getResource("database_schema.sql");
String s = new String();
StringBuilder sb = new StringBuilder();
FileReader fr = new FileReader(new File(fileSchema.getPath()));
String schemaPath = System.getProperty("db.schema.path");
if (null == schemaPath)
throw new IllegalArgumentException(
"System property db.schema.path must be defined");
FileReader fr = new FileReader(new File(schemaPath));
BufferedReader br = new BufferedReader(fr);
while((s = br.readLine()) != null)

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +0,0 @@
nsi.xml
=======
Norsk inndeling av vitenskapsdisipliner was created in 2003 for The Norwegian
Association of Higher Education Institutions.
--------------------------------------------------------------------------------
srsc.xml
========
Thanks to the Swedish Royal Librarys Department for National Co-ordination and
Development, BIBSAM, and the participating members in the SVEP project for
the permission to use the Swedish Research Subject Categories.

View File

@@ -1,563 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
The Norwegian Science Index
-->
<node id="VDP" label="VDP">
<isComposedBy>
<node id="000" label="Humaniora: 000">
<isComposedBy>
<node id="010" label="Språkvitenskapelige fag: 010">
<isComposedBy>
<node id="011" label="Allmenn språkvitenskap og fonetikk: 011" />
<node id="012" label="Anvendt språkvitenskap: 012" />
<node id="013" label="Tegnspråk: 013" />
<node id="018" label="Nordiske språk: 018" />
<node id="019" label="Norrøn filologi: 019" />
<node id="020" label="Engelsk språk: 020" />
<node id="021" label="Tysk språk: 021" />
<node id="022" label="Nederlandsk språk: 022" />
<node id="023" label="Andre germanske språk: 023" />
<node id="024" label="Fransk språk: 024" />
<node id="025" label="Italiensk språk: 025" />
<node id="026" label="Spansk språk: 026" />
<node id="027" label="Andre romanske språk: 027" />
<node id="028" label="Russisk språk: 028" />
<node id="029" label="Andre slaviske språk: 029" />
<node id="030" label="Finsk-ugriske språk: 030" />
<node id="031" label="Samisk språk: 031" />
<node id="032" label="Klassisk filologi: 032" />
<node id="033" label="Indoeuropeiske språk: 033" />
<node id="034" label="Østasiatiske språk: 034" />
<node id="035" label="Semittiske språk: 035" />
<node id="036" label="Afrikanske språk: 036" />
<node id="037" label="Stillehavsspråk: 037" />
<node id="038" label="Tyrkiske språk: 038" />
<node id="039" label="Andre språkvitenskapelige fag: 039" />
</isComposedBy>
</node>
<node id="040" label="Litteraturvitenskapelige fag: 040">
<isComposedBy>
<node id="041" label="Allmenn litteraturvitenskap: 041" />
<node id="042" label="Nordisk litteratur: 042" />
<node id="043" label="Engelsk litteratur: 043" />
<node id="044" label="Tysk litteratur: 044" />
<node id="045" label="Annen germansk litteratur: 045" />
<node id="046" label="Fransk litteratur: 046" />
<node id="047" label="Italiensk litteratur: 047" />
<node id="048" label="Spansk litteratur: 048" />
<node id="049" label="Annen romansk litteratur: 049" />
<node id="050" label="Russisk litteratur: 050" />
<node id="051" label="Annen slavisk litteratur: 051" />
<node id="052" label="Finsk litteratur: 052" />
<node id="053" label="Samisk litteratur: 053" />
<node id="054" label="Klassisk litteratur: 054" />
<node id="055" label="Indoeuropeisk litteratur: 055" />
<node id="056" label="Østasiatisk litteratur: 056" />
<node id="057" label="Semittisk litteratur: 057" />
<node id="058" label="Afrikansk litteratur: 058" />
<node id="059" label="Andre litteraturvitenskapelige fag: 059" />
</isComposedBy>
</node>
<node id="060" label="Kulturvitenskap: 060">
<isComposedBy>
<node id="061" label="Nordisk kulturvitenskap: 061" />
<node id="062" label="Germansk kulturvitenskap: 062" />
<node id="063" label="Romansk kulturvitenskap: 063" />
<node id="064" label="Slavisk kulturvitenskap: 064" />
<node id="065" label="Klassisk kulturvitenskap: 065" />
<node id="066" label="Indoeuropeisk kulturvitenskap: 066" />
<node id="067" label="Østasiatisk kulturvitenskap: 067" />
<node id="068" label="Angloamerikansk kulturvitenskap: 068" />
<node id="069" label="Annen kulturvitenskap: 069" />
</isComposedBy>
</node>
<node id="070" label="Historie: 070">
<isComposedBy>
<node id="071" label="Politisk historie: 071" />
<node id="072" label="Sosialhistorie: 072" />
<node id="073" label="Kvinnehistorie: 073" />
<node id="074" label="Økonomisk historie: 074" />
<node id="075" label="Kulturhistorie: 075" />
<node id="080" label="Oldtidens historie: 080" />
<node id="081" label="Middelalderhistorie: 081" />
<node id="082" label="Nyere tids historie (før 1800): 082" />
<node id="083" label="Moderne historie (etter 1800): 083" />
<node id="084" label="Samtidshistorie (etter 1945): 084" />
<node id="085" label="Ikke-europeisk/-vestlig historie: 085" />
<node id="089" label="Annen historie: 089" />
</isComposedBy>
</node>
<node id="090" label="Arkeologi: 090">
<isComposedBy>
<node id="091" label="Nordisk arkeologi: 091" />
<node id="092" label="Klassisk arkeologi: 092" />
<node id="099" label="Annen arkeologi: 099" />
</isComposedBy>
</node>
<node id="100" label="Folkloristikk, etnologi: 100">
<isComposedBy>
<node id="101" label="Folkloristikk: 101" />
<node id="102" label="Etnologi: 102" />
</isComposedBy>
</node>
<node id="110" label="Musikkvitenskap: 110">
<isComposedBy>
<node id="111" label="Musikkhistorie: 111" />
<node id="112" label="Musikkteori: 112" />
<node id="113" label="Musikkterapi: 113" />
<node id="114" label="Musikkpedagogikk: 114" />
<node id="119" label="Annen musikkvitenskap: 119" />
</isComposedBy>
</node>
<node id="120" label="Kunsthistorie: 120">
<isComposedBy>
<node id="121" label="Skulptur: 121" />
<node id="122" label="Maleri, tegning, grafikk: 122" />
<node id="123" label="Folkekunst, kunsthåndverk: 123" />
<node id="124" label="Konservering og restaurering: 124" />
<node id="125" label="Antikkens kunsthistorie: 125" />
<node id="126" label="Middelalderkunsthistorie: 126" />
<node id="127" label="Fra renessanse t.o.m. barokk: 127" />
<node id="128" label="Nyere tids kunsthistorie: 128" />
<node id="129" label="Moderne kunsthistorie: 129" />
<node id="130" label="Ikkeeuropeisk kunsthistorie: 130" />
<node id="139" label="Annen kunsthistorie: 139" />
</isComposedBy>
</node>
<node id="140" label="Arkitektur og design: 140">
<isComposedBy>
<node id="141" label="Arkitektur- og designhistorie: 141" />
<node id="142" label="Arkitektur- og designteori: 142" />
<node id="143" label="Prosjekterings og formgivningsmetodikk: 143" />
<node id="147" label="Landskapsarkitektur: 147" />
</isComposedBy>
</node>
<node id="150" label="Teologi og religionsvitenskap: 150">
<isComposedBy>
<node id="151" label="Teologi: 151" />
<node id="152" label="Kristendomskunnskap: 152" />
<node id="153" label="Religionsvitenskap, religionshistorie: 153" />
</isComposedBy>
</node>
<node id="160" label="Filosofiske fag: 160">
<isComposedBy>
<node id="161" label="Filosofi: 161" />
<node id="162" label="Idéhistorie: 162" />
<node id="163" label="Logikk: 163" />
<node id="164" label="Etikk: 164" />
<node id="169" label="Andre filosofiske fag: 169" />
</isComposedBy>
</node>
<node id="170" label="Film- og teatervitenskap: 170">
<isComposedBy>
<node id="171" label="Filmvitenskap: 171" />
<node id="172" label="Teatervitenskap: 172" />
</isComposedBy>
</node>
</isComposedBy>
</node>
<node id="200" label="Samfunnsvitenskap: 200">
<isComposedBy>
<node id="210" label="Økonomi: 210">
<isComposedBy>
<node id="212" label="Samfunnsøkonomi: 212" />
<node id="213" label="Bedriftsøkonomi: 213" />
<node id="214" label="Økonometri: 214" />
</isComposedBy>
</node>
<node id="230" label="Urbanisme og fysisk planlegging: 230">
<isComposedBy>
<node id="231" label="Planleggingshistorie, -teori og -metodikk: 231" />
<node id="234" label="Bebyggelses og reguleringsplanlegging: 234" />
<node id="236" label="Landskapsplanlegging: 236" />
<node id="237" label="Urbanisme: 237" />
<node id="238" label="Romlig, territoriell planlegging: 238" />
</isComposedBy>
</node>
<node id="240" label="Statsvitenskap og organisasjonsteori: 240">
<isComposedBy>
<node id="241" label="Sammenlignende politikk: 241" />
<node id="242" label="Offentlig og privat administrasjon: 242" />
<node id="243" label="Internasjonal politikk: 243" />
</isComposedBy>
</node>
<node id="260" label="Psykologi: 260">
<isComposedBy>
<node id="261" label="Biologisk psykologi: 261" />
<node id="262" label="Klinisk psykologi: 262" />
<node id="263" label="Sosial- og arbeidspsykologi: 263" />
<node id="264" label="Personlighetspsykologi: 264" />
<node id="265" label="Utviklingspsykologi: 265" />
<node id="267" label="Kognitiv psykologi: 267" />
<node id="268" label="Organisasjonspsykologi: 268" />
<node id="279" label="Andre psykologiske fag: 279" />
</isComposedBy>
</node>
<node id="280" label="Pedagogiske fag: 280">
<isComposedBy>
<node id="281" label="Allmennpedagogikk: 281" />
<node id="282" label="Spesialpedagogikk: 282" />
<node id="283" label="Fagdidaktikk: 283" />
<node id="289" label="Andre pedagogiske fag: 289" />
</isComposedBy>
</node>
<node id="320" label="Biblioteks- og informasjonsvitenskap: 320">
<isComposedBy>
<node id="321" label="Informasjons- og kommunikasjonssystemer: 321" />
<node id="322" label="Informasjonspolitikk: 322" />
<node id="323" label="Kunnskapsgjenfinning og organisering: 323" />
<node id="324" label="Bibliometri: 324" />
<node id="325" label="Dokumentasjonsvitenskap: 325" />
<node id="326" label="Arkivistikk: 326" />
</isComposedBy>
</node>
<node id="330" label="Samfunnsvitenskapelige idrettsfag: 330">
<isComposedBy>
<node id="331" label="Integreringsfag: 331" />
<node id="332" label="Aktivitetslære: 332" />
<node id="333" label="Idrettspedagogikk og -psykologi: 333" />
<node id="339" label="Andre idrettsfag: 339" />
</isComposedBy>
</node>
<node id="340" label="Rettsvitenskap: 340">
<isComposedBy>
<node id="341" label="Allmenn rettsvitenskap: 341" />
<node id="342" label="Privatrett: 342" />
<node id="343" label="Offentlig rett: 343" />
<node id="344" label="Folkerett: 344" />
<node id="346" label="Rettsinformatikk: 346" />
<node id="347" label="Miljørett: 347" />
<node id="348" label="Fiskerirett: 348" />
<node id="349" label="Andre rettsvitenskapelige fag: 349" />
</isComposedBy>
</node>
<node id="220" label="Sosiologi: 220" />
<node id="250" label="Sosialantropologi: 250" />
<node id="290" label="Samfunnsgeografi: 290" />
<node id="300" label="Demografi: 300" />
<node id="310" label="Medievitenskap og journalistikk: 310" />
<node id="350" label="Kriminologi: 350" />
<node id="360" label="Sosialt arbeid: 360" />
<node id="370" label="Kvinne- og kjønnsstudier: 370" />
</isComposedBy>
</node>
<node id="400" label="Matematikk og Naturvitenskap: 400">
<isComposedBy>
<node id="410" label="Matematikk: 410">
<isComposedBy>
<node id="411" label="Analyse: 411" />
<node id="412" label="Statistikk: 412" />
<node id="413" label="Anvendt matematikk: 413" />
<node id="414" label="Algebra/algebraisk analyse: 414" />
<node id="415" label="Topologi/geometri: 415" />
<node id="416" label="Logikk: 416" />
<node id="417" label="Forsikringsmatematikk og risikoanalyse: 417" />
</isComposedBy>
</node>
<node id="420" label="Informasjons- og kommunikasjonsvitenskap: 420">
<isComposedBy>
<node id="421" label="Teoretisk databehandling, programmeringsspråk og -teori: 421" />
<node id="422" label="Algoritmer og beregnbarhetsteori: 422" />
<node id="423" label="Kommunikasjon og distribuerte systemer: 423" />
<node id="424" label="Sikkerhet og sårbarhet: 424" />
<node id="425" label="Kunnskapsbaserte systemer: 425" />
<node id="426" label="Systemutvikling og arbeid: 426" />
<node id="427" label="Matematisk modellering og numeriske metoder: 427" />
<node id="428" label="Databaser og multimediasystemer: 428" />
<node id="429" label="Simulering, visualisering, signalbehandling, bildeanalyse: 429" />
</isComposedBy>
</node>
<node id="430" label="Fysikk: 430" >
<isComposedBy>
<node id="431" label="Kjerne- og elementærpartikkelfysikk: 431" />
<node id="433" label="Atomfysikk, molekylfysikk: 433" />
<node id="434" label="Elektromagnetisme, akustikk, optikk: 434" />
<node id="435" label="Elektronikk: 435" />
<node id="436" label="Kondenserte fasers fysikk: 436" />
<node id="437" label="Rom- og plasmafysikk: 437" />
<node id="438" label="Astrofysikk, astronomi: 438" />
</isComposedBy>
</node>
<node id="440" label="Kjemi: 440">
<isComposedBy>
<node id="441" label="Organisk kjemi: 441" />
<node id="442" label="Uorganisk kjemi: 442" />
<node id="443" label="Fysikalsk kjemi: 443" />
<node id="444" label="Teoretisk kjemi, kvantekjemi: 444" />
<node id="445" label="Analytisk kjemi: 445" />
<node id="446" label="Miljøkjemi, naturmiljøkjemi: 446" />
<node id="447" label="Kjernekjemi: 447" />
<node id="448" label="Legemiddelkjemi: 448" />
</isComposedBy>
</node>
<node id="450" label="Geofag: 450">
<isComposedBy>
<node id="451" label="Faste jords fysikk: 451" />
<node id="452" label="Oseanografi: 452" />
<node id="453" label="Meteorologi: 453" />
<node id="454" label="Hydrologi: 454" />
<node id="455" label="Naturgeografi: 455" />
<node id="456" label="Sedimentologi: 456" />
<node id="461" label="Stratigrafi og paleontologi: 461" />
<node id="462" label="Mineralogi, petrologi, geokjemi: 462" />
<node id="463" label="Tektonikk: 463" />
<node id="464" label="Petroleumsgeologi og -geofysikk: 464" />
<node id="465" label="Kvartærgeologi, glasiologi: 465" />
<node id="466" label="Marin geologi: 466" />
<node id="467" label="Hydrogeologi: 467" />
<node id="468" label="Geometrikk: 468" />
<node id="469" label="Andre geofag: 469" />
</isComposedBy>
</node>
<node id="470" label="Basale biofag: 470">
<isComposedBy>
<node id="471" label="Cellebiologi: 471" />
<node id="472" label="Generell mikrobiologi: 472" />
<node id="473" label="Molekylærbiologi: 473" />
<node id="474" label="Genetikk og genomikk: 474" />
<node id="475" label="Bioinformatikk: 475" />
<node id="476" label="Biokjemi: 476" />
<node id="477" label="Biofysikk: 477" />
<node id="478" label="Generell immunologi: 478" />
</isComposedBy>
</node>
<node id="480" label="Zoologiske og botaniske fag: 480">
<isComposedBy>
<node id="481" label="Zoologisk anatomi: 481" />
<node id="482" label="Embryologi: 482" />
<node id="483" label="Zoofysiologi og komparativ fysiologi: 483" />
<node id="484" label="Parasittologi: 484" />
<node id="485" label="Etologi: 485" />
<node id="486" label="Zoogeografi: 486" />
<node id="487" label="Systematisk zoologi: 487" />
<node id="488" label="Økologi: 488" />
<node id="489" label="Økotoksikologi: 489" />
<node id="491" label="Planteanatomi: 491" />
<node id="492" label="Plantefysiologi: 492" />
<node id="493" label="Systematisk botanikk: 493" />
<node id="495" label="Vegetasjonshistorie: 495" />
<node id="496" label="Plantegeografi: 496" />
<node id="497" label="Marinbiologi: 497" />
<node id="498" label="Limnologi: 498" />
</isComposedBy>
</node>
</isComposedBy>
</node>
<node id="500" label="Teknologi: 500">
<isComposedBy>
<node id="510" label="Berg og petroleumsfag: 510">
<isComposedBy>
<node id="511" label="Bergteknologi: 511" />
<node id="512" label="Petroleumsteknologi: 512" />
<node id="513" label="Geoteknikk: 513" />
<node id="519" label="Andre berg og petroleumsfagg: 519" />
</isComposedBy>
</node>
<node id="520" label="Materialteknologi: 520">
<isComposedBy>
<node id="521" label="Metallurgi: 521" />
<node id="522" label="Funksjonelle materialer: 522" />
<node id="523" label="Plast- og komposittmaterialer: 523" />
<node id="525" label="Bygningsmaterialer: 525" />
<node id="529" label="Annen materialteknologi: 529" />
</isComposedBy>
</node>
<node id="530" label="Bygningsfag: 530">
<isComposedBy>
<node id="531" label="Arkitektur og bygningsteknologi: 531" />
<node id="532" label="Bygg-, anleggs- og transportteknologi: 532" />
<node id="533" label="Konstruksjonsteknologi: 533" />
<node id="534" label="Kart og oppmåling: 534" />
<node id="535" label="Fysisk planlegging: 535" />
<node id="537" label="Geoteknologi: 537" />
<node id="538" label="Hydroteknologi: 538" />
</isComposedBy>
</node>
<node id="540" label="Elektrotekniske fag: 540">
<isComposedBy>
<node id="541" label="Elektronikk: 541" />
<node id="542" label="Elkraft: 542" />
<node id="549" label="Andre elektrotekniske fag: 549" />
</isComposedBy>
</node>
<node id="550" label="Informasjons- og kommunikasjonsteknologi: 550">
<isComposedBy>
<node id="551" label="Datateknologi: 551" />
<node id="552" label="Telekommunikasjon: 552" />
<node id="553" label="Teknisk kybernetikk: 553" />
<node id="555" label="Geografiske informasjonssystemer: 555" />
<node id="559" label="Annen informasjonsteknologi: 559" />
</isComposedBy>
</node>
<node id="560" label="Kjemisk teknologi: 560">
<isComposedBy>
<node id="561" label="Elektrokjemi: 561" />
<node id="562" label="Kjemisk prosessteknologi: 562" />
<node id="563" label="Kjemiteknikk: 563" />
<node id="568" label="Farmasøytisk formulering og teknologi: 568" />
<node id="569" label="Annen kjemisk teknologi: 569" />
</isComposedBy>
</node>
<node id="570" label="Maskinfag: 570">
<isComposedBy>
<node id="571" label="Maskinkonstruksjon og materialteknologi: 571" />
<node id="572" label="Produksjon og driftsteknologi: 572" />
<node id="573" label="Maskinteknisk energi- og miljøteknologi: 573" />
<node id="574" label="Mekaniske og strømningstekniske fag: 574" />
<node id="579" label="Andre maskinfag: 579" />
</isComposedBy>
</node>
<node id="580" label="Marin teknologi: 580" >
<isComposedBy>
<node id="581" label="Offshoreteknologi: 581" />
<node id="582" label="Skipsteknologi: 582" />
<node id="589" label="Annen marin teknologi: 589" />
</isComposedBy>
</node>
<node id="590" label="Bioteknologi: 590" />
<node id="600" label="Næringsmiddelteknologi: 600" />
<node id="610" label="Miljøteknologi: 610" />
<node id="620" label="Medisinsk teknologi: 620" />
<node id="630" label="Nanoteknologi: 630" />
<node id="640" label="Industri- og produktdesign: 640" />
</isComposedBy>
</node>
<node id="700" label="Medisinske Fag: 700">
<isComposedBy>
<node id="710" label="Basale medisinske, odontologiske og veterinærmedisinske fag: 710">
<isComposedBy>
<node id="711" label="Medisinsk molekylærbiologi: 711" />
<node id="714" label="Medisinsk genetikk: 714" />
<node id="715" label="Medisinsk mikrobiologi: 715" />
<node id="716" label="Medisinsk immunologi: 716" />
<node id="717" label="Anatomi, fysisk antropologi: 717" />
<node id="718" label="Human og veterinærmedisinsk fysiologi: 718" />
<node id="719" label="Generell patologi, patologisk anatomi: 719" />
<node id="720" label="Rettsmedisin, rettsodontologi: 720" />
<node id="721" label="Patofysiologi: 721" />
<node id="725" label="Klinisk kjemi: 725" />
<node id="726" label="Medisinsk biokjemi: 726" />
<node id="728" label="Farmakologi: 728" />
<node id="730" label="Toksikologi: 730" />
<node id="736" label="Biofarmasi: 736" />
<node id="738" label="Farmakognosi: 738" />
<node id="739" label="Klinisk farmakologi: 739" />
</isComposedBy>
</node>
<node id="750" label="Klinisk medisinske fag: 750" >
<isComposedBy>
<node id="751" label="Allmennmedisin: 751" />
<node id="752" label="Nevrologi: 752" />
<node id="753" label="Dermatologi og venerologi: 753" />
<node id="754" label="Oftalmologi: 754" />
<node id="755" label="Otorhinolaryngologi: 755" />
<node id="756" label="Gynekologi og obstetrikk: 756" />
<node id="757" label="Psykiatri, barnepsykiatri: 757" />
<node id="758" label="Rettspsykiatri: 758" />
<node id="759" label="Reumatologi: 759" />
<node id="760" label="Pediatri: 760" />
<node id="761" label="Tropemedisin: 761" />
<node id="762" label="Onkologi: 762" />
<node id="763" label="Radiologi og bildediagnostikk: 763" />
<node id="764" label="Fysikalsk medisin og rehabilitering: 764" />
<node id="765" label="Anestesiologi: 765" />
<node id="770" label="Generell indremedisin: 770" />
<node id="771" label="Kardiologi: 771" />
<node id="772" label="Nefrologi, urologi: 772" />
<node id="773" label="Gasteroenterologi: 773" />
<node id="774" label="Endokrinologi: 774" />
<node id="775" label="Hematologi: 775" />
<node id="776" label="Infeksjonsmedisin: 776" />
<node id="777" label="Lungesykdommer: 777" />
<node id="778" label="Geriatri: 778" />
<node id="780" label="Generell kirurgi: 780" />
<node id="781" label="Gasteroenterologisk kirurgi: 781" />
<node id="782" label="Kar- og thoraxkirurgi: 782" />
<node id="783" label="Traumatologi: 783" />
<node id="784" label="Ortopedisk kirurgi: 784" />
<node id="785" label="Plastisk kirurgi: 785" />
<node id="786" label="Nevrokirurgi: 786" />
<node id="787" label="Kjevekirurgi: 787" />
<node id="788" label="Endokrin kirurgi: 788" />
<node id="799" label="Andre klinisk medisinske fag: 799" />
</isComposedBy>
</node>
<node id="800" label="Helsefag: 800">
<isComposedBy>
<node id="801" label="Samfunnsmedisin, sosialmedisin: 801" />
<node id="802" label="Samfunnsodontologi: 802" />
<node id="803" label="Epidemiologi medisinsk og odontologisk statistikk: 803" />
<node id="804" label="Forebyggende medisin: 804" />
<node id="805" label="Medisinsk/odontologisk etikk, atferdsfag, historie: 805" />
<node id="806" label="Helsetjeneste- og helseadministrasjonsforskning: 806" />
<node id="807" label="Fysioterapi: 807" />
<node id="808" label="Sykepleievitenskap: 808" />
<node id="809" label="Yrkesmedisin: 809" />
<node id="810" label="Bedriftsmedisin: 810" />
<node id="811" label="Ernæring: 811" />
<node id="812" label="Samfunnsfarmasi: 812" />
<node id="813" label="Næringsmiddelhygiene: 813" />
<node id="829" label="Andre helsefag: 829" />
</isComposedBy>
</node>
<node id="830" label="Klinisk odontologiske fag: 830" >
<isComposedBy>
<node id="831" label="Konserverende tannpleie: 831" />
<node id="832" label="Protetikk og bitt funksjon: 832" />
<node id="833" label="Kjeveortopedi: 833" />
<node id="834" label="Barnetannpleie og kariesprofylakse: 834" />
<node id="835" label="Oral kirurgi: 835" />
<node id="835" label="Oral medisin: 835" />
<node id="836" label="Oral radiologi: 836" />
<node id="837" label="Periodonti: 837" />
<node id="849" label="Andre kliniske odontologiske fag: 849" />
</isComposedBy>
</node>
<node id="850" label="Idrettsmedisinske fag: 850" >
<isComposedBy>
<node id="851" label="Treningslære: 851" />
<node id="852" label="Bevegelseslære: 852" />
<node id="853" label="Doping/idrettsfarmakologi: 853" />
</isComposedBy>
</node>
</isComposedBy>
</node>
<node id="900" label="Landbruks- og Fiskerifag: 900">
<isComposedBy>
<node id="910" label="Landbruksfag: 910" >
<isComposedBy>
<node id="911" label="Planteforedling, hagebruk, plantevern, plantepatologi: 911" />
<node id="912" label="Husdyravl, oppdrett, forplantning: 912" />
<node id="913" label="Jordfag: 913" />
<node id="914" label="Naturressursforvaltning: 914" />
<node id="915" label="Skogbruk: 915" />
<node id="916" label="Landbruksteknologi: 916" />
<node id="918" label="Fôring: 918" />
<node id="919" label="Andre landbruksfag: 919" />
</isComposedBy>
</node>
<node id="920" label="Fiskerifag: 920" >
<isComposedBy>
<node id="921" label="Ressursbiologi: 921" />
<node id="922" label="Akvakultur: 922" />
<node id="923" label="Fiskehelse: 923" />
<node id="924" label="Fiskeriteknologi: 924" />
<node id="925" label="Fangst: 925" />
<node id="929" label="Andre fiskerifag: 929" />
</isComposedBy>
</node>
<node id="950" label="Klinisk veterinærmedisinske fag: 950" >
<isComposedBy>
<node id="951" label="Reproduksjon: 951" />
<node id="952" label="Obstetrikk: 952" />
<node id="953" label="Kirurgi: 953" />
<node id="954" label="Indremedisin: 954" />
</isComposedBy>
</node>
</isComposedBy>
</node>
</isComposedBy>
</node>

View File

@@ -1,80 +0,0 @@
#
# Preliminary mapping of DSpace default metadata elements to
# the QDC XML schema in
# http://dublincore.org/schemas/xmls/qdc/2003/04/02/qualifieddc.xsd
# (See http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd
# and http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd )
#
# See org.dspace.content.crosswwalk.QDCCrosswalk for documentation.
#
# Author: Larry Stone
# Revision: $Revision: 3705 $
# Date: $Date: 2009-04-11 18:02:24 +0100 (Sat, 11 Apr 2009) $
#
dc.contributor = <dc:contributor />
# No mapping found for these and other commented-out elements:
# dc.contributor.advisor
# dc.contributor.author
# dc.contributor.editor
# dc.contributor.illustrator
# dc.contributor.other
dc.coverage.spatial = <dcterms:spatial />
dc.coverage.temporal = <dcterms:temporal />
dc.creator = <dc:creator />
dc.date = <dc:date />
dc.date.accessioned = <dcterms:dateAccepted />
dc.date.available = <dcterms:available />
dc.date.copyright = <dcterms:dateCopyrighted />
dc.date.created = <dcterms:created />
dc.date.issued = <dcterms:issued />
dc.date.submitted = <dcterms:dateSubmitted />
dc.identifier = <dc:identifier />
dc.identifier.citation = <dcterms:bibliographicCitation />
# dc.identifier.govdoc
# dc.identifier.isbn
# dc.identifier.issn
# dc.identifier.sici
# dc.identifier.ismn
# dc.identifier.other
dc.identifier.uri = <dc:identifier type="dcterms:URI" />
dc.description = <dc:description />
dc.description.abstract = <dcterms:abstract />
# dc.description.provenance
# dc.description.sponsorship
# dc.description.statementofresponsibility
dc.description.tableofcontents = <dcterms:tableOfContents />
dc.description.uri = <dc:description type="dcterms:URI" />
dc.format = <dc:format />
dc.format.extent = <dcterms:extent />
dc.format.medium = <dcterms:medium />
# dc.format.mimetype
dc.language = <dc:language />
dc.language.iso = <dc:language type="dcterms:ISO639-2" />
dc.publisher = <dc:publisher />
dc.relation = <dc:relation />
dc.relation.isformatof = <dcterms:isFormatOf />
dc.relation.ispartof = <dcterms:isPartOf />
# dc.relation.ispartofseries
dc.relation.haspart = <dcterms:hasPart />
dc.relation.isversionof = <dcterms:isVersionOf />
dc.relation.hasversion = <dcterms:hasVersion />
# dc.relation.isbasedon
dc.relation.isreferencedby = <dcterms:isReferencedBy />
dc.relation.requires = <dcterms:requires />
dc.relation.replaces = <dcterms:replaces />
dc.relation.isreplacedby = <dcterms:isReplacedBy />
dc.relation.uri = <dc:relation type="dcterms:URI" />
dc.rights = <dc:rights />
dc.rights.uri = <dc:rights type="dcterms:URI" />
dc.source = <dc:source />
dc.source.uri = <dc:source type="dcterms:URI" />
dc.subject = <dc:subject />
# dc.subject.classification
dc.subject.ddc = <dc:subject type="dcterms:DDC" />
dc.subject.lcc = <dc:subject type="dcterms:LCC" />
dc.subject.lcsh = <dc:subject type="dcterms:LCSH" />
dc.subject.mesh = <dc:subject type="dcterms:MESH" />
# dc.subject.other
dc.title = <dc:title />
dc.title.alternative = <dcterms:alternative />
dc.type = <dc:type />

View File

@@ -1,375 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dim="http://www.dspace.org/xmlns/dspace/dim"
xmlns:mods="http://www.loc.gov/mods/v3"
version="1.0">
<!--
**************************************************
MODS-2-DIM ("DSpace Intermediate Metadata" ~ Dublin Core variant)
For a DSpace INGEST Plug-In Crosswalk
William Reilly wreilly@mit.edu
INCOMPLETE
but as Work-In-Progress, should satisfy current project with CSAIL.
See: http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/QDC-MODS/CSAILQDC-MODSxwalkv1p0.pdf
Last modified: November 14, 2005
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODS-2-DIM/CSAILMODS.xml
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODS-2-DIM/MODS-2-DIM.xslt
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODS-2-DIM/CSAIL-DIMfromMODS.xml
Author: William Reilly
Revision: $Revision: 3705 $
Date: $Date: 2009-04-11 18:02:24 +0100 (Sat, 11 Apr 2009) $
**************************************************
-->
<!-- This XSLT file (temporarily, in development)
[wreilly ~/Documents/CWSpace/WorkActivityLOCAL/Metadata/Crosswalks/MODS-2-DIM ]$MODS-2-DIM.xslt
$ scp MODS-2-DIM.xslt athena.dialup.mit.edu:~/Private/
See also mods.properties in same directory.
e.g. dc.contributor = <mods:name><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
-->
<!-- Source XML:
CSAIL example
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/QDC-MODS/CSAILQDC-MODSxwalkv1p0.pdf
Important to See Also: "DCLib (DSpace) to MODS mapping == Dublin Core with Qualifiers==DSpace application" http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODSmapping2MB.html
See Also: e.g. MODS Sample: "Article in a serial"
http://www.loc.gov/standards/mods/v3/modsjournal.xml
-->
<!-- Target XML:
http://wiki.dspace.org/DspaceIntermediateMetadata
e.g. <dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim">
<dim:field mdschema="dc" element="title" lang="en_US">CSAIL Title - The Urban Question as a Scale Question</dim:field>
<dim:field mdschema="dc" element="contributor" qualifier="author" lang="en_US">Brenner, Neil</dim:field>
...
-->
<!-- Dublin Core schema links:
http://dublincore.org/schemas/xmls/qdc/2003/04/02/qualifieddc.xsd
http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd -->
<xsl:output indent="yes" method="xml"/>
<!-- Unnecessary attribute:
xsl:exclude-result-prefixes=""/> -->
<!-- WR_ Unnecessary, apparently.
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
-->
<!-- WR_ Unnecessary, apparently.
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
-->
<xsl:template match="text()">
<!--
Do nothing.
Override, effectively, the "Built-In" rule which will
process all text inside elements otherwise not matched by any xsl:template.
Note: With this in place, be sure to then provide templates or "value-of"
statements to actually _get_ the (desired) text out to the result document!
-->
</xsl:template>
<!-- **** MODS mods [ROOT ELEMENT] ====> DC n/a **** -->
<xsl:template match="*[local-name()='mods']">
<!-- fwiw, these match approaches work:
<xsl:template match="mods:mods">...
<xsl:template match="*[name()='mods:mods']">...
<xsl:template match="*[local-name()='mods']">...
...Note that only the latter will work on XML data that does _not_ have
namespace prefixes (e.g. <mods><titleInfo>... vs. <mods:mods><mods:titleInfo>...)
-->
<xsl:element name="dim:dim">
<xsl:comment>IMPORTANT NOTE:
****************************************************************************************************
THIS "Dspace Intermediate Metadata" ('DIM') IS **NOT** TO BE USED FOR INTERCHANGE WITH OTHER SYSTEMS.
****************************************************************************************************
It does NOT pretend to be a standard, interoperable representation of Dublin Core.
It is expressly used for transformation to and from source metadata XML vocabularies into and out of the DSpace object model.
See http://wiki.dspace.org/DspaceIntermediateMetadata
For more on Dublin Core standard schemata, see:
http://dublincore.org/schemas/xmls/qdc/2003/04/02/qualifieddc.xsd
http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd
</xsl:comment>
<!-- WR_ NAMESPACE NOTE
Don't "code into" this XSLT the creation of the attribute with the name 'xmlns:dim', to hold the DSpace URI for that namespace.
NO: <dim:field mdschema="dc" element="title" lang="en_US" xmlns:dim="http://www.dspace.org/xmlns/dspace/dim">
Why not?
Because it's an error (or warning, at least), and because the XML/XSLT tools (parsers, processors) will take care of it for you. ("Ta-da!")
[fwiw, I tried this on 4 processors: Sablotron, libxslt, Saxon, and Xalan-J (using convenience of TestXSLT http://www.entropy.ch/software/macosx/ ).]
-->
<!-- WR_ Do Not Use (see above note)
<xsl:attribute name="xmlns:dim">http://www.dspace.org/xmlns/dspace/dim</xsl:attribute>
-->
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<!-- **** MODS titleInfo/title ====> DC title **** -->
<xsl:template match="*[local-name()='titleInfo']/*[local-name()='title']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">title</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS titleInfo/subTitle ====> DC title ______ (?) **** -->
<!-- TODO No indication re: 'subTitle' from this page:
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODSmapping2MB.html
-->
<!-- (Not anticipated from CSAIL.) -->
<!--
<xsl:template match="*[local-name()='titleInfo']/*[local-name()='subTitle']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">title</xsl:attribute>
<xsl:attribute name="qualifier">SUB-TITLE (TODO ?)</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
-->
<!-- **** MODS titleInfo/@type="alternative" ====> DC title.alternative **** -->
<xsl:template match="*[local-name()='titleInfo'][@type='alternative']">
<!-- TODO Three other attribute values:
http://www.loc.gov/standards/mods/mods-outline.html#titleInfo
-->
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">title</xsl:attribute>
<xsl:attribute name="qualifier">alternative</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS name ====> DC contributor.{role/roleTerm} **** -->
<xsl:template match="*[local-name()='name']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">contributor</xsl:attribute>
<!-- Important assumption: That the string value used
in the MODS role/roleTerm is indeed a DC Qualifier.
e.g. contributor.illustrator
(Using this assumption, rather than coding in
a more controlled vocabulary via xsl:choose etc.)
-->
<xsl:attribute name="qualifier"><xsl:value-of select="*[local-name()='role']/*[local-name()='roleTerm']"/></xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<!-- TODO: Logic (xsl:choose) re: format of names in source XML (e.g. Smith, John; or Fname and Lname in separate elements, etc.) -->
<!-- Used for CSAIL == simply:
<namePart>Lname, Fname</namePart>
-->
<xsl:value-of select="*[local-name()='namePart']"/>
<!-- Not Used for CSAIL
<namePart type="family">Lname</namePart> <namePart type="given">Fname</namePart>
-->
<!-- (Therefore, not used here)
<xsl:value-of select="*[local-name()='namePart'][@type='given']"/><xsl:text> </xsl:text><xsl:value-of select="*[local-name()='namePart'][@type='family']"/>
-->
</xsl:element>
</xsl:template>
<!-- **** MODS originInfo/dateCreated ====> DC date.created **** -->
<xsl:template match="*[local-name()='originInfo']/*[local-name()='dateCreated']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">date</xsl:attribute>
<xsl:attribute name="qualifier">created</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<!-- **** MODS originInfo/dateIssued ====> DC date.issued **** -->
<xsl:template match="*[local-name()='originInfo']/*[local-name()='dateIssued']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">date</xsl:attribute>
<xsl:attribute name="qualifier">issued</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<!-- **** MODS physicalDescription/extent ====> DC format.extent **** -->
<xsl:template match="*[local-name()='physicalDescription']/*[local-name()='extent']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">format</xsl:attribute> <xsl:attribute name="qualifier">extent</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<!-- **** MODS abstract ====> DC description.abstract **** -->
<xsl:template match="*[local-name()='abstract']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">description</xsl:attribute> <xsl:attribute name="qualifier">abstract</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS subject/topic ====> DC subject **** -->
<xsl:template match="*[local-name()='subject']/*[local-name()='topic']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">subject</xsl:attribute> <xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS subject/geographic ====> DC coverage.spatial **** -->
<!-- (Not anticipated for CSAIL.) -->
<xsl:template match="*[local-name()='subject']/*[local-name()='geographic']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">coverage</xsl:attribute> <xsl:attribute name="qualifier">spatial</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS subject/temporal ====> DC coverage.temporal **** -->
<!-- (Not anticipated for CSAIL.) -->
<xsl:template match="*[local-name()='subject']/*[local-name()='temporal']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">coverage</xsl:attribute> <xsl:attribute name="qualifier">temporal</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS relatedItem... **** -->
<!-- NOTE -
HAS *TWO* INTERPRETATIONS IN DC:
1) DC identifier.citation
MODS [@type='host'] {/part/text} ====> DC identifier.citation
2) DC relation.___
MODS [@type='____'] {/titleInfo/title} ====> DC relation.{ series | host | other...}
-->
<xsl:template match="*[local-name()='relatedItem']">
<xsl:choose>
<!-- 1) DC identifier.citation -->
<xsl:when test="./@type='host' and *[local-name()='part']/*[local-name()='text']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">identifier</xsl:attribute>
<xsl:attribute name="qualifier">citation</xsl:attribute>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(*[local-name()='part']/*[local-name()='text'])"/>
</xsl:element>
<!-- Note: CSAIL Assumption (and for now, generally):
The bibliographic citation is _not_ parsed further,
and one single 'text' element will contain it.
e.g. <text>Journal of Physics, v. 53, no. 9, pp. 34-55, Aug. 15, 2004</text>
-->
</xsl:when>
<!-- 2) DC relation._____ -->
<xsl:otherwise>
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">relation</xsl:attribute>
<xsl:choose>
<xsl:when test="./@type='series'">
<xsl:attribute name="qualifier">ispartofseries</xsl:attribute>
</xsl:when>
<xsl:when test="./@type='host'">
<xsl:attribute name="qualifier">ispartof</xsl:attribute>
</xsl:when>
<!-- 10 more... TODO
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODSmapping2MB.html
http://www.loc.gov/standards/mods/mods-outline.html#relatedItem
-->
</xsl:choose>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(*[local-name()='titleInfo']/*[local-name()='title'])"/>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- **** MODS identifier/@type ====> DC identifier.other **** -->
<xsl:template match="*[local-name()='identifier']"> <!-- [@type='series']"> -->
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">identifier</xsl:attribute>
<xsl:choose>
<xsl:when test="./@type='local'">
<xsl:attribute name="qualifier">other</xsl:attribute>
</xsl:when>
<xsl:when test="./@type='uri'">
<xsl:attribute name="qualifier">uri</xsl:attribute>
</xsl:when>
<!-- 6 (?) more... TODO
http://cwspace.mit.edu/docs/WorkActivity/Metadata/Crosswalks/MODSmapping2MB.html
http://www.loc.gov/standards/mods/mods-outline.html#identifier
(but see also MODS relatedItem[@type="host"]/part/text == identifier.citation)
-->
</xsl:choose>
<xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
<!-- **** MODS originInfo/publisher ====> DC publisher **** -->
<xsl:template match="*[local-name()='originInfo']/*[local-name()='publisher']">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">publisher</xsl:attribute> <xsl:attribute name="lang">en_US</xsl:attribute>
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,73 +0,0 @@
# Default MODS crosswalk configuration file. See class
# org.dspace.content.crosswalk.ModsCrosswalk for details.
#
# Revision: $Revision: 4869 $
#
# Date: $Date: 2010-04-13 21:32:16 +0100 (Tue, 13 Apr 2010) $
#
dc.contributor = <mods:name><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.contributor.advisor = <mods:name><mods:role><mods:roleTerm type="text">advisor</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.contributor.author = <mods:name><mods:role><mods:roleTerm type="text">author</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.contributor.editor = <mods:name><mods:role><mods:roleTerm type="text">editor</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.contributor.illustrator = <mods:name><mods:role><mods:roleTerm type="text">illustrator</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.contributor.other = <mods:name><mods:role><mods:roleTerm type="text">other</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.coverage.spatial = <mods:subject><mods:geographic>%s</mods:geographic></mods:subject> | mods:geographic/text()
dc.coverage.temporal = <mods:subject><mods:temporal>%s</mods:temporal></mods:subject> | mods:temporal/text()
dc.creator = <mods:name><mods:namePart>%s</mods:namePart></mods:name> | mods:namePart/text()
dc.date = <mods:originInfo><mods:dateOther encoding="iso8601">%s</mods:dateOther></mods:originInfo> | mods:dateOther/text()
dc.date.accessioned = <mods:extension><mods:dateAccessioned encoding="iso8601">%s</mods:dateAccessioned></mods:extension> | mods:dateAccessioned/text()
dc.date.available = <mods:extension><mods:dateAvailable encoding="iso8601">%s</mods:dateAvailable></mods:extension> | mods:dateAvailable/text()
dc.date.copyright = <mods:originInfo><mods:copyrightDate encoding="iso8601">%s</mods:copyrightDate></mods:originInfo> | mods:copyrightDate/text()
dc.date.created = <mods:originInfo><mods:dateCreated encoding="iso8601">%s</mods:dateCreated></mods:originInfo> | mods:dateCreated/text()
dc.date.issued = <mods:originInfo><mods:dateIssued encoding="iso8601">%s</mods:dateIssued></mods:originInfo> | mods:dateIssued/text()
dc.date.submitted = <mods:extension><mods:dateSubmitted encoding="iso8601">%s</mods:dateSubmitted></mods:extension> | mods:dateSubmitted/text()
dc.description = <mods:note>%s</mods:note> | text()
dc.description.abstract = <mods:abstract>%s</mods:abstract> | text()
dc.description.provenance = <mods:note type="provenance">%s</mods:note> | text()
dc.description.sponsorship = <mods:note type="sponsorship">%s</mods:note> | text()
dc.description.statementofresponsibility = <mods:note type="statement of responsibility">%s</mods:note> | text()
dc.description.tableofcontents = <mods:tableOfContents>%s</mods:tableOfContents> | text()
dc.description.uri = <mods:note xlink:simpleLink="%s">%s</mods:note> | @xlink:simpleLink|text()
dc.format = <mods:physicalDescription><mods:form>%s</mods:form></mods:physicalDescription> | mods:form/text()
dc.format.extent = <mods:physicalDescription><mods:extent>%s</mods:extent></mods:physicalDescription> | mods:extent/text()
dc.format.medium = <mods:physicalDescription><mods:form>%s</mods:form></mods:physicalDescription> | mods:form/text()
dc.format.mimetype = <mods:physicalDescription><mods:internetMediaType>%s</mods:internetMediaType></mods:physicalDescription> | mods:internetMediaType/text()
dc.identifier = <mods:identifier>%s</mods:identifier> | text()
dc.identifier.citation = <mods:relatedItem type="host"><mods:part><mods:text>%s</mods:text></mods:part></mods:relatedItem> | mods:part/mods:text/text()
dc.identifier.govdoc = <mods:identifier type="govdoc">%s</mods:identifier> | text()
dc.identifier.isbn = <mods:identifier type="isbn">%s</mods:identifier> | text()
dc.identifier.ismn = <mods:identifier type="ismn">%s</mods:identifier> | text()
dc.identifier.issn = <mods:identifier type="issn">%s</mods:identifier> | text()
dc.identifier.other = <mods:identifier type="local">%s</mods:identifier> | text()
dc.identifier.sici = <mods:identifier type="sici">%s</mods:identifier> | text()
dc.identifier.uri = <mods:identifier type="uri">%s</mods:identifier> | text()
dc.language = <mods:language><mods:languageTerm>%s</mods:languageTerm></mods:language> | mods:languageTerm/text()
dc.language.iso = <mods:language><mods:languageTerm authority="rfc3066">%s</mods:languageTerm></mods:language> | mods:languageTerm/text()
dc.publisher = <mods:originInfo><mods:publisher>%s</mods:publisher></mods:originInfo> | mods:publisher/text()
dc.relation = <mods:relatedItem><mods:titleInfo><mods:title>%s</mods:title></mods:titleInfo></mods:relatedItem> | mods:titleInfo/mods:title/text()
dc.relation.haspart = <mods:relatedItem type="constituent">%s</mods:relatedItem> | text()
dc.relation.hasversion = <mods:relatedItem type="otherVersion">%s</mods:relatedItem> | text()
dc.relation.isbasedon = <mods:relatedItem type="original">%s</mods:relatedItem> | text()
dc.relation.isformatof = <mods:relatedItem type="otherFormat">%s</mods:relatedItem> | text()
dc.relation.ispartof = <mods:relatedItem type="host">%s</mods:relatedItem> | text()
dc.relation.ispartofseries = <mods:relatedItem type="series">%s</mods:relatedItem> | text()
dc.relation.isreferencedby = <mods:relatedItem type="isReferencedBy">%s</mods:relatedItem> | text()
dc.relation.isreplacedby = <mods:relatedItem type="succeeding">%s</mods:relatedItem> | text()
dc.relation.isversionof = <mods:relatedItem type="otherVersion">%s</mods:relatedItem> | text()
dc.relation.replaces = <mods:relatedItem type="preceding">%s</mods:relatedItem> | text()
dc.relation.requires = <mods:note type="requires">%s</mods:note> | text()
dc.relation.uri = <mods:relatedItem><mods:location><mods:url>%s</mods:url></mods:location></mods:relatedItem> | mods:location/mods:url/text()
dc.rights = <mods:accessCondition type="useAndReproduction">%s</mods:accessCondition> | text()
dc.rights.uri = <mods:accessCondition xlink:simpleLink="%s">%s</mods:accessCondition> | @xlink:simpleLink|text()
dc.source = <mods:relatedItem type="original">%s</mods:relatedItem> | text()
dc.source.uri = <mods:relatedItem type="original" xlink:simpleLink="%s">%s</mods:relatedItem> | @xlink:simpleLink|text()
dc.subject = <mods:subject><mods:topic>%s</mods:topic></mods:subject> | mods:topic/text()
dc.subject.classification = <mods:classification>%s</mods:classification> | text()
dc.subject.ddc = <mods:classification authority="ddc">%s</mods:classification> | text()
dc.subject.lcc = <mods:classification authority="lcc">%s</mods:classification> | text()
dc.subject.lcsh = <mods:subject authority="lcsh"><mods:topic>%s</mods:topic></mods:subject> | mods:topic/text()
dc.subject.mesh = <mods:subject authority="mesh"><mods:topic>%s</mods:topic></mods:subject> | mods:topic/text()
dc.subject.other = <mods:subject authority="local"><mods:topic>%s</mods:topic></mods:subject> | mods:topic/text()
dc.title = <mods:titleInfo><mods:title>%s</mods:title></mods:titleInfo> | mods:title/text()
dc.title.alternative = <mods:titleInfo type="alternative"><mods:title>%s</mods:title></mods:titleInfo> | mods:title/text()
dc.type = <mods:genre>%s</mods:genre> | text()

View File

@@ -1,27 +0,0 @@
# <schema>.<element>.(<qualifier|*>) = element oai_dc
# you can map more then one metadata to the same oai_dc element,
# see for example (dc.contributor.editor, dc.contributor.advisor, etc.)
dc.title.* = title
dc.contributor.author = creator
dc.contributor = contributor
dc.contributor.editor = contributor
dc.contributor.advisor = contributor
dc.contributor.illustrator = contributor
dc.contributor.other = contributor
dc.date.* = date
dc.description = description
dc.description.abstract = description
dc.description.sponsorship = description
dc.description.statementofresponsibility = description
dc.description.tableofcontents = description
dc.description.uri = description
dc.identifier.* = identifier
dc.language.* = language
dc.publisher.* = publisher
dc.relation.* = relation
dc.rights.* = rights
dc.subject.* = subject
dc.format.* = format
dc.source.* = source
dc.coverage.* = coverage
dc.type.* = type

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dspace="http://www.dspace.org/xmlns/dspace/dim"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
version="1.0">
<!--
Incomplete proof-of-concept Example of
XSLT crosswalk from DIM (DSpace Intermediate Metadata) to
Qualified Dublin Core.
by William Reilly, aug. 05; mutilated by Larry Stone.
This is only fit for a simple smoke test of the XSLT-based
crosswalk plugin, do not use it for anthing more serious.
Revision: $Revision: 3705 $
Date: $Date: 2009-04-11 18:02:24 +0100 (Sat, 11 Apr 2009) $
-->
<xsl:template match="@* | node()">
<!-- XXX don't copy everything by default.
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
-->
</xsl:template>
<!-- http://wiki.dspace.org/DspaceIntermediateMetadata -->
<xsl:template match="dspace:dim">
<!-- http://dublincore.org/schemas/xmls/qdc/2003/04/02/qualifieddc.xsd -->
<xsl:element name="dcterms:qualifieddc">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="dspace:field[@element ='title']">
<!-- http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd -->
<xsl:element name="dc:title">
<xsl:value-of select="text()"/>
</xsl:element>
</xsl:template>
<xsl:template match="dspace:field[@element ='contributor' and @qualifier='author']">
<xsl:element name="dc:author">
<xsl:value-of select="text()"/>
</xsl:element>
</xsl:template>
<xsl:template match="dspace:field[@element ='contributor' and @qualifier='illustrator']">
<xsl:element name="dc:author">
<xsl:value-of select="text()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,151 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- sord-swap-ingest.xsl
*
* Copyright (c) 2007, Aberystwyth University
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* - Neither the name of the Centre for Advanced Software and
* Intelligent Systems (CASIS) nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
-->
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dim="http://www.dspace.org/xmlns/dspace/dim"
xmlns:epdcx="http://purl.org/eprint/epdcx/2006-11-16/"
version="1.0">
<!-- NOTE: This stylesheet is a work in progress, and does not
cover all aspects of the SWAP and EPDCX specification/schema.
It is used principally to demonstrate the SWORD ingest
process -->
<!-- This stylesheet converts incoming DC metadata in a SWAP
profile into the DSpace Interal Metadata format (DIM) -->
<!-- Catch all. This template will ensure that nothing
other than explicitly what we want to xwalk will be dealt
with -->
<xsl:template match="text()"></xsl:template>
<!-- match the top level descriptionSet element and kick off the
template matching process -->
<xsl:template match="/epdcx:descriptionSet">
<dim:dim>
<xsl:apply-templates/>
</dim:dim>
</xsl:template>
<!-- general matcher for all "statement" elements -->
<xsl:template match="/epdcx:descriptionSet/epdcx:description/epdcx:statement">
<!-- title element: dc.title -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/elements/1.1/title'">
<dim:field mdschema="dc" element="title">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
<!-- abstract element: dc.description.abstract -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/terms/abstract'">
<dim:field mdschema="dc" element="description" qualifier="abstract">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
<!-- creator element: dc.contributor.author -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/elements/1.1/creator'">
<dim:field mdschema="dc" element="contributor" qualifier="author">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
<!-- identifier element: dc.identifier.* -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/elements/1.1/identifier'">
<xsl:element name="dim:field">
<xsl:attribute name="mdschema">dc</xsl:attribute>
<xsl:attribute name="element">identifier</xsl:attribute>
<xsl:if test="epdcx:valueString[epdcx:sesURI]='http://purl.org/dc/terms/URI'">
<xsl:attribute name="qualifier">uri</xsl:attribute>
</xsl:if>
<xsl:value-of select="epdcx:valueString"/>
</xsl:element>
</xsl:if>
<!-- language element: dc.language.iso -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/elements/1.1/language' and ./@epdcx:vesURI='http://purl.org/dc/terms/RFC3066'">
<dim:field mdschema="dc" element="language" qualifier="rfc3066">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
<!-- item type element: dc.type -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/elements/1.1/type' and ./@epdcx:vesURI='http://purl.org/eprint/terms/Type'">
<xsl:if test="./@epdcx:valueURI='http://purl.org/eprint/type/JournalArticle'">
<dim:field mdschema="dc" element="type">
Journal Article
</dim:field>
</xsl:if>
</xsl:if>
<!-- date available element: dc.date.issued -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/dc/terms/available'">
<dim:field mdschema="dc" element="date" qualifier="issued">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
<!-- publication status element: dc.description.version -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/eprint/terms/status' and ./@epdcx:vesURI='http://purl.org/eprint/terms/Status'">
<xsl:if test="./@epdcx:valueURI='http://purl.org/eprint/status/PeerReviewed'">
<dim:field mdschema="dc" element="description" qualifier="version">
Peer Reviewed
</dim:field>
</xsl:if>
</xsl:if>
<!-- copyright holder element: dc.rights.holder -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/eprint/terms/copyrightHolder'">
<dim:field mdschema="dc" element="rights" qualifier="holder">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
<!-- bibliographic citation element: dc.identifier.citation -->
<xsl:if test="./@epdcx:propertyURI='http://purl.org/eprint/terms/bibliographicCitation'">
<dim:field mdschema="dc" element="identifier" qualifier="citation">
<xsl:value-of select="epdcx:valueString"/>
</dim:field>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,77 +0,0 @@
####### Schema declarations #######
#
# The form is:
# schema.<prefix> = <namespace URL>
#
# These will be added as: <link rel="schema.XXX" href="URL"/>
schema.DC = http://purl.org/dc/elements/1.1/
schema.DCTERMS = http://purl.org/dc/terms/
####### Metadata field mappings #######
#
# The form is:
# <dspace-schema>.<element>[.<qualifier>] = <output-schema>.<output-element>[,<scheme>]
#
# Where:
# dspace-schema - schema short name from DSpace metadata registry (e.g. 'dc')
# scheme - value for scheme="X" tag for <meta> written to XHTML header
#
# Note: where there is a custom qualifier for which no corresponding property
# exists in the list below, the crosswalk will remove the qualifier and try
# again with just the element.
#
# e.g. if a field exists in the database "dc.contributor.editor", and there
# is no dc.contributor.editor property below, the mapping for "dc.contributor"
# will be used. If an element in the item metadata record does not appear in
# the configuration, it is simply ignored; the emphasis here is on exposing
# standards-compliant metadata.
dc.contributor = DC.contributor
dc.contributor.author = DC.creator
dc.coverage.spatial = DCTERMS.spatial
dc.coverage.temporal = DCTERMS.temporal
dc.creator = DC.creator
dc.date = DC.date,DCTERMS.W3CDTF
dc.date.accessioned = DCTERMS.dateAccepted,DCTERMS.W3CDTF
dc.date.available = DCTERMS.available,DCTERMS.W3CDTF
dc.date.copyright = DCTERMS.dateCopyrighted,DCTERMS.W3CDTF
dc.date.created = DCTERMS.created,DCTERMS.W3CDTF
dc.date.issued = DCTERMS.issued,DCTERMS.W3CDTF
dc.identifier = DC.identifier
dc.identifier.citation = DCTERMS.bibliographicCitation
dc.identifier.uri = DC.identifier,DCTERMS.URI
dc.description = DC.description
dc.description.abstract = DCTERMS.abstract
dc.description.tableofcontents = DCTERMS.tableOfContents
dc.description.uri = DC.description,DCTERMS.URI
dc.format = DC.format
dc.format.extent = DCTERMS.extent
dc.format.medium = DCTERMS.medium
dc.language = DC.language
dc.language.iso = DC.language,DCTERMS.RFC1766
dc.publisher = DC.publisher
dc.relation = DC.relation
dc.relation.isformatof = DCTERMS.isFormatOf
dc.relation.ispartof = DCTERMS.isPartOf
dc.relation.haspart = DCTERMS.hasPart
dc.relation.isversionof = DCTERMS.isVersionOf
dc.relation.hasversion = DCTERMS.hasVersion
dc.relation.isreferencedby = DCTERMS.isReferencedBy
dc.relation.requires = DCTERMS.requires
dc.relation.replaces = DCTERMS.replaces
dc.relation.isreplacedby = DCTERMS.isReplacedBy
dc.relation.uri = DC.relation,DCTERMS.URI
dc.rights = DC.relation
dc.rights.uri = DC.rights,DCTERMS.URI
dc.source = DC.source
dc.source.uri = DC.source,DCTERMS.URI
dc.subject = DC.subject
dc.subject.ddc = DC.subject,DCTERMS.DDC
dc.subject.lcc = DC.subject,DCTERMS.LCC
dc.subject.lcsh = DC.subject,DCTERMS.LCSH
dc.subject.mesh = DC.subject,DCTERMS.MESH
dc.title = DC.title
dc.title.alternative = DCTERMS.alternative
dc.type = DC.type

View File

@@ -1,71 +0,0 @@
# DC Lib -> MODS mapping
# Very simple, might not work
contributor.advisor = <mods:name><mods:role><mods:roleTerm type="text">advisor</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name>
contributor.author = <mods:name><mods:role><mods:roleTerm type="text">author</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name>
contributor.editor = <mods:name><mods:role><mods:roleTerm type="text">editor</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name>
contributor.illustrator = <mods:name><mods:role><mods:roleTerm type="text">illustrator</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name>
contributor.other = <mods:name><mods:role><mods:roleTerm type="text">other</mods:roleTerm></mods:role><mods:namePart>%s</mods:namePart></mods:name>
contributor = <mods:name><mods:namePart>%s</mods:namePart></mods:name>
coverage.spatial = <mods:subject><mods:geographic>%s</mods:geographic></mods:subject>
coverage.temporal = <mods:subject><mods:temporal>%s</mods:temporal></mods:subject>
creator = <mods:name><mods:namePart>%s</mods:namePart></mods:name>
date.accessioned = <mods:extension><mods:dateAccessioned encoding="iso8601">%s</mods:dateAccessioned></mods:extension>
date.available = <mods:extension><mods:dateAvailable encoding="iso8601">%s</mods:dateAvailable></mods:extension>
date.copyright = <mods:originInfo><mods:copyrightDate encoding="iso8601">%s</mods:copyrightDate></mods:originInfo>
date.created = <mods:originInfo><mods:dateCreated encoding="iso8601">%s</mods:dateCreated></mods:originInfo>
date.issued = <mods:originInfo><mods:dateIssued encoding="iso8601">%s</mods:dateIssued></mods:originInfo>
date.submitted = <mods:extension><mods:dateSubmitted encoding="iso8601">%s</mods:dateSubmitted></mods:extension>
date = <mods:originInfo><mods:dateOther encoding="iso8601">%s</mods:dateOther></mods:originInfo>
description.abstract = <mods:abstract>%s</mods:abstract>
description.provenance = <mods:note type="provenance">%s</mods:note>
description.sponsorship = <mods:note type="sponsorship">%s</mods:note>
description.statementofresponsibility = <mods:note type="statement of responsibility">%s</mods:note>
description.tableofcontents = <mods:tableOfContents>%s</mods:tableOfContents>
description.uri = <mods:note xlink:simpleLink="%s">%s</mods:note>
description = <mods:note>%s</mods:note>
format.extent = <mods:physicalDescription><mods:extent>%s</mods:extent></mods:physicalDescription>
format.medium = <mods:physicalDescription><mods:form>%s</mods:form></mods:physicalDescription>
format.mimetype = <mods:physicalDescription><mods:internetMediaType>%s</mods:internetMediaType></mods:physicalDescription>
format = <mods:physicalDescription><mods:form>%s</mods:form></mods:physicalDescription>
identifier.citation = <mods:relatedItem type="host"><mods:part><mods:text>%s</mods:text></mods:part></mods:relatedItem>
identifier.govdoc = <mods:identifier type="govdoc">%s</mods:identifier>
identifier.isbn = <mods:identifier type="isbn">%s</mods:identifier>
identifier.ismn = <mods:identifier type="ismn">%s</mods:identifier>
identifier.issn = <mods:identifier type="issn">%s</mods:identifier>
identifier.other = <mods:identifier type="local">%s</mods:identifier>
identifier.sici = <mods:identifier type="sici">%s</mods:identifier>
identifier.uri = <mods:identifier type="uri">%s</mods:identifier>
identifier = <mods:identifier>%s</mods:identifier>
language.iso = <mods:language><mods:languageTerm authority="rfc3066">%s</mods:languageTerm></mods:language>
language = <mods:language><mods:languageTerm>%s</mods:languageTerm></mods:language>
publisher = <mods:originInfo><mods:publisher>%s</mods:publisher></mods:originInfo>
relation.haspart = <mods:relatedItem type="constituent">%s</mods:relatedItem>
relation.hasversion = <mods:relatedItem type="otherVersion">%s</mods:relatedItem>
relation.isbasedon = <mods:relatedItem type="original">%s</mods:relatedItem>
relation.isformatof = <mods:relatedItem type="otherFormat">%s</mods:relatedItem>
relation.ispartof = <mods:relatedItem type="host">%s</mods:relatedItem>
relation.ispartofseries = <mods:relatedItem type="series">%s</mods:relatedItem>
relation.isreferencedby = <mods:relatedItem type="isReferencedBy">%s</mods:relatedItem>
relation.isreplacedby = <mods:relatedItem type="succeeding">%s</mods:relatedItem>
relation.isversionof = <mods:relatedItem type="otherVersion">%s</mods:relatedItem>
relation.replaces = <mods:relatedItem type="preceding">%s</mods:relatedItem>
relation.requires = <mods:note type="requires">%s</mods:note>
relation.uri = <mods:relatedItem><mods:location><mods:url>%s</mods:url></mods:location></mods:relatedItem>
relation = <mods:relatedItem><mods:title>%s</mods:title></mods:relatedItem>
rights.uri = <mods:accessCondition xlink:simpleLink="%s">%s</mods:accessCondition>
rights = <mods:accessCondition type="useAndReproduction">%s</mods:accessCondition>
source.uri = <mods:relatedItem type="original" xlink:simpleLink="%s">%s</mods:relatedItem>
source = <mods:relatedItem type="original">%s</mods:relatedItem>
subject.classification = <mods:classification>%s</mods:classification>
subject.ddc = <mods:classification authority="ddc">%s</mods:classification>
subject.lcc = <mods:classification authority="lcc">%s</mods:classification>
subject.lcsh = <mods:subject authority="lcsh">%s</mods:subject>
subject.mesh = <mods:subject authority="mesh">%s</mods:subject>
subject.other = <mods:subject authority="local">%s</mods:subject>
subject = <mods:subject><mods:topic>%s</mods:topic></mods:subject>
title.alternative = <mods:titleInfo type="alternative">%s</mods:titleInfo>
title = <mods:titleInfo>%s</mods:titleInfo>
type = <mods:genre>%s</mods:genre>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" ?>
<Context debug="0" reloadable="true" crossContext="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Parameter name="dspace-config" override="false"
value="${dspace.dir}/config/dspace.cfg"
description="Path to the DSpace configuration file." />
<Parameter name="properties" override="false"
value="${dspace.dir}/config/oaicat.properties"
description="The location of the oaicat.properties file." />
</Context>

View File

@@ -1,37 +0,0 @@
NOTE: PLACE YOUR OWN LICENSE HERE
This sample license is provided for informational purposes only.
NON-EXCLUSIVE DISTRIBUTION LICENSE
By signing and submitting this license, you (the author(s) or copyright
owner) grants to DSpace University (DSU) the non-exclusive right to reproduce,
translate (as defined below), and/or distribute your submission (including
the abstract) worldwide in print and electronic format and in any medium,
including but not limited to audio or video.
You agree that DSU may, without changing the content, translate the
submission to any medium or format for the purpose of preservation.
You also agree that DSU may keep more than one copy of this submission for
purposes of security, back-up and preservation.
You represent that the submission is your original work, and that you have
the right to grant the rights contained in this license. You also represent
that your submission does not, to the best of your knowledge, infringe upon
anyone's copyright.
If the submission contains material for which you do not hold copyright,
you represent that you have obtained the unrestricted permission of the
copyright owner to grant DSU the rights required by this license, and that
such third-party owned material is clearly identified and acknowledged
within the text or content of the submission.
IF THE SUBMISSION IS BASED UPON WORK THAT HAS BEEN SPONSORED OR SUPPORTED
BY AN AGENCY OR ORGANIZATION OTHER THAN DSU, YOU REPRESENT THAT YOU HAVE
FULFILLED ANY RIGHT OF REVIEW OR OTHER OBLIGATIONS REQUIRED BY SUCH
CONTRACT OR AGREEMENT.
DSU will clearly identify your name(s) as the author(s) or owner(s) of the
submission, and will not make any alteration, other than as allowed by this
license, to your submission.

File diff suppressed because it is too large Load Diff

View File

@@ -1,78 +0,0 @@
# DSpace information
# the year and month to start creating reports from
# - year as four digits (e.g. 2005)
# - month as a number (e.g. January is 1, December is 12)
start.year = 2005
start.month = 1
# actions to place in the general summary
general.summary=archive_item
general.summary=view_bitstream
general.summary=view_item
general.summary=view_collection
general.summary=view_community
general.summary=login
general.summary=search
general.summary=reject_licence
general.summary=oai_request
# words to exclude from the search words report
exclude.word=the
exclude.word=of
exclude.word=what
exclude.word=and
exclude.word=in
exclude.word=on
exclude.word=to
exclude.word=as
exclude.word=for
exclude.word=were
exclude.word=be
exclude.word=his
exclude.word=all
exclude.word=or
# search types that DSpace supports which should be excluded from the search
# words report
exclude.type=title:
exclude.type=author:
exclude.type=keyword:
exclude.type=identifier:
exclude.type=abstract:
exclude.type=series:
# characters to exclude from the search words report. These need to be
# pre-escaped for interpretation by a regular expression engine
exclude.character=)
exclude.character="
exclude.character=(
exclude.character='
exclude.character=,
exclude.character=*
exclude.character=+
exclude.character=-
exclude.character=.
exclude.character=?
exclude.character=/
# The item types in the archive that you need number breakdowns on
item.type=Thesis or Dissertation
item.type=Preprint
item.type=Research Paper
# floor values (don't display things that have been activated fewer times
# than this) for the reports
item.floor=20
search.floor=5
# limit the number of lookups of titles and authors to the first X. Lookup
# invokes the java environment so has quite an impact on performance.
item.lookup=10
# do we want to show email addresses, and if not, how do we represent the user
# data. We have 3 options: on, alias, off. Alias distinguishes between
# individual users without disclosing email addresses. Note: later we may
# support an "id" option, which replaces the address with the db id of the
# eperson account.
user.email=alias

View File

@@ -1,103 +0,0 @@
# Log file action to human readable action map file
# FIXME: these are the same action but are spelled differently. Why?
reject_license=Licence Rejections
reject_licence=Licence Rejections
archive_item=Items Archived
view_bitstream=Bitstream Views
view_item=Item Views
view_collection=Collection Views
view_community=Community Views
login=User Logins
search=Searches Performed
oai_request=OAI Requests
items_by_author=Browse Items by Author
browse_author=Browse by Author
browse_title=Browse by Title
browse_date=Browse by Date
update_item=Item Updated
view_community_list=Community List Views
update_workspace_item=Workspace Item Views
update_bitstream=Bitstream Updates
add_bundle=Bundles Added
update_workflow_item=Workflow Item Updates
update_group=EPerson Group Updates
create_bitstream=Bitstreams Created
view_mydspace=User Home Page Views
update_bundle=Bundle Updates
add_bitstream=Bitstreams Added
create_bundle=Bundles Created
update_collection=Collection Updates
database_error=Database Errors
view_editcommunities=Community Edits
invalid_id=Invalid ID Requests
create_item=Items Created
view_workflow=Workflow Views
delete_workspace_item=Workspace Items Deleted
create_group=EPerson Groups Created
create_workspace_item=Workspace Items Created
select_collection=Collection to Submit to Selected
start_workflow=Workflow Starts
accept_license=Licences Accepted
claim_task=Tasks Claimed
add_item=Items Added
install_item=Items Installed
advance_workflow=Workflow Advanced One Stage
update_eperson=EPerson Record Updated
delete_bitstream=Bitstreams Deleted
remove_bitstream=Bitstreams Removed
remove_bundle=Bundles Removed
delete_bundle=Bundles Deleted
sendtoken_register=Registration Tokens Sent
failed_login=User Login Failures
update_community=Community Updates
remove_logo=Logos Removed
create_eperson=EPerson Accounts Created
usedtoken_register=Registration Token Used
oai_error=OAI Error
set_logo=Logos Uploaded
logout=User Logouts
delete_item=Items Deleted
create_collection=Collections Created
add_collection=Collections Added
view_own_submissions=User's Own Submissions Viewed
unclaim_workflow=Workflow Task Returned to Pool
edit_workflow_item=Workflow Items Edited
create_template_item=Item Templates Created
confirm_removal=Confirmations of Workspace Item Removal
remove_submission=Submissions Removed
delete_group=EPerson Groups Deleted
authorize_error=Authorisation Errors
return_to_workspace=Workflow Items Rejected to Workspace
abort_workflow=Workflow Aborted
subscribe=Subscribe for E-Mail Notification of Collection
delete_collection=Collections Deleted
remove_collection=Collections Removed
view_profile=User Profile Views
remove_item=Items Removed
unknown_email=E-Mail Address Unrecognised
integrity_error=System Integrity Error
create_community=Communities Created
upload_error=File Upload Errors
get_reject_reason=Reason for Workspace Item Rejection Completed
usedtoken_forgotpw=Forgotten Password Reset
already_registered=Attempted Re-register of Registered User
unsubscribe=Unsubscribe from E-Mail Updates
reject_workflow=Reject Workspace Item from Workflow
admin_only=Administrator Only Notifications
error_emailing=Sending E-Mail Error
sendtoken_forgotpw=Notifications of Forgotten Password
ERROR=System Error
search_exception=Lucene Search Exception
notifyOfArchive=Notification of Archived Item Sent
delete_community=Communities Deleted
bad_email=Bad E-Mail Addresses Supplied
bad_dc=Bad Dublin Core Field Error
add_subcommunity=Sub Community Added
remove_subcommunity=Sub Community Removed
show_feedback_form=Feedback Form Displayed
create_dc_type=New Dublin Core Type Created
remove_template_item=Item Template Removed
withdraw_item=Item Withdrawn
download_export_archive = Download Export Archive

View File

@@ -1,16 +0,0 @@
# Email sent to DSpace users when they forget their password.
#
# Parameters: {0} is expanded to a special URL
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: Change Password Request
To change the password for your DSpace account, please click the link
below:
{0}
If you need assistance with your account, please email
dspace-help@myu.edu or call us at xxx-555-xxxx.
The DSpace Team

View File

@@ -1,19 +0,0 @@
# Email sent to DSpace users when they successfully export an item or collection.
#
# Parameters: {0} the export error
# {1} the URL to the feedback page
#
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace - The item export you requested was not completed.
The item export you requested was not completed, due to the following reason:
{0}
For more information you may contact your system administrator:
{1}
The DSpace Team

View File

@@ -1,18 +0,0 @@
# Email sent to DSpace users when they successfully export an item or collection.
#
# Parameters: {0} is expanded to a special URL
# {1} configurable time (hours) an export file will be kept
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace - Item export requested is ready for download
The item export you requested from the repository is now ready for download.
You may download the compressed file using the following link:
{0}
This file will remain available for at least {1} hours.
The DSpace Team

View File

@@ -1,26 +0,0 @@
# E-mail sent with the information filled out in a feedback form.
#
# Parameters: {0} current date
# {1} email address that the user provided
# {2} logged in as
# {3} page that the user was on when they selected feedback
# {4} User-Agent HTTP Header
# {5} Session Id
# {6} The user's comments
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: Feedback Form Information
Comments:
{6}
Date: {0}
Email: {1}
Logged In As: {2}
Referring Page: {3}
User Agent: {4}
Session: {5}

View File

@@ -1,20 +0,0 @@
# E-mail sent to designated address when a harvest process fails
#
# Parameters: {0} Collection id
# {1} Date & time
# {2} Status flag
# {3} Exception message
# {4} Exception stack trace
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace: Harvesting Error
Collection {0} failed on harvest:
Date: {1}
Status Flag: {2}
{3}
Exception:
{4}

View File

@@ -1,24 +0,0 @@
# E-mail sent to designated address when an internal server error occurs
#
# Parameters: {0} DSpace server URL
# {1} Date & time
# {2} Session ID
# {3} URL + HTTP parameters, if any
# {4} Exception stack trace
# {5} User details
# {6} IP address
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace: Internal Server Error
An internal server error occurred on {0}:
Date: {1}
Session ID: {2}
User: {5}
IP address: {6}
{3}
Exception:
{4}

View File

@@ -1,16 +0,0 @@
# E-mail sent to DSpace users when they register for an account
#
# Parameters: {0} is expanded to a special registration URL
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace Account Registration
To complete registration for a DSpace account, please click the link
below:
{0}
If you need assistance with your account, please email
dspace-help@myu.edu or call us at xxx-555-xxxx.
The DSpace Team

View File

@@ -1,17 +0,0 @@
# Registration notification email
#
# Parameters: {0} The name of the DSpace instance
# {1} The URL of the DSpace instance
# {2} Name:
# {3} Email:
# {4} Registration Date:
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace: Registration Notification
A new user has registered on {0} at {1}:
Name: {2}
Email: {3}
Date: {4}

View File

@@ -1,21 +0,0 @@
# Item Archived email message
#
# {0} Title of submission
# {1} Name of collection
# {2} handle
#
Subject: DSpace: Submission Approved and Archived
You submitted: {0}
To collection: {1}
Your submission has been accepted and archived in DSpace,
and it has been assigned the following identifier:
{2}
Please use this identifier when citing your submission.
Many thanks!
DSpace

View File

@@ -1,23 +0,0 @@
# Rejection email message
#
# {0} Title of submission
# {1} Name of collection
# {2} Name of the rejector
# {3} Reason for the rejection
# {4} Link to 'My DSpace' page
#
Subject: DSpace: Submission Rejected
You submitted: {0}
To collection: {1}
Your submission has been rejected by {2}
with the following explanation:
{3}
Your submission has not been deleted. You can access it from your
"My DSpace" page: {4}
DSpace

View File

@@ -1,24 +0,0 @@
# Workflow task email message
#
# {0} Title of submission
# {1} Name of collection
# {2} submitter's name
# {3} Description of task
# {4} link to 'my DSpace' page
#
Subject: DSpace: You have a new task
A new item has been submitted:
Title: {0}
Collection: {1}
Submitted by: {2}
{3}
To claim this task, please visit your "My DSpace"
page: {4}
Many thanks!
DSpace

View File

@@ -1,12 +0,0 @@
# E-mail sent to DSpace users when new items appear in collections they are
# subscribed to
#
# Parameters: {0} is the details of the new collections and items
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace Subscription
New items are available in the collections you have subscribed to:
{0}
DSpace

View File

@@ -1,26 +0,0 @@
# E-mail sent with the information filled out in a suggest form.
#
# Parameters: {0} recipient name
# {1} sender name
# {2} repository name
# {3} item title
# {4} item handle URI
# {5} item local URL - may be used in lieu of {4} if not using handle server
# {6} collection name
# {7} sender message
# See org.dspace.core.Email for information on the format of this file.
#
Subject: An item of interest from DSpace
Hello {0}:
{1} requested we send you this email regarding an item available in {2}.
Title: {3}
Location: {5}
In Collection: {6}
Personal Message: {7}
The DSpace digital repository system captures, stores, indexes, preserves, and distributes digital material.
For more information, visit www.dspace.org

View File

@@ -1,51 +0,0 @@
<!-- DSpace Custom Submit input form definition language -->
<!ELEMENT input-forms (form-map, form-definitions, form-value-pairs) >
<!ELEMENT form-map (name-map)* >
<!ELEMENT name-map EMPTY >
<!ATTLIST name-map
collection-handle CDATA #REQUIRED
form-name NMTOKEN #REQUIRED>
<!ELEMENT form-definitions (form)+ >
<!ELEMENT form (page)+ >
<!ATTLIST form name NMTOKEN #REQUIRED>
<!ELEMENT page (field)+ >
<!ATTLIST page number NMTOKEN #REQUIRED>
<!ELEMENT field (dc-schema, dc-element, dc-qualifier?, repeatable?, label, input-type, hint, required?, vocabulary?) >
<!ELEMENT dc-schema (#PCDATA) >
<!ELEMENT dc-element (#PCDATA) >
<!ELEMENT dc-qualifier (#PCDATA) >
<!ELEMENT repeatable (#PCDATA) >
<!ELEMENT label (#PCDATA) >
<!ELEMENT input-type (#PCDATA)>
<!ELEMENT hint (#PCDATA) >
<!ELEMENT required (#PCDATA)>
<!ELEMENT form-value-pairs (value-pairs)* >
<!ELEMENT value-pairs (pair)+ >
<!-- ***
To assign a particular 'value-pairs' list to a particular dropdown 'input-type'
field, as found on a particular form, put:
- value-pairs/@value-pairs-name string into
form/page/field/input-type/@value-pairs-name
- form/page/field/@DCelement + '_' + form/field/DCqualifier into
value-pairs/@dc-term
(e.g. 'language_iso')
-->
<!ATTLIST value-pairs value-pairs-name CDATA #REQUIRED
dc-term CDATA #REQUIRED
>
<!ELEMENT pair (displayed-value,stored-value) >
<!ELEMENT displayed-value (#PCDATA)>
<!ELEMENT stored-value (#PCDATA)>
<!ATTLIST input-type value-pairs-name CDATA #IMPLIED>
<!ELEMENT vocabulary (#PCDATA) >

View File

@@ -1,402 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE input-forms SYSTEM "input-forms.dtd">
<input-forms>
<!-- The form-map maps collection handles to forms. DSpace does not -->
<!-- require that a collection's name be unique, even within a community .-->
<!-- DSpace does however insure that each collection's handle is unique. -->
<!-- Form-map provides the means to associate a unique collection name -->
<!-- with a form. The form-map also provides the special handle "default" -->
<!-- (which is never a collection), here mapped to "traditional". Any -->
<!-- collection which does not appear in this map will be associated with -->
<!-- the mapping for handle "default". -->
<form-map>
<name-map collection-handle="default" form-name="traditional" />
</form-map>
<!-- The form-definitions map lays out the detailed definition of all the -->
<!-- submission forms.Each separate form set has a unique name as an -->
<!-- attribute. This name matches one of the names in the form-map. One -->
<!-- named form set has the name "traditional"; as this name suggests, -->
<!-- it is the old style and is also the default, which gets used when -->
<!-- the specified collection has no correspondingly named form set. -->
<!-- -->
<!-- Each form set contains an ordered set of pages; each page defines -->
<!-- one submission metadata entry screen. Each page has an ordered list -->
<!-- of field definitions, Each field definition corresponds to one -->
<!-- metatdata entry (a so-called row), which has a DC element name, a -->
<!-- displayed label, a text string prompt which is called a hint , and -->
<!-- an input-type. Each field also may hold optional elements: DC -->
<!-- qualifier name, a repeatable flag, and a text string whose presence -->
<!-- serves as a 'this field is required' flag. -->
<form-definitions>
<form name="traditional">
<page number="1">
<field>
<dc-schema>dc</dc-schema>
<dc-element>contributor</dc-element>
<dc-qualifier>author</dc-qualifier>
<repeatable>true</repeatable>
<label>Authors</label>
<input-type>name</input-type>
<hint>Enter the names of the authors of this item below.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>title</dc-element>
<dc-qualifier></dc-qualifier>
<repeatable>false</repeatable>
<label>Title</label>
<input-type>onebox</input-type>
<hint>Enter the main title of the item.</hint>
<required>You must enter a main title for this item.</required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>title</dc-element>
<dc-qualifier>alternative</dc-qualifier>
<repeatable>true</repeatable>
<label>Other Titles</label>
<input-type>onebox</input-type>
<hint>If the item has any alternative titles, please enter them below.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>date</dc-element>
<dc-qualifier>issued</dc-qualifier>
<repeatable>false</repeatable>
<label>Date of Issue</label>
<input-type>date</input-type>
<hint>Please give the date of previous publication or public distribution
below. You can leave out the day and/or month if they aren't
applicable.</hint>
<required>You must enter at least the year.</required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>publisher</dc-element>
<dc-qualifier></dc-qualifier>
<repeatable>false</repeatable>
<label>Publisher</label>
<input-type>onebox</input-type>
<hint>Enter the name of the publisher of the previously issued instance of this item.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>identifier</dc-element>
<dc-qualifier>citation</dc-qualifier>
<repeatable>false</repeatable>
<label>Citation</label>
<input-type>onebox</input-type>
<hint>Enter the standard citation for the previously issued instance of this item.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>relation</dc-element>
<dc-qualifier>ispartofseries</dc-qualifier>
<repeatable>true</repeatable>
<label>Series/Report No.</label>
<input-type>series</input-type>
<hint>Enter the series and number assigned to this item by your community.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>identifier</dc-element>
<dc-qualifier></dc-qualifier>
<!-- An input-type of qualdrop_value MUST be marked as repeatable -->
<repeatable>true</repeatable>
<label>Identifiers</label>
<input-type value-pairs-name="common_identifiers">qualdrop_value</input-type>
<hint>If the item has any identification numbers or codes associated with
it, please enter the types and the actual numbers or codes below.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>type</dc-element>
<dc-qualifier></dc-qualifier>
<repeatable>true</repeatable>
<label>Type</label>
<input-type value-pairs-name="common_types">dropdown</input-type>
<hint> Select the type(s) of content of the item. To select more than one value in the list, you may have to hold down the "CTRL" or "Shift" key.</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>language</dc-element>
<dc-qualifier>iso</dc-qualifier>
<repeatable>false</repeatable>
<label>Language</label>
<input-type value-pairs-name="common_iso_languages">dropdown</input-type>
<hint>Select the language of the main content of the item. If the language does not appear in the list below, please select 'Other'. If the content does not really have a language (for example, if it is a dataset or an image) please select 'N/A'.</hint>
<required></required>
</field>
</page>
<page number="2">
<field>
<dc-schema>dc</dc-schema>
<dc-element>subject</dc-element>
<dc-qualifier></dc-qualifier>
<!-- An input-type of twobox MUST be marked as repeatable -->
<repeatable>true</repeatable>
<label>Subject Keywords</label>
<input-type>twobox</input-type>
<hint> Enter appropriate subject keywords or phrases below. </hint>
<required></required>
<vocabulary>srsc</vocabulary>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>description</dc-element>
<dc-qualifier>abstract</dc-qualifier>
<repeatable>false</repeatable>
<label>Abstract</label>
<input-type>textarea</input-type>
<hint> Enter the abstract of the item below. </hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>description</dc-element>
<dc-qualifier>sponsorship</dc-qualifier>
<repeatable>false</repeatable>
<label>Sponsors</label>
<input-type>textarea</input-type>
<hint> Enter the names of any sponsors and/or funding codes in the box below. </hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>description</dc-element>
<dc-qualifier></dc-qualifier>
<repeatable>false</repeatable>
<label>Description</label>
<input-type>textarea</input-type>
<hint> Enter any other description or comments in this box. </hint>
<required></required>
</field>
</page>
</form>
<form name="one">
<page number="1">
<field>
<dc-schema>dc</dc-schema>
<dc-element>contributor</dc-element>
<dc-qualifier>author</dc-qualifier>
<repeatable>true</repeatable>
<label>One: Authors</label>
<input-type>name</input-type>
<hint>Enter the names of the authors of this item below.</hint>
<required></required>
</field>
</page>
</form>
</form-definitions>
<!-- form-value-pairs populate dropdown and qualdrop-value lists. -->
<!-- The form-value-pairs element holds child elements named 'value-pairs' -->
<!-- A 'value-pairs' element has a value-pairs-name and a dc-term -->
<!-- attribute. The dc-term attribute specifies which to which Dublin Core -->
<!-- Term this set of value-pairs applies. -->
<!-- Current dc-terms are: identifier-pairs, type-pairs, and -->
<!-- language_iso-pairs. The name attribute matches a name -->
<!-- in the form-map, above. -->
<!-- A value-pair contains one 'pair' for each value displayed in the list -->
<!-- Each pair contains a 'displayed-value' element and a 'stored-value' -->
<!-- element. A UI list displays the displayed-values, but the program -->
<!-- stores the associated stored-values in the database. -->
<form-value-pairs>
<value-pairs value-pairs-name="common_identifiers" dc-term="identifier">
<pair>
<displayed-value>ISSN</displayed-value>
<stored-value>issn</stored-value>
</pair>
<pair>
<displayed-value>Other</displayed-value>
<stored-value>other</stored-value>
</pair>
<pair>
<displayed-value>ISMN</displayed-value>
<stored-value>ismn</stored-value>
</pair>
<pair>
<displayed-value>Gov't Doc #</displayed-value>
<stored-value>govdoc</stored-value>
</pair>
<pair>
<displayed-value>URI</displayed-value>
<stored-value>uri</stored-value>
</pair>
<pair>
<displayed-value>ISBN</displayed-value>
<stored-value>isbn</stored-value>
</pair>
</value-pairs>
<value-pairs value-pairs-name="common_types" dc-term="type">
<pair>
<displayed-value>Animation</displayed-value>
<stored-value>Animation</stored-value>
</pair>
<pair>
<displayed-value>Article</displayed-value>
<stored-value>Article</stored-value>
</pair>
<pair>
<displayed-value>Book</displayed-value>
<stored-value>Book</stored-value>
</pair>
<pair>
<displayed-value>Book chapter</displayed-value>
<stored-value>Book chapter</stored-value>
</pair>
<pair>
<displayed-value>Dataset</displayed-value>
<stored-value>Dataset</stored-value>
</pair>
<pair>
<displayed-value>Learning Object</displayed-value>
<stored-value>Learning Object</stored-value>
</pair>
<pair>
<displayed-value>Image</displayed-value>
<stored-value>Image</stored-value>
</pair>
<pair>
<displayed-value>Image, 3-D</displayed-value>
<stored-value>Image, 3-D</stored-value>
</pair>
<pair>
<displayed-value>Map</displayed-value>
<stored-value>Map</stored-value>
</pair>
<pair>
<displayed-value>Musical Score</displayed-value>
<stored-value>Musical Score</stored-value>
</pair>
<pair>
<displayed-value>Plan or blueprint</displayed-value>
<stored-value>Plan or blueprint</stored-value>
</pair>
<pair>
<displayed-value>Preprint</displayed-value>
<stored-value>Preprint</stored-value>
</pair>
<pair>
<displayed-value>Presentation</displayed-value>
<stored-value>Presentation</stored-value>
</pair>
<pair>
<displayed-value>Recording, acoustical</displayed-value>
<stored-value>Recording, acoustical</stored-value>
</pair>
<pair>
<displayed-value>Recording, musical</displayed-value>
<stored-value>Recording, musical</stored-value>
</pair>
<pair>
<displayed-value>Recording, oral</displayed-value>
<stored-value>Recording, oral</stored-value>
</pair>
<pair>
<displayed-value>Software</displayed-value>
<stored-value>Software</stored-value>
</pair>
<pair>
<displayed-value>Technical Report</displayed-value>
<stored-value>Technical Report</stored-value>
</pair>
<pair>
<displayed-value>Thesis</displayed-value>
<stored-value>Thesis</stored-value>
</pair>
<pair>
<displayed-value>Video</displayed-value>
<stored-value>Video</stored-value>
</pair>
<pair>
<displayed-value>Working Paper</displayed-value>
<stored-value>Working Paper</stored-value>
</pair>
<pair>
<displayed-value>Other</displayed-value>
<stored-value>Other</stored-value>
</pair>
</value-pairs>
<!-- default language order: (from dspace 1.2.1)
"en_US", "en", "es", "de", "fr", "it", "ja", "zh", "other", ""
-->
<value-pairs value-pairs-name="common_iso_languages" dc-term="language_iso">
<pair>
<displayed-value>N/A</displayed-value>
<stored-value></stored-value>
</pair>
<pair>
<displayed-value>English (United States)</displayed-value>
<stored-value>en_US</stored-value>
</pair>
<pair>
<displayed-value>English</displayed-value>
<stored-value>en</stored-value>
</pair>
<pair>
<displayed-value>Spanish</displayed-value>
<stored-value>es</stored-value>
</pair>
<pair>
<displayed-value>German</displayed-value>
<stored-value>de</stored-value>
</pair>
<pair>
<displayed-value>French</displayed-value>
<stored-value>fr</stored-value>
</pair>
<pair>
<displayed-value>Italian</displayed-value>
<stored-value>it</stored-value>
</pair>
<pair>
<displayed-value>Japanese</displayed-value>
<stored-value>ja</stored-value>
</pair>
<pair>
<displayed-value>Chinese</displayed-value>
<stored-value>zh</stored-value>
</pair>
<pair>
<displayed-value>(Other)</displayed-value>
<stored-value>other</stored-value>
</pair>
</value-pairs>
</form-value-pairs>
</input-forms>

View File

@@ -1,35 +0,0 @@
<!-- DSpace Custom Item Submission Process definition language -->
<!-- -->
<!-- This DTD defines the format for the DSpace -->
<!-- 'config/item-submission.xml' configuration file -->
<!-- Root element is 'item-submission' -->
<!ELEMENT item-submission (submission-map, step-definitions, submission-definitions) >
<!-- 'submission-map' must contain one or more 'name-map' nodes -->
<!ELEMENT submission-map (name-map+) >
<!ELEMENT name-map EMPTY >
<!ATTLIST name-map
collection-handle CDATA #REQUIRED
submission-name NMTOKEN #REQUIRED>
<!-- 'step-definitions' must contain at least one 'step' node -->
<!-- (The "select collection" step *must* be here) -->
<!ELEMENT step-definitions (step+) >
<!ELEMENT step (heading?, processing-class, jspui-binding?, xmlui-binding?, workflow-editable?) >
<!ATTLIST step id NMTOKEN #IMPLIED>
<!ELEMENT heading (#PCDATA) >
<!ELEMENT processing-class (#PCDATA)>
<!ELEMENT jspui-binding (#PCDATA)>
<!ELEMENT xmlui-binding (#PCDATA)>
<!ELEMENT workflow-editable (#PCDATA)>
<!-- 'submission-definitions' must contain at least one -->
<!-- 'submission-process' node -->
<!ELEMENT submission-definitions (submission-process+)>
<!ELEMENT submission-process (step+)>
<!ATTLIST submission-process name NMTOKEN #REQUIRED>

View File

@@ -1,234 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE item-submission SYSTEM "item-submission.dtd">
<!-- Configurable Submission configuration file -->
<!-- This XML configuration file allows you to configure the ordering -->
<!-- and number of the steps that occur in the Item Submission Process. -->
<item-submission>
<!-- The process-map maps collection handles to a particular Item -->
<!-- Submission Process. This requires that a collection's name be -->
<!-- unique, even within a community. DSpace does however insure that each-->
<!-- collection's handle is unique. Process-map provides the means to -->
<!-- associate a unique collection name with an Item Submission process. -->
<!-- The process-map also provides the special handle "default" (which is -->
<!-- never a collection), here mapped to "traditional". Any collection -->
<!-- which does not appear in this map will be associated with the mapping-->
<!-- for handle "default". -->
<submission-map>
<name-map collection-handle="default" submission-name="traditional" />
</submission-map>
<!-- The 'step-definitions' allows you to define steps which you may wish -->
<!-- to "share" amongst multiple submission-item definitions. In order to-->
<!-- share the same step definition, you can refer to it by its unique id -->
<!-- defined in this section. EVERY 'step' in this section MUST have a -->
<!-- unique identifier in the 'id' attribute! -->
<!-- -->
<!-- Each <step> REQUIRES the following attributes (@) and properties: -->
<!-- @id - The unique identifier for this step -->
<!-- -->
<!-- <processing-class> - The class which will process all information for-->
<!-- this step. The class must extend -->
<!-- 'org.dspace.submit.AbstractProcessingStep' -->
<!-- (or one of the org.dspace.submit.step.* classes) -->
<!-- This property should reference the full path of the class-->
<!-- (e.g. org.dspace.submit.step.MyCustomStep) -->
<!-- -->
<!-- The following properties are OPTIONAL for each <step>: -->
<!-- <heading> - References the message key, from the -->
<!-- Messages.properties file (JSP-UI) or messages.xml -->
<!-- (XML-UI) which will be used as this step's heading in -->
<!-- the progress-bar. If unspecified, the step does not -->
<!-- show up in the Progress Bar. Keys in the <heading> -->
<!-- are prefixed as follows in the appropriate -->
<!-- "messages" file: -->
<!-- XML-UI: "xmlui.Submission." prefix -->
<!-- JSP-UI: "jsp." prefix -->
<!-- <jspui-binding> - JSP-UI binding step class which will generate the JSP-->
<!-- based user interface for this step. The class must -->
<!-- extend 'org.dspace.app.webui.submit.JSPStep'. -->
<!-- This property should reference the full path of the -->
<!-- class. It is only necessary if you are using the -->
<!-- DSpace JSP-UI, and the step requires user interaction-->
<!-- <xmlui-binding> - XML-UI binding step class which will generate the -->
<!-- Manakin XML (DRI) structure for this step. The class-->
<!-- must extend -->
<!-- 'org.dspace.app.xmlui.aspect.submission.StepTransformer'.-->
<!-- This property should reference the full path of the -->
<!-- class. It is only necessary if you are using the -->
<!-- DSpace XML-UI, and the step requires user interaction-->
<!-- <workflow-editable> - whether or not this step will appear during the-->
<!-- "Edit Metadata" workflow approval process. This field-->
<!-- defaults to TRUE (which means it can be edited during -->
<!-- the "Edit Metadata" workflow stage) -->
<!-- -->
<!-- -->
<step-definitions>
<!-- The "collection" step is a "special step" which is *REQUIRED* to be-->
<!-- in this section! In DSpace, all submitted items must be -->
<!-- immediately assigned to a collection. This step ensures that a -->
<!-- collection is always selected. If a user is already submitting -->
<!-- from within a Collection (by clicking the "Submit to This -->
<!-- Collection" button) then this step will be automatically skipped. -->
<!-- In all other cases, this step ensures that the user *first* selects-->
<!-- a collection! -->
<!-- Since this is a "special step", it is *automatically* added at the -->
<!-- beginning of each 'submission-process' (therefore it should not be -->
<!-- referenced by any of the below 'submission-process' tags). Also as-->
<!-- a special step, it is currently NEVER editable in a workflow. -->
<step id="collection">
<heading></heading> <!--can specify heading, if you want it to appear in Progress Bar-->
<processing-class>org.dspace.submit.step.SelectCollectionStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPSelectCollectionStep</jspui-binding>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.SelectCollectionStep</xmlui-binding>
<workflow-editable>false</workflow-editable>
</step>
<!-- The "complete" step is a "special step" which is *REQUIRED* to be-->
<!-- in this section! In DSpace, when a submission is completed, -->
<!-- a workflow is automatically kicked off (if one exists) -->
<!-- This "complete" step performs all backend processing that occurs -->
<!-- immediately upon completing the submission. -->
<!-- Since this is a "special step", it is *automatically* added at the -->
<!-- end of each 'submission-process' (therefore it should not be -->
<!-- referenced by any of the below 'submission-process' tags). Also as-->
<!-- a special step, it is currently NEVER editable in a workflow. -->
<step id="complete">
<heading>submit.progressbar.complete</heading>
<processing-class>org.dspace.submit.step.CompleteStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPCompleteStep</jspui-binding>
<workflow-editable>false</workflow-editable>
</step>
<!-- This is the Sample Step which utilizes the JSPSampleStep class-->
<step id="sample">
<heading>Sample</heading>
<processing-class>org.dspace.submit.step.SampleStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPSampleStep</jspui-binding>
<workflow-editable>true</workflow-editable>
</step>
</step-definitions>
<!-- The submission-definitions map lays out the detailed definition of -->
<!-- all the Item Submission Processes (and the ordering of their steps). -->
<!-- Each separate "submission-process" has a unique name as an attribute,-->
<!-- which matches one of the names in the process-map. One named -->
<!-- "submit-process" has the name "traditional"; as this name suggests, -->
<!-- it is the default item submission process, which gets used when -->
<!-- the specified collection has no correspondingly named submit-process.-->
<!-- -->
<!-- Each submit-process contains an ordered set of steps; each step -->
<!-- defines one "step" occurring during the process of submitting an -->
<!-- item. A step can either be reference by 'id' (in which case it must -->
<!-- be defined in <step-definitions> above), or defined completely here. -->
<!-- -->
<!-- If the step is not referred to by 'id', then the <step> REQUIRES the -->
<!-- following properties are defined: -->
<!-- <processing-class> - The class which will process all information for-->
<!-- this step. The class must implement the -->
<!-- 'org.dspace.app.webui.submit.JSPStep' interface AND -->
<!-- extend 'org.dspace.submit.AbstractProcessingStep' -->
<!-- (or one of the org.dspace.submit.step.* classes) -->
<!-- This property should reference the full path of the class-->
<!-- (e.g. org.dspace.app.webui.submit.MyCustomJSPStep) -->
<!-- -->
<!-- The following properties are OPTIONAL for each <step>: -->
<!-- <heading> - References the message key, from the -->
<!-- Messages.properties file (JSP-UI) or messages.xml -->
<!-- (XML-UI) which will be used as this step's heading in -->
<!-- the progress-bar. If unspecified, the step does not -->
<!-- show up in the Progress Bar. Keys in the <heading> -->
<!-- are prefixed as follows in the appropriate -->
<!-- "messages" file: -->
<!-- XML-UI: "xmlui.Submission." prefix -->
<!-- JSP-UI: "jsp." prefix -->
<!-- <jspui-binding> - JSP-UI binding step class which will generate the JSP-->
<!-- based user interface for this step. The class must -->
<!-- extend 'org.dspace.app.webui.submit.JSPStep'. -->
<!-- This property should reference the full path of the -->
<!-- class. It is only necessary if you are using the -->
<!-- DSpace JSP-UI, and the step requires user interaction-->
<!-- <xmlui-binding> - XML-UI binding step class which will generate the -->
<!-- Manakin XML (DRI) structure for this step. The class-->
<!-- must extend -->
<!-- 'org.dspace.app.xmlui.aspect.submission.StepTransformer'.-->
<!-- This property should reference the full path of the -->
<!-- class. It is only necessary if you are using the -->
<!-- DSpace XML-UI, and the step requires user interaction-->
<!-- <workflow-editable> - whether or not this step will appear during the-->
<!-- "Edit Metadata" workflow approval process. This field-->
<!-- defaults to TRUE (which means it can be edited during -->
<!-- the "Edit Metadata" workflow stage). Set to either -->
<!-- "true" or "false". -->
<!-- -->
<submission-definitions>
<!--This "traditional" process defines the DEFAULT item submission process-->
<submission-process name="traditional">
<!--Uncommment to display the SAMPLE step as your first step-->
<!--<step id="sample"/>-->
<!--Step 1 will be to gather initial information-->
<step>
<heading>submit.progressbar.initial-questions</heading>
<processing-class>org.dspace.submit.step.InitialQuestionsStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPInitialQuestionsStep</jspui-binding>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.InitialQuestionsStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>
<!--If you disable the initial questions step you should insert the -->
<!--SkipInitialQuestionsStep below, to enable proper processing of -->
<!--input-forms configuration -->
<!--
<step>
<processing-class>org.dspace.submit.step.SkipInitialQuestionsStep</processing-class>
</step>
-->
<!--Step 2 will be to Describe the item.-->
<step>
<heading>submit.progressbar.describe</heading>
<processing-class>org.dspace.submit.step.DescribeStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPDescribeStep</jspui-binding>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.DescribeStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>
<!--Step 3 will be to Upload the item-->
<step>
<heading>submit.progressbar.upload</heading>
<processing-class>org.dspace.submit.step.UploadStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPUploadStep</jspui-binding>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.UploadStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>
<!--Step 4 will be to Verify/Review everything -->
<step>
<heading>submit.progressbar.verify</heading>
<processing-class>org.dspace.submit.step.VerifyStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPVerifyStep</jspui-binding>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.ReviewStep</xmlui-binding>
<workflow-editable>true</workflow-editable>
</step>
<!--Step 5 will be to Sign off on the License-->
<step>
<heading>submit.progressbar.license</heading>
<processing-class>org.dspace.submit.step.LicenseStep</processing-class>
<jspui-binding>org.dspace.app.webui.submit.step.JSPLicenseStep</jspui-binding>
<xmlui-binding>org.dspace.app.xmlui.aspect.submission.submit.LicenseStep</xmlui-binding>
<workflow-editable>false</workflow-editable>
</step>
</submission-process>
</submission-definitions>
</item-submission>

View File

@@ -1,328 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<commands>
<command>
<name>checker</name>
<description>Run the checksum checker</description>
<step>
<class>org.dspace.app.checker.ChecksumChecker</class>
</step>
</command>
<command>
<name>checker-emailer</name>
<description>Send emails related to the checksum checker</description>
<step>
<class>org.dspace.checker.DailyReportEmailer</class>
</step>
</command>
<command>
<name>cleanup</name>
<description>Remove deleted bitstreams from the assetstore</description>
<step>
<class>org.dspace.storage.bitstore.Cleanup</class>
</step>
</command>
<command>
<name>community-filiator</name>
<description>Tool to manage community and sub-community relationships</description>
<step>
<class>org.dspace.administer.CommunityFiliator</class>
</step>
</command>
<command>
<name>create-administrator</name>
<description>Create a DSpace administrator account</description>
<step>
<class>org.dspace.administer.CreateAdministrator</class>
</step>
</command>
<command>
<name>dsprop</name>
<description>View a DSpace property from dspace.cfg</description>
<step>
<class>org.dspace.core.ConfigurationManager</class>
</step>
</command>
<command>
<name>embargo-lifter</name>
<description>Embargo manager tool used to check, list and lift embargoes</description>
<step>
<class>org.dspace.embargo.EmbargoManager</class>
</step>
</command>
<command>
<name>export</name>
<description>Export items or collections</description>
<step>
<class>org.dspace.app.itemexport.ItemExport</class>
</step>
</command>
<command>
<name>filter-media</name>
<description>Perform the media filtering to extract full text from docuemnts and to create thumbnails</description>
<step>
<class>org.dspace.app.mediafilter.MediaFilterManager</class>
</step>
</command>
<command>
<name>generate-sitemaps</name>
<description>Generate search engine and html sitemaps</description>
<step>
<class>org.dspace.app.sitemap.GenerateSitemaps</class>
</step>
</command>
<command>
<name>harvest</name>
<description>Manage the OAI-PMH harvesting of external collections</description>
<step>
<class>org.dspace.app.harvest.Harvest</class>
</step>
</command>
<command>
<name>import</name>
<description>Import items into DSpace</description>
<step>
<class>org.dspace.app.itemimport.ItemImport</class>
</step>
</command>
<command>
<name>index</name>
<description>General index command (requires extra paramters)</description>
<step>
<class>org.dspace.browse.IndexBrowse</class>
</step>
</command>
<command>
<name>index-init</name>
<description>Initialise the search and browse indexes</description>
<step passuserargs="false">
<class>org.dspace.browse.IndexBrowse</class>
<argument>-f</argument>
<argument>-r</argument>
</step>
<step passuserargs="false">
<class>org.dspace.browse.ItemCounter</class>
</step>
<step passuserargs="false">
<class>org.dspace.search.DSIndexer</class>
<argument>-b</argument>
</step>
</command>
<command>
<name>index-update</name>
<description>Update the search and browse indexes</description>
<step passuserargs="false">
<class>org.dspace.browse.IndexBrowse</class>
<argument>-i</argument>
</step>
<step passuserargs="false">
<class>org.dspace.browse.ItemCounter</class>
</step>
<step passuserargs="false">
<class>org.dspace.search.DSIndexer</class>
</step>
</command>
<command>
<name>itemcounter</name>
<description>Update the item strength counts in the user interface</description>
<step passuserargs="false">
<class>org.dspace.browse.ItemCounter</class>
</step>
</command>
<command>
<name>itemupdate</name>
<description>Item update tool for altering metadata and bitstream content in items</description>
<step>
<class>org.dspace.app.itemupdate.ItemUpdate</class>
</step>
</command>
<command>
<name>make-handle-config</name>
<description>Run the handle server simple setup command</description>
<step>
<class>net.handle.server.SimpleSetup</class>
</step>
</command>
<command>
<name>metadata-export</name>
<description>Export metadata for batch editing</description>
<step>
<class>org.dspace.app.bulkedit.MetadataExport</class>
</step>
</command>
<command>
<name>metadata-import</name>
<description>Import metadata after batch editing</description>
<step>
<class>org.dspace.app.bulkedit.MetadataImport</class>
</step>
</command>
<command>
<name>packager</name>
<description>Execute a packager</description>
<step>
<class>org.dspace.app.packager.Packager</class>
</step>
</command>
<command>
<name>registry-loader</name>
<description>Load entries into a registry</description>
<step>
<class>org.dspace.administer.RegistryLoader</class>
</step>
</command>
<command>
<name>stat-general</name>
<description>Compile the general statistics</description>
<step passuserargs="false">
<class>org.dspace.app.statistics.CreateStatReport</class>
<argument>-r</argument>
<argument>stat-general</argument>
</step>
</command>
<command>
<name>stat-initial</name>
<description>Compile the initial statistics</description>
<step passuserargs="false">
<class>org.dspace.app.statistics.CreateStatReport</class>
<argument>-r</argument>
<argument>stat-initial</argument>
</step>
</command>
<command>
<name>stat-monthly</name>
<description>Compile the monthly statistics</description>
<step passuserargs="false">
<class>org.dspace.app.statistics.CreateStatReport</class>
<argument>-r</argument>
<argument>stat-monthly</argument>
</step>
</command>
<command>
<name>stat-report-general</name>
<description>Create the general statistics report</description>
<step passuserargs="false">
<class>org.dspace.app.statistics.CreateStatReport</class>
<argument>-r</argument>>
<argument>stat-report-general</argument>
</step>
</command>
<command>
<name>stat-report-initial</name>
<description>Create the general statistics report</description>
<step passuserargs="false">
<class>org.dspace.app.statistics.CreateStatReport</class>
<argument>-r</argument>
<argument>stat-report-initial</argument>
</step>
</command>
<command>
<name>stat-report-monthly</name>
<description>Create the monthly statistics report</description>
<step passuserargs="false">
<class>org.dspace.app.statistics.CreateStatReport</class>
<argument>-r</argument>
<argument>stat-report-monthly</argument>
</step>
</command>
<command>
<name>stats-log-converter</name>
<description>Convert dspace.log files ready for import into solr statistics</description>
<step>
<class>org.dspace.statistics.util.ClassicDSpaceLogConverter</class>
</step>
</command>
<command>
<name>stats-log-importer</name>
<description>Import previously converted log files into solr statistics</description>
<step>
<class>org.dspace.statistics.util.StatisticsImporter</class>
</step>
</command>
<command>
<name>stats-util</name>
<description>Statistics Client for Maintenance of Solr Statistics Indexes</description>
<step>
<class>org.dspace.statistics.util.StatisticsClient</class>
</step>
</command>
<command>
<name>structure-builder</name>
<description>Build DSpace commnity and collection structure</description>
<step>
<class>org.dspace.administer.StructBuilder</class>
</step>
</command>
<command>
<name>test-database</name>
<description>Test the DSpace database connection is OK</description>
<step>
<class>org.dspace.storage.rdbms.DatabaseManager</class>
</step>
</command>
<command>
<name>test-email</name>
<description>Test the DSpace email server settings OK</description>
<step>
<class>org.dspace.core.Email</class>
</step>
</command>
<command>
<name>sub-daily</name>
<description>Send daily subscription notices</description>
<step>
<class>org.dspace.eperson.Subscribe</class>
</step>
</command>
<command>
<name>update-handle-prefix</name>
<description>Update handle records and metadata when moving from one handle to another</description>
<step>
<class>org.dspace.handle.UpdateHandlePrefix</class>
</step>
</command>
<command>
<name>update-discovery-index</name>
<description>Update Discovery Solr Search Index</description>
<step>
<class>org.dspace.discovery.IndexClient</class>
</step>
</command>
</commands>

View File

@@ -1,14 +0,0 @@
#### Example of configuring IP-based authentication
#### (to use, add org.dspace.authenticate.IPAuthentication to auth stack above)
#
# authentication.ip.GROUPNAME = iprange[, iprange ...]
#
# Note if the Groupname contains blanks you must escape it,
# e.g. Department\ of\ Statistics
#
# Full, partial IPs; network/netmask; network/CIDR
#
#ip.MY_UNIVERSITY = 10.1.2.3, \
# 13.5, \
# 11.3.4.5/24, \
# 12.7.8.9/255.255.128.0

View File

@@ -1,134 +0,0 @@
#### LDAP Authentication Configuration Settings ####
#
# If LDAP is enabled, then new users will be able to register
# by entering their username and password without being sent the
# registration token. If users do not have a username and password,
# then they can still register and login with just their email address
# the same way they do now.
#
# For providing any special privileges to LDAP users,
# you will still need to extend the SiteAuthenticator class to
# automatically put people who have a netid into a special
# group. You might also want to give certain email addresses
# special privileges. Refer to the DSpace documentation for more
# information about how to do this.
#
# It may be necessary to obtain the values of these settings from the
# LDAP server administrators as LDAP configuration will vary from server
# to server.
# This setting will enable or disable LDAP authentication in DSpace.
# With the setting off, users will be required to register and login with
# their email address. With this setting on, users will be able to login
# and register with their LDAP user ids and passwords.
# This setting is only used by the JSPUI.
enable = false
##### LDAP AutoRegister Settings #####
# This will turn LDAP autoregistration on or off. With this
# on, a new EPerson object will be created for any user who
# successfully authenticates against the LDAP server when they
# first login. With this setting off, the user
# must first register to get an EPerson object by
# entering their ldap username and password and filling out
# the forms.
autoregister = true
# This is the url to the institution's ldap server. The /o=myu.edu
# may or may not be required depending on the LDAP server setup.
# A server may also require the ldaps:// protocol.
#provider_url = ldap://ldap.myu.edu/o=myu.edu
# This is the unique identifier field in the LDAP directory
# where the username is stored.
#id_field = uid
# This is the object context used when authenticating the
# user. It is appended to the id_field and username.
# For example uid=username,ou=people,o=myu.edu. This must match
# the LDAP server configuration.
#object_context = ou=people,o=myu.edu
# This is the search context used when looking up a user's
# LDAP object to retrieve their data for autoregistering.
# With autoregister turned on, when a user authenticates
# without an EPerson object, a search on the LDAP directory to
# get their name and email address is initiated so that DSpace
# can create a EPerson object for them. So after we have authenticated against
# uid=username,ou=people,o=byu.edu we now search in ou=people
# for filtering on [uid=username]. Often the
# search_context is the same as the object_context
# parameter. But again this depends on each individual LDAP server
# configuration.
#search_context = ou=people
# This is the LDAP object field where the user's email address
# is stored. "mail" is the default and the most common for
# LDAP servers. If the mail field is not found the username
# will be used as the email address when creating the eperson
# object.
#email_field = mail
# This is the LDAP object field where the user's last name is
# stored. "sn" is the default and is the most common for LDAP
# servers. If the field is not found the field will be left
# blank in the new eperson object.
#surname_field = sn
# This is the LDAP object field where the user's given names
# are stored. This may not be used or set in all LDAP instances.
# If the field is not found the field will be left blank in the
# new eperson object.
#givenname_field = givenName
# This is the field where the user's phone number is stored in
# the LDAP directory. If the field is not found the field
# will be left blank in the new eperson object.
#phone_field = telephoneNumber
##### LDAP users group #####
# If required, a group name can be given here, and all users who log in
# to LDAP will automatically become members of this group. This is useful
# if you want a group made up of all internal authenticated users.
#login.specialgroup = group-name
##### Hierarchical LDAP Settings #####
# If your users are spread out across a hierarchical tree on your
# LDAP server, you will need to use the following stackable authentication
# class:
# plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
# org.dspace.authenticate.LDAPHierarchicalAuthentication
#
# You can optionally specify the search scope. If anonymous access is not
# enabled on your LDAP server, you will need to specify the full DN and
# password of a user that is allowed to bind in order to search for the
# users.
# This is the search scope value for the LDAP search during
# autoregistering. This will depend on your LDAP server setup.
# This value must be one of the following integers corresponding
# to the following values:
# object scope : 0
# one level scope : 1
# subtree scope : 2
#search_scope = 2
# The full DN and password of a user allowed to connect to the LDAP server
# and search for the DN of the user trying to log in. If these are not specified,
# the initial bind will be performed anonymously.
#search.user = cn=admin,ou=people,o=myu.edu
#search.password = password
# If your LDAP server does not hold an email address for a user, you can use
# the following field to specify your email domain. This value is appended
# to the netid in order to make an email address. E.g. a netid of 'user' and
# netid_email_domain as '@example.com' would set the email of the user
# to be 'user@example.com
#netid_email_domain = @example.com

View File

@@ -1,14 +0,0 @@
#### PasswordAuthentication options ####
# Only emails ending in the following domains are allowed to self-register
# Example - example.com domain : @example.com
# Example - MIT domain and all .ac.uk domains: @mit.edu, .ac.uk
# domain.valid = example.com
##### Password users group #####
# If required, a group name can be given here, and all users who log in
# using the DSpace password system will automatically become members of
# this group. This is useful if you want a group made up of all internal
# authenticated users.
# login.specialgroup = group-name

View File

@@ -1,71 +0,0 @@
#### Shibboleth Authentication Configuration Settings ####
# Check https://mams.melcoe.mq.edu.au/zope/mams/pubs/Installation/dspace15/view
# for installation detail.
#
# DSpace requires email as user's credential. There are 2 ways of providing
# email to DSpace:
# 1) by explicitly specifying to the user which attribute (header)
# carries the email address.
# 2) by turning on the user-email-using-tomcat=true which means
# the software will try to acquire the user's email from Tomcat
# The first option takes PRECEDENCE when specified. Both options can
# be enabled to allow fallback.
# this option below specifies that the email comes from the mentioned header.
# The value is CASE-Sensitive.
email-header = MAIL
# optional. Specify the header that carries user's first name
# this is going to be used for creation of new-user
firstname-header = SHIB-EP-GIVENNAME
# optional. Specify the header that carries user's last name
# this is used for creation of new user
lastname-header = SHIB-EP-SURNAME
# this option below forces the software to acquire the email from Tomcat.
email-use-tomcat-remote-user = true
# should we allow new users to be registered automtically
# if the IdP provides sufficient info (and user not exists in DSpace)
autoregister = true
# these two header here specify which attribute that is responsible
# for providing user's roles to DSpace and unscope the attributes if needed.
# When not specified, it is defaulted to 'Shib-EP-UnscopedAffiliation', and
# ignore-scope is defaulted to 'false'.
# The value is specified in AAP.xml (Shib 1.3.x) or
# attribute-filter.xml (Shib 2.x). The value is CASE-Sensitive.
# The values provided in this header are separated by semi-colon or comma.
# If your sp only provides scoped role header, you need to set
# role-header.ignore-Scope as true.
# for example if you only get Shib-EP-ScopedAffiliation instead of Shib-EP-ScopedAffiliation,
# you have to make your setting as:
# role-header = Shib-EP-ScopedAffiliation
# role-header.ignore-scope = true
# role-header = Shib-EP-UnscopedAffiliation
role-header.ignore-scope = false
# when user is fully authN on IdP but would not like to release
# his/her roles to DSpace (for privacy reason?), what should be
# the default roles be given to such users?
# The values are separated by semi-colon or comma
# default-roles = Staff, Walk-ins
# The following mappings specify role mapping between IdP and Dspace.
# the left side of the entry is IdP's role (prefixed with
# "role.") which will be mapped to
# the right entry from DSpace. DSpace's group as indicated on the
# right entry has to EXIST in DSpace, otherwise user will be identified
# as 'anonymous'. Multiple values on the right entry should be separated
# by comma. The values are CASE-Sensitive. Heuristic one-to-one mapping
# will be done when the IdP groups entry are not listed below (i.e.
# if "X" group in IdP is not specified here, then it will be mapped
# to "X" group in DSpace if it exists, otherwise it will be mapped
# to simply 'anonymous')
#
# Given sufficient demand, future release could support regex for the mapping
# special characters need to be escaped by \
role.Senior\ Researcher = Researcher, Staff
role.Librarian = Administrator

View File

@@ -1,19 +0,0 @@
#### Example of configuring X.509 authentication
#### (to use add org.dspace.authenticate.X509Authentication to auth stack above)
## method 1, using keystore
#keystore.path = /tomcat/conf/keystore
#keystore.password = changeit
## method 2, using CA certificate
#ca.cert = ${dspace.dir}/config/MyClientCA.pem
## Create e-persons for unknown names in valid certificates?
#autoregister = true
## Allow Certificate auth to show as a choice in chooser
# Use Messages.properties key for title
#chooser.title.key=org.dspace.eperson.X509Authentication.title
#
# Identify the location of the Certificate Login Servlet.
#chooser.uri=/certificate-login

View File

@@ -1,10 +0,0 @@
# Stack of authentication methods
# (See org.dspace.authenticate.AuthenticationManager)
#
# Example:
# plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
# org.dspace.authenticate.ShibAuthentication, \
# org.dspace.authenticate.PasswordAuthentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
org.dspace.authenticate.PasswordAuthentication

View File

@@ -1,18 +0,0 @@
### Bulk metadata editor settings ###
# The delimiter used to separate values within a single field (defaults to a double pipe ||)
# valueseparator = ||
# The delimiter used to separate fields (defaults to a comma for CSV)
# fieldseparator = ,
# A hard limit of the number of items allowed to be edited in one go in the UI
# (does not apply to the command line version)
# gui-item-limit = 20
# Metadata elements to exclude when exporting via the user interfaces, or when using the
# command line version and not using the -a (all) option.
# ignore-on-export = dc.date.accessioned, dc.date.available, \
# dc.date.updated, dc.description.provenance
# Should the 'action' column allow the 'expunge' method. By default this is set to false
# allowexpunge = false

View File

@@ -1,3 +0,0 @@
#Selection of workflow framework that will be used in DSpace
workflow.framework=originalworkflow
#workflow.framework=xmlworkflow

View File

@@ -1,3 +0,0 @@
<h2>This&nbsp;is&nbsp;a&nbsp;default installation of DSpace!</h2>
<p>It can be extensively configured by installing modified JSPs,
and altering the site configuration.</p>

View File

@@ -1,3 +0,0 @@
<h3>DSpace is Live</h3>
<p>Welcome to our digital repository of My University research!</p>
<p>More exciting news to appear here.</p>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<document xmlns="http://di.tamu.edu/DRI/1.0/" xmlns:i18n="http://apache.org/cocoon/i18n/2.1" version="1.1">
<body>
<div id="file.news.div.news" n="news" rend="primary">
<head>DSpace/Manakin Repository</head>
<p>Welcome to the new Manakin interface to the DSpace digital repository. DSpace is a digital service that collects, preserves, and distributes digital material. Repositories are important tools for preserving an organization&apos;s legacy; they facilitate digital preservation and scholarly communication.</p>
</div>
</body>
<options/>
<meta>
<userMeta/>
<pageMeta/>
<repositoryMeta/>
</meta>
</document>

View File

@@ -1,46 +0,0 @@
###########################################################################
# REMEMBER: ONLY UPDATE THE VERSION IN dspace/config/templates
# AND THEN RUN dspace/bin/install-configs!
# DO NOT EDIT THE 'LIVE' VERSION!
###########################################################################
# OAICat Configuration file - see OAICat documentation for details
# Text surrounded by two '${' and '}' symbols is replaced with the corresponding
# property from dspace.cfg. For example:
#
# ${dspace.url}
#
# would be replaced with the dspace.url property in dspace.cfg on Maven compilation
AbstractCatalog.oaiCatalogClassName=org.dspace.app.oai.DSpaceOAICatalog
AbstractCatalog.recordFactoryClassName=org.dspace.app.oai.DSpaceRecordFactory
AbstractCatalog.secondsToLive=3600
AbstractCatalog.granularity=YYYY-MM-DDThh:mm:ssZ
# Custom Identify response values
Identify.repositoryName=${dspace.name}
Identify.adminEmail=${mail.admin}
Identify.earliestDatestamp=2001-01-01T00:00:00Z
Identify.deletedRecord=persistent
# List the supported metadataPrefixes along with the class that performs the associated crosswalk
#Crosswalks.didl=org.dspace.app.oai.DIDLCrosswalk
Crosswalks.mets=org.dspace.app.oai.METSCrosswalk
Crosswalks.oai_dc=org.dspace.app.oai.OAIDCCrosswalk
Crosswalks.rdf=org.dspace.app.oai.RDFCrosswalk
#Crosswalks.uketd_dc=org.dspace.app.oai.UKETDDCCrosswalk
# The following OAI crosswalks use crosswalk plugins defined in dspace.cfg.
# The metadataPrefixes must match the name of the plugin
# for interface org.dspace.content.crosswalk.DisseminationCrosswalk
# (e.g. "ore" matches the DisseminationCrosswalk of that name in dspace.cfg)
Crosswalks.ore=org.dspace.app.oai.PluginCrosswalk
# Uncomment any of the below plugins to enable other harvestable metadata
# formats. Remember to also check the corresponding DisseminationCrosswalk
# settings in your dspace.cfg file.
# Crosswalks.mods=org.dspace.app.oai.PluginCrosswalk
# Crosswalks.mets=org.dspace.app.oai.PluginCrosswalk
# Crosswalks.qdc=org.dspace.app.oai.PluginCrosswalk
# Crosswalks.dim=org.dspace.app.oai.PluginCrosswalk

View File

@@ -1,737 +0,0 @@
<?xml version="1.0"?>
<!--
- bitstream-formats.xml
-
- Version: $Revision: 4640 $
-
- Date: $Date: 2009-12-20 08:32:57 +0000 (Sun, 20 Dec 2009) $
-
- Initial contents for bitstream format registry. Once the registry has
- been loaded, this file becomes obsolete; the current version of the
- registry must be read from the database. Use
- org.dspace.content.BitstreamFormat.
-
- valid support_levels: 0 = unknown, 1 = known, 2 = supported
- internal: specify true for internal types of bitstream (i.e. used
- by the system, not for distribution to users)
- extensions: Typical filename extensions, used for identifying incoming
- files. Can have multiple extensions, as shown in the example
- below. "internal" formats shouldn't have these.
-
- <dspace-bitstream-types>
- <bitstream-type>
- <mimetype>mime/type</mimetype>
- <short_description>Thing v1</short_description>
- <description>Thing Version 1 Document Format</description>
- <support_level>1</support_level>
- <internal>false</internal>
- <extension>thingdoc</extension>
- <extension>thd</extension>
- </bitstream-type>
-
- ...
- </dspace-bitstream-types>
-->
<dspace-bitstream-types>
<!-- Used by system: do not remove -->
<bitstream-type>
<mimetype>application/octet-stream</mimetype>
<short_description>Unknown</short_description>
<description>Unknown data format</description>
<support_level>0</support_level>
<internal>false</internal>
</bitstream-type>
<!-- Used by system: do not remove -->
<bitstream-type>
<mimetype>text/plain; charset=utf-8</mimetype>
<short_description>License</short_description>
<description>Item-specific license agreed upon to submission</description>
<support_level>1</support_level>
<internal>true</internal>
</bitstream-type>
<!-- Used by system: do not remove -->
<bitstream-type>
<mimetype>text/html; charset=utf-8</mimetype>
<short_description>CC License</short_description>
<description>Item-specific Creative Commons license agreed upon to submission</description>
<support_level>1</support_level>
<internal>true</internal>
</bitstream-type>
<bitstream-type>
<mimetype>application/pdf</mimetype>
<short_description>Adobe PDF</short_description>
<description>Adobe Portable Document Format</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>pdf</extension>
</bitstream-type>
<bitstream-type>
<mimetype>text/xml</mimetype>
<short_description>XML</short_description>
<description>Extensible Markup Language</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>xml</extension>
</bitstream-type>
<bitstream-type>
<mimetype>text/plain</mimetype>
<short_description>Text</short_description>
<description>Plain Text</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>txt</extension>
<extension>asc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>text/html</mimetype>
<short_description>HTML</short_description>
<description>Hypertext Markup Language</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>htm</extension>
<extension>html</extension>
</bitstream-type>
<bitstream-type>
<mimetype>text/css</mimetype>
<short_description>CSS</short_description>
<description>Cascading Style Sheets</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>css</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/msword</mimetype>
<short_description>Microsoft Word</short_description>
<description>Microsoft Word</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>doc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mimetype>
<short_description>Microsoft Word XML</short_description>
<description>Microsoft Word XML</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>docx</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.ms-powerpoint</mimetype>
<short_description>Microsoft Powerpoint</short_description>
<description>Microsoft Powerpoint</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ppt</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.openxmlformats-officedocument.presentationml.presentation</mimetype>
<short_description>Microsoft Powerpoint XML</short_description>
<description>Microsoft Powerpoint XML</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>pptx</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.ms-excel</mimetype>
<short_description>Microsoft Excel</short_description>
<description>Microsoft Excel</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>xls</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mimetype>
<short_description>Microsoft Excel XML</short_description>
<description>Microsoft Excel XML</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>xlsx</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/marc</mimetype>
<short_description>MARC</short_description>
<description>Machine-Readable Cataloging records</description>
<support_level>1</support_level>
<internal>false</internal>
</bitstream-type>
<bitstream-type>
<mimetype>image/jpeg</mimetype>
<short_description>JPEG</short_description>
<description>Joint Photographic Experts Group/JPEG File Interchange Format (JFIF)</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>jpeg</extension>
<extension>jpg</extension>
</bitstream-type>
<bitstream-type>
<mimetype>image/gif</mimetype>
<short_description>GIF</short_description>
<description>Graphics Interchange Format</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>gif</extension>
</bitstream-type>
<bitstream-type>
<mimetype>image/png</mimetype>
<short_description>image/png</short_description>
<description>Portable Network Graphics</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>png</extension>
</bitstream-type>
<bitstream-type>
<mimetype>image/tiff</mimetype>
<short_description>TIFF</short_description>
<description>Tag Image File Format</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>tiff</extension>
<extension>tif</extension>
</bitstream-type>
<bitstream-type>
<mimetype>audio/x-aiff</mimetype>
<short_description>AIFF</short_description>
<description>Audio Interchange File Format</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>aiff</extension>
<extension>aif</extension>
<extension>aifc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>audio/basic</mimetype>
<short_description>audio/basic</short_description>
<description>Basic Audio</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>au</extension>
<extension>snd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>audio/x-wav</mimetype>
<short_description>WAV</short_description>
<description>Broadcase Wave Format</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>wav</extension>
</bitstream-type>
<bitstream-type>
<mimetype>video/mpeg</mimetype>
<short_description>MPEG</short_description>
<description>Moving Picture Experts Group</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>mpeg</extension>
<extension>mpg</extension>
<extension>mpe</extension>
</bitstream-type>
<bitstream-type>
<mimetype>text/richtext</mimetype>
<short_description>RTF</short_description>
<description>Rich Text Format</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>rtf</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.visio</mimetype>
<short_description>Microsoft Visio</short_description>
<description>Microsoft Visio</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>vsd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/x-filemaker</mimetype>
<short_description>FMP3</short_description>
<description>Filemaker Pro</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>fm</extension>
</bitstream-type>
<bitstream-type>
<mimetype>image/x-ms-bmp</mimetype>
<short_description>BMP</short_description>
<description>Microsoft Windows bitmap</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>bmp</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/x-photoshop</mimetype>
<short_description>Photoshop</short_description>
<description>Photoshop</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>psd</extension>
<extension>pdd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/postscript</mimetype>
<short_description>Postscript</short_description>
<description>Postscript Files</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ps</extension>
<extension>eps</extension>
<extension>ai</extension>
</bitstream-type>
<bitstream-type>
<mimetype>video/quicktime</mimetype>
<short_description>Video Quicktime</short_description>
<description>Video Quicktime</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>mov</extension>
<extension>qt</extension>
</bitstream-type>
<bitstream-type>
<mimetype>audio/x-mpeg</mimetype>
<short_description>MPEG Audio</short_description>
<description>MPEG Audio</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>mpa</extension>
<extension>abs</extension>
<extension>mpega</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.ms-project</mimetype>
<short_description>Microsoft Project</short_description>
<description>Microsoft Project</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>mpp</extension>
<extension>mpx</extension>
<extension>mpd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/mathematica</mimetype>
<short_description>Mathematica</short_description>
<description>Mathematica Notebook</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ma</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/x-latex</mimetype>
<short_description>LateX</short_description>
<description>LaTeX document</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>latex</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/x-tex</mimetype>
<short_description>TeX</short_description>
<description>Tex/LateX document</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>tex</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/x-dvi</mimetype>
<short_description>TeX dvi</short_description>
<description>TeX dvi format </description>
<support_level>1</support_level>
<internal>false</internal>
<extension>dvi</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/sgml</mimetype>
<short_description>SGML</short_description>
<description>SGML application (RFC 1874)</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sgm</extension>
<extension>sgml</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/wordperfect5.1</mimetype>
<short_description>WordPerfect</short_description>
<description>WordPerfect 5.1 document</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>wpd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>audio/x-pn-realaudio</mimetype>
<short_description>RealAudio</short_description>
<description>RealAudio file</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ra</extension>
<extension>ram</extension>
</bitstream-type>
<bitstream-type>
<mimetype>image/x-photo-cd</mimetype>
<short_description>Photo CD</short_description>
<description>Kodak Photo CD image</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>pcd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.text</mimetype>
<short_description>OpenDocument Text</short_description>
<description>OpenDocument Text</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odt</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.text-template</mimetype>
<short_description>OpenDocument Text Template</short_description>
<description>OpenDocument Text Template</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ott</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.text-web</mimetype>
<short_description>OpenDocument HTML Template</short_description>
<description>OpenDocument HTML Template</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>oth</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.text-master</mimetype>
<short_description>OpenDocument Master Document</short_description>
<description>OpenDocument Master Document</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odm</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.graphics</mimetype>
<short_description>OpenDocument Drawing</short_description>
<description>OpenDocument Drawing</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odg</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.graphics-template</mimetype>
<short_description>OpenDocument Drawing Template</short_description>
<description>OpenDocument Drawing Template</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>otg</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.presentation</mimetype>
<short_description>OpenDocument Presentation</short_description>
<description>OpenDocument Presentation</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odp</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.presentation-template</mimetype>
<short_description>OpenDocument Presentation Template</short_description>
<description>OpenDocument Presentation Template</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>otp</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.spreadsheet</mimetype>
<short_description>OpenDocument Spreadsheet</short_description>
<description>OpenDocument Spreadsheet</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ods</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.spreadsheet-template</mimetype>
<short_description>OpenDocument Spreadsheet Template</short_description>
<description>OpenDocument Spreadsheet Template</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>ots</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.chart</mimetype>
<short_description>OpenDocument Chart</short_description>
<description>OpenDocument Chart</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.formula</mimetype>
<short_description>OpenDocument Formula</short_description>
<description>OpenDocument Formula</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odf</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.database</mimetype>
<short_description>OpenDocument Database</short_description>
<description>OpenDocument Database</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odb</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.oasis.opendocument.image</mimetype>
<short_description>OpenDocument Image</short_description>
<description>OpenDocument Image</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>odi</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.openofficeorg.extension</mimetype>
<short_description>OpenOffice.org extension</short_description>
<description>OpenOffice.org extension (since OOo 2.1)</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>oxt</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.writer</mimetype>
<short_description>Writer 6.0 documents</short_description>
<description>Writer 6.0 documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sxw</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.writer.template</mimetype>
<short_description>Writer 6.0 templates</short_description>
<description>Writer 6.0 templates</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>stw</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.calc</mimetype>
<short_description>Calc 6.0 spreadsheets</short_description>
<description>Calc 6.0 spreadsheets</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sxc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.calc.template</mimetype>
<short_description>Calc 6.0 templates</short_description>
<description>Calc 6.0 templates</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>stc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.draw</mimetype>
<short_description>Draw 6.0 documents</short_description>
<description>Draw 6.0 documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sxd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.draw.template</mimetype>
<short_description>Draw 6.0 templates</short_description>
<description>Draw 6.0 templates</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>std</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.impress</mimetype>
<short_description>Impress 6.0 presentations</short_description>
<description>Impress 6.0 presentations</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sxi</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.impress.template</mimetype>
<short_description>Impress 6.0 templates</short_description>
<description>Impress 6.0 templates</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sti</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.writer.global</mimetype>
<short_description>Writer 6.0 global documents</short_description>
<description>Writer 6.0 global documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sxg</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.sun.xml.math</mimetype>
<short_description>Math 6.0 documents</short_description>
<description>Math 6.0 documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sxm</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.writer</mimetype>
<short_description>StarWriter 5.x documents</short_description>
<description>StarWriter 5.x documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sdw</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.writer-global</mimetype>
<short_description>StarWriter 5.x global documents</short_description>
<description>StarWriter 5.x global documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sgl</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.calc</mimetype>
<short_description>StarCalc 5.x spreadsheets</short_description>
<description>StarCalc 5.x spreadsheets</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sdc</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.draw</mimetype>
<short_description>StarDraw 5.x documents</short_description>
<description>StarDraw 5.x documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sda</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.impress</mimetype>
<short_description>StarImpress 5.x presentations</short_description>
<description>StarImpress 5.x presentations</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sdd</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.impress-packed</mimetype>
<short_description>StarImpress Packed 5.x files</short_description>
<description>StarImpress Packed 5.x files</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sdp</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.math</mimetype>
<short_description>StarMath 5.x documents</short_description>
<description>StarMath 5.x documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>smf</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.chart</mimetype>
<short_description>StarChart 5.x documents</short_description>
<description>StarChart 5.x documents</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sds</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/vnd.stardivision.mail</mimetype>
<short_description>StarMail 5.x mail files</short_description>
<description>StarMail 5.x mail files</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>sdm</extension>
</bitstream-type>
<bitstream-type>
<mimetype>application/rdf+xml; charset=utf-8</mimetype>
<short_description>RDF XML</short_description>
<description>RDF serialized in XML</description>
<support_level>1</support_level>
<internal>false</internal>
<extension>rdf</extension>
</bitstream-type>
</dspace-bitstream-types>

View File

@@ -1,601 +0,0 @@
<?xml version="1.0"?>
<!--
- dublin-core-types.xml
-
- Version: $Revision: 3705 $
-
- Date: $Date: 2009-04-11 18:02:24 +0100 (Sat, 11 Apr 2009) $
-
- Initial contents for Dublin Core type registry. Once the registry has
- been loaded, this file becomes obsolete; the current version of the
- registry must be read from the database.
- Use org.dspace.content.MetadataSchema, org.dspace.content.MetadataField, org.dspace.content.MetadataValue instead.
- Omit <qualifier> tags for unqualified elements
-
- <dc-type>
- <schema></schema>
- <element></element>
- <qualifier></qualifier>
- <scope_note></scope_note>
- </dc-type>
-->
<!-- start of XML -->
<dspace-dc-types>
<dspace-header>
<title>DSpace Dublin Core Types Registry</title>
<contributor.author>Patsy Baudoin</contributor.author>
<contributor.author>Margret Branschofsky</contributor.author>
<contributor.author>Dan Chudnov</contributor.author>
<contributor.author>Joan Kolias</contributor.author>
<contributor.author>Rebecca Lubas</contributor.author>
<contributor.author>Sarah Mitchell</contributor.author>
<contributor.editor>$Author: mdiggory $</contributor.editor>
<date.created>$Date: 2009-04-11 18:02:24 +0100 (Sat, 11 Apr 2009) $</date.created>
<description>
$Log$
Revision 1.5 2006/10/18 15:38:34 cjuergen
(Claudia Juergen)
config/registries/dublin-core-types.xml replaced deprecated reference to org.dspace.administer.DCType.java with the reference to the appropriate org.dspace.content.Metadata... classes
Revision 1.4 2005/11/16 21:40:52 rtansley
(Martin Hald, Larry Stone, Robert Tansley)
- Support for multiple (flat) metadata schemas
NOTE: Still some items to do
Revision 1.3 2002/11/01 13:28:47 rtansley
Added new bitstream formats.
Added comments indicating which formats and DC types are needed by the system
to function.
Revision 1.2 2002/10/21 09:29:31 rtansley
Updated DC type registry and submission UI to include "identifier.citation",
"publisher", and "type". Simple item display also includes those fields.
Revision 1.1 2002/05/16 20:11:57 rtansley
Registries ported from DSpace early-adopters-2.
Revision 1.12 2002/01/24 21:49:38 dchud
Many changes; changed subject.keyword to .other, added description.statementofresponsibility, fixed spelling and updated scope notes
Revision 1.11 2001/11/27 16:00:04 dstuve
added subject_mesh for importing - should we keep this?
Revision 1.10 2001/11/02 17:57:35 dchud
Added identifier.citation
Revision 1.9 2001/10/22 18:09:17 dchud
Removed contributor.translator mistakenly left in. :(
Revision 1.8 2001/10/18 20:35:31 dchud
Changed contributor qualifiers and added relation.ispartofseries
Revision 1.7 2001/10/10 17:54:15 dchud
added all authors.
Revision 1.6 2001/10/10 17:22:55 dchud
(hopefully) fixed cvs keyword Log to expand in tags properly.
</description>
<description.version>$Revision: 3705 $</description.version>
</dspace-header>
<dc-schema>
<name>dc</name>
<namespace>http://dublincore.org/documents/dcmi-terms/</namespace>
</dc-schema>
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<!-- unqualified -->
<scope_note>A person, organization, or service responsible for the content of the resource. Catch-all for unspecified contributors.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<qualifier>advisor</qualifier>
<scope_note>Use primarily for thesis advisor.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<qualifier>author</qualifier>
<scope_note></scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<qualifier>editor</qualifier>
<scope_note></scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<qualifier>illustrator</qualifier>
<scope_note></scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<qualifier>other</qualifier>
<scope_note></scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>coverage</element>
<qualifier>spatial</qualifier>
<scope_note>Spatial characteristics of content.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>coverage</element>
<qualifier>temporal</qualifier>
<scope_note>Temporal characteristics of content.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>creator</element>
<!-- unqualified -->
<scope_note>Do not use; only for harvested metadata.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>date</element>
<!-- unqualified -->
<scope_note>Use qualified form if possible.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>accessioned</qualifier>
<scope_note>Date DSpace takes possession of item.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>available</qualifier>
<scope_note>Date or date range item became available to the public.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>copyright</qualifier>
<scope_note>Date of copyright.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>created</qualifier>
<scope_note>Date of creation or manufacture of intellectual content if different from date.issued.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>issued</qualifier>
<scope_note>Date of publication or distribution.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>submitted</qualifier>
<scope_note>Recommend for theses/dissertations.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<!-- unqualified -->
<scope_note>Catch-all for unambiguous identifiers not defined by
qualified form; use identifier.other for a known identifier common
to a local collection instead of unqualified form.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>citation</qualifier>
<scope_note>Human-readable, standard bibliographic citation
of non-DSpace format of this item</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>govdoc</qualifier>
<scope_note>A government document number</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>isbn</qualifier>
<scope_note>International Standard Book Number</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>issn</qualifier>
<scope_note>International Standard Serial Number</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>sici</qualifier>
<scope_note>Serial Item and Contribution Identifier</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>ismn</qualifier>
<scope_note>International Standard Music Number</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>other</qualifier>
<scope_note>A known identifier type common to a local collection.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>uri</qualifier>
<scope_note>Uniform Resource Identifier</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>description</element>
<!-- unqualified -->
<scope_note>Catch-all for any description not defined by qualifiers.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>abstract</qualifier>
<scope_note>Abstract or summary.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>provenance</qualifier>
<scope_note>The history of custody of the item since its creation, including any changes successive custodians made to it.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>sponsorship</qualifier>
<scope_note>Information about sponsoring agencies, individuals, or
contractual arrangements for the item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>statementofresponsibility</qualifier>
<scope_note>To preserve statement of responsibility from MARC records.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>tableofcontents</qualifier>
<scope_note>A table of contents for a given item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>uri</qualifier>
<scope_note>Uniform Resource Identifier pointing to description of
this item.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>format</element>
<!-- unqualified -->
<scope_note>Catch-all for any format information not defined by qualifiers.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>format</element>
<qualifier>extent</qualifier>
<scope_note>Size or duration.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>format</element>
<qualifier>medium</qualifier>
<scope_note>Physical medium.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>format</element>
<qualifier>mimetype</qualifier>
<scope_note>Registered MIME type identifiers.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>language</element>
<!-- unqualified -->
<scope_note>Catch-all for non-ISO forms of the language of the
item, accommodating harvested values.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>language</element>
<qualifier>iso</qualifier>
<scope_note>Current ISO standard for language of intellectual content, including country codes (e.g. "en_US").</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>publisher</element>
<!-- unqualified -->
<scope_note>Entity responsible for publication, distribution, or imprint.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<!-- unqualified -->
<scope_note>Catch-all for references to other related items.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>isformatof</qualifier>
<scope_note>References additional physical form.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>ispartof</qualifier>
<scope_note>References physically or logically containing item.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>ispartofseries</qualifier>
<scope_note>Series name and number within that series, if available.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>haspart</qualifier>
<scope_note>References physically or logically contained item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>isversionof</qualifier>
<scope_note>References earlier version.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>hasversion</qualifier>
<scope_note>References later version.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>isbasedon</qualifier>
<scope_note>References source.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>isreferencedby</qualifier>
<scope_note>Pointed to by referenced resource.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>requires</qualifier>
<scope_note>Referenced resource is required to support function,
delivery, or coherence of item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>replaces</qualifier>
<scope_note>References preceeding item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>isreplacedby</qualifier>
<scope_note>References succeeding item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>relation</element>
<qualifier>uri</qualifier>
<scope_note>References Uniform Resource Identifier for related item.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>rights</element>
<!-- unqualified -->
<scope_note>Terms governing use and reproduction.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>rights</element>
<qualifier>uri</qualifier>
<scope_note>References terms governing use and reproduction.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>source</element>
<!-- unqualified -->
<scope_note>Do not use; only for harvested metadata.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>source</element>
<qualifier>uri</qualifier>
<scope_note>Do not use; only for harvested metadata.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>subject</element>
<!-- unqualified -->
<scope_note>Uncontrolled index term.</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>subject</element>
<qualifier>classification</qualifier>
<scope_note>Catch-all for value from local classification system;
global classification systems will receive specific qualifier</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>subject</element>
<qualifier>ddc</qualifier>
<scope_note>Dewey Decimal Classification Number</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>subject</element>
<qualifier>lcc</qualifier>
<scope_note>Library of Congress Classification Number</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>subject</element>
<qualifier>lcsh</qualifier>
<scope_note>Library of Congress Subject Headings</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>subject</element>
<qualifier>mesh</qualifier>
<scope_note>Medical Subject Headings</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>subject</element>
<qualifier>other</qualifier>
<scope_note>Local controlled vocabulary; global vocabularies will receive specific qualifier.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>title</element>
<!-- unqualified -->
<scope_note>Title statement/title proper.</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>title</element>
<qualifier>alternative</qualifier>
<scope_note>Varying (or substitute) form of title proper appearing in item,
e.g. abbreviation or translation</scope_note>
</dc-type>
<!-- Used by system: do not remove -->
<dc-type>
<schema>dc</schema>
<element>type</element>
<!-- unqualified -->
<scope_note>Nature or genre of content.</scope_note>
</dc-type>
<!-- A second test schema for testing purposes. -->
<dc-schema>
<name>test</name>
<namespace>http://example.com/test/</namespace>
</dc-schema>
<dc-type>
<schema>test</schema>
<element>type</element>
<!-- unqualified -->
<scope_note>A second test schema type element.</scope_note>
</dc-type>
</dspace-dc-types>

View File

@@ -1,129 +0,0 @@
<?xml version="1.0"?>
<!-- sword-metadata.xsl
*
* Copyright (c) 2007, Aberystwyth University
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* - Neither the name of the Centre for Advanced Software and
* Intelligent Systems (CASIS) nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
-->
<dspace-dc-types>
<dspace-header>
<title>Metadata Types Registry for SWORD</title>
<contributor.author>Richard Jones</contributor.author>
<date.created>2007-09-02</date.created>
<description>
This file contains bibliographic metadata explicitly required by the
SWORD interface for DSpace. It does NOT contain DSpace internally
required metadata, which can be loaded using the default DSpace
metadata registry
</description>
</dspace-header>
<dc-type>
<schema>dc</schema>
<element>contributor</element>
<qualifier>author</qualifier>
<scope_note>The author of the item</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>issued</qualifier>
<scope_note>The date of publication</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>date</element>
<qualifier>updated</qualifier>
<scope_note>The last time the item was updated via the SWORD interface</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>abstract</qualifier>
<scope_note>Item summary or abstract</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>description</element>
<qualifier>version</qualifier>
<scope_note>The Peer Reviewed status of an item</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>uri</qualifier>
<scope_note>a uri to a copy of the item</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>identifier</element>
<qualifier>slug</qualifier>
<scope_note>a uri supplied via the sword slug header, as a suggested uri for the item</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>language</element>
<qualifier>rfc3066</qualifier>
<scope_note>the rfc3066 form of the language for the item</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>rights</element>
<qualifier>holder</qualifier>
<scope_note>The owner of the copyright</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>title</element>
<scope_note>The title of the item</scope_note>
</dc-type>
<dc-type>
<schema>dc</schema>
<element>type</element>
<scope_note>The type of the item, as defined by the eprints application profile</scope_note>
</dc-type>
</dspace-dc-types>

View File

@@ -1,141 +0,0 @@
# Alta Vista
# UA "Scooter/3.3Y!CrawlX"
128.177.243
128.177.244.100
128.177.244.86
194.112.94.250
194.112.94.251
194.112.94.252
194.201.146.1
194.201.146.24
194.221.84.11
194.221.84.15
194.221.84.31
194.221.84.32
194.221.84.33
194.221.84.34
194.221.84.38
194.221.84.39
194.221.84.40
194.221.84.41
194.51.33.72
204.123.13.36
204.123.13.65
204.123.13.66
204.123.2
204.123.28.10
204.123.28.11
204.123.28.20
204.123.28.21
204.123.28.27
204.123.28.30
204.123.28.31
204.123.28.32
204.123.28.33
204.123.9
204.152.190
204.152.191
205.229.83.18
208.185.243.148
208.221.32
208.221.35.200
208.221.35.201
208.221.35.202
208.221.35.203
208.221.35.204
208.221.35.205
208.221.35.206
208.221.35.207
209.247.40.246
209.73.160.1
209.73.160.250
209.73.160.254
209.73.162
209.73.164
209.73.174.250
209.73.174.251
209.73.180
212.187.213.171
212.187.213.172
212.187.213.173
212.187.213.174
212.187.213.175
212.187.226
212.187.226.42
212.187.226.83
212.187.226.84
212.187.226.85
212.187.226.87
212.187.226.88
212.187.226.93
212.187.226.99
212.187.227
216.39.48
216.39.50
216.39.51
64.152.75
66.17.148.128
66.17.148.129
66.17.148.130
66.17.148.131
66.17.148.132
66.17.148.133
66.17.148.134
66.17.148.135
66.17.148.136
66.17.148.137
66.17.148.138
66.17.148.139
66.17.148.140
66.17.148.141
66.17.148.142
66.17.148.143
66.17.148.144
66.17.148.145
66.17.148.146
66.17.148.147
66.17.148.148
66.17.148.149
66.17.148.150
66.17.148.151
66.17.148.152
66.17.148.153
66.17.148.154
66.17.148.155
66.17.148.156
66.17.148.157
66.17.148.158
66.17.148.159
66.17.148.160
66.17.148.161
66.17.148.162
66.17.148.163
66.17.148.164
66.17.148.165
66.17.148.166
66.17.148.167
66.17.148.168
66.17.148.169
66.17.148.170
66.17.148.171
66.17.148.172
66.17.148.173
66.17.148.174
66.17.148.175
66.17.148.176
66.17.148.177
66.17.148.178
66.17.148.179
66.17.148.180
66.17.148.181
66.17.148.182
66.17.148.183
66.17.148.184
66.17.148.185
66.17.148.186
66.17.148.187
66.17.148.188
66.17.148.189
66.17.148.190
66.17.148.191
66.163.170.193

View File

@@ -1,21 +0,0 @@
# Excite
198.3.103
199.172.148.105
199.172.148.11
199.172.148.37
199.172.149
199.172.152.238
199.172.152.34
199.172.152.54
199.172.152.56
199.172.152.57
199.172.152.95
199.172.153.174
199.172.153.178
199.172.156.168
199.172.156.169
199.172.156.170
199.172.156.219
199.172.157.28
204.62.245

View File

@@ -1,291 +0,0 @@
# Google
# UA "AdsBot-Google (+http://www.google.com/adsbot.html)"
# UA "Googlebot-Image/1.0"
# UA "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"
# UA "Googlebot/Test (+http://www.googlebot.com/bot.html)"
# UA "Googlebot/Test"
# UA "Mediapartners-Google/2.1 (+http://www.googlebot.com/bot.html)"
# UA "Mediapartners-Google/2.1"
# UA "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
# UA "gsa-crawler (Enterprise; S4-E9LJ2B82FJJAA; me@mycompany.com)"
209.185.108
209.185.253
209.85.238
209.85.238.11
209.85.238.4
216.239.33.96
216.239.33.97
216.239.33.98
216.239.33.99
216.239.37.98
216.239.37.99
216.239.39.98
216.239.39.99
216.239.41.96
216.239.41.97
216.239.41.98
216.239.41.99
216.239.45.4
216.239.46
216.239.51.96
216.239.51.97
216.239.51.98
216.239.51.99
216.239.53.98
216.239.53.99
216.239.57.96
216.239.57.97
216.239.57.98
216.239.57.99
216.239.59.98
216.239.59.99
216.33.229.163
64.233.173.193
64.233.173.194
64.233.173.195
64.233.173.196
64.233.173.197
64.233.173.198
64.233.173.199
64.233.173.200
64.233.173.201
64.233.173.202
64.233.173.203
64.233.173.204
64.233.173.205
64.233.173.206
64.233.173.207
64.233.173.208
64.233.173.209
64.233.173.210
64.233.173.211
64.233.173.212
64.233.173.213
64.233.173.214
64.233.173.215
64.233.173.216
64.233.173.217
64.233.173.218
64.233.173.219
64.233.173.220
64.233.173.221
64.233.173.222
64.233.173.223
64.233.173.224
64.233.173.225
64.233.173.226
64.233.173.227
64.233.173.228
64.233.173.229
64.233.173.230
64.233.173.231
64.233.173.232
64.233.173.233
64.233.173.234
64.233.173.235
64.233.173.236
64.233.173.237
64.233.173.238
64.233.173.239
64.233.173.240
64.233.173.241
64.233.173.242
64.233.173.243
64.233.173.244
64.233.173.245
64.233.173.246
64.233.173.247
64.233.173.248
64.233.173.249
64.233.173.250
64.233.173.251
64.233.173.252
64.233.173.253
64.233.173.254
64.233.173.255
64.68.80
64.68.81
64.68.82
64.68.83
64.68.84
64.68.85
64.68.86
64.68.87
64.68.88
64.68.89
64.68.90.1
64.68.90.10
64.68.90.11
64.68.90.12
64.68.90.129
64.68.90.13
64.68.90.130
64.68.90.131
64.68.90.132
64.68.90.133
64.68.90.134
64.68.90.135
64.68.90.136
64.68.90.137
64.68.90.138
64.68.90.139
64.68.90.14
64.68.90.140
64.68.90.141
64.68.90.142
64.68.90.143
64.68.90.144
64.68.90.145
64.68.90.146
64.68.90.147
64.68.90.148
64.68.90.149
64.68.90.15
64.68.90.150
64.68.90.151
64.68.90.152
64.68.90.153
64.68.90.154
64.68.90.155
64.68.90.156
64.68.90.157
64.68.90.158
64.68.90.159
64.68.90.16
64.68.90.160
64.68.90.161
64.68.90.162
64.68.90.163
64.68.90.164
64.68.90.165
64.68.90.166
64.68.90.167
64.68.90.168
64.68.90.169
64.68.90.17
64.68.90.170
64.68.90.171
64.68.90.172
64.68.90.173
64.68.90.174
64.68.90.175
64.68.90.176
64.68.90.177
64.68.90.178
64.68.90.179
64.68.90.18
64.68.90.180
64.68.90.181
64.68.90.182
64.68.90.183
64.68.90.184
64.68.90.185
64.68.90.186
64.68.90.187
64.68.90.188
64.68.90.189
64.68.90.19
64.68.90.190
64.68.90.191
64.68.90.192
64.68.90.193
64.68.90.194
64.68.90.195
64.68.90.196
64.68.90.197
64.68.90.198
64.68.90.199
64.68.90.2
64.68.90.20
64.68.90.200
64.68.90.201
64.68.90.202
64.68.90.203
64.68.90.204
64.68.90.205
64.68.90.206
64.68.90.207
64.68.90.208
64.68.90.21
64.68.90.22
64.68.90.23
64.68.90.24
64.68.90.25
64.68.90.26
64.68.90.27
64.68.90.28
64.68.90.29
64.68.90.3
64.68.90.30
64.68.90.31
64.68.90.32
64.68.90.33
64.68.90.34
64.68.90.35
64.68.90.36
64.68.90.37
64.68.90.38
64.68.90.39
64.68.90.4
64.68.90.40
64.68.90.41
64.68.90.42
64.68.90.43
64.68.90.44
64.68.90.45
64.68.90.46
64.68.90.47
64.68.90.48
64.68.90.49
64.68.90.5
64.68.90.50
64.68.90.51
64.68.90.52
64.68.90.53
64.68.90.54
64.68.90.55
64.68.90.56
64.68.90.57
64.68.90.58
64.68.90.59
64.68.90.6
64.68.90.60
64.68.90.61
64.68.90.62
64.68.90.63
64.68.90.64
64.68.90.65
64.68.90.66
64.68.90.67
64.68.90.68
64.68.90.69
64.68.90.7
64.68.90.70
64.68.90.71
64.68.90.72
64.68.90.73
64.68.90.74
64.68.90.75
64.68.90.76
64.68.90.77
64.68.90.78
64.68.90.79
64.68.90.8
64.68.90.80
64.68.90.9
64.68.91
64.68.92
66.249.64
66.249.65
66.249.66
66.249.67
66.249.68
66.249.69
66.249.70
66.249.71
66.249.72
66.249.73
66.249.78
66.249.79
72.14.199
8.6.48

View File

@@ -1,88 +0,0 @@
# Infoseek
# UA "Infoseek SideWinder/2.0B (Linux 2.4 i686)"
195.145.119.24
195.145.119.25
198.5.208
198.5.210
202.33.250.146
202.33.250.147
202.33.250.148
202.33.250.149
202.33.250.150
202.33.250.151
202.33.250.152
202.33.250.153
202.33.250.154
204.162.96
204.162.97.1
204.162.97.152
204.162.97.17
204.162.97.2
204.162.97.205
204.162.97.228
204.162.97.231
204.162.97.3
204.162.97.32
204.162.98.11
204.162.98.12
204.162.98.124
204.162.98.126
204.162.98.151
204.162.98.161
204.162.98.168
204.162.98.18
204.162.98.192
204.162.98.2
204.162.98.237
204.162.98.27
204.162.98.3
204.162.98.36
204.162.98.38
204.162.98.4
204.162.98.45
204.162.98.48
204.162.98.49
204.162.98.5
204.162.98.6
204.162.98.7
204.162.98.8
204.162.98.80
204.162.98.88
204.162.98.9
204.162.98.91
204.162.98.98
204.202.132.19
205.226.201
205.226.203.186
205.226.203.35
205.226.203.56
205.226.203.62
205.226.204.238
206.3.30.196
206.3.30.250
206.3.30.251
210.148.160.157
210.148.160.163
210.148.160.165
210.148.160.206
210.155.157
210.155.159
210.236.233.130
210.236.233.131
210.236.233.132
210.236.233.133
210.236.233.135
210.236.233.136
210.236.233.137
210.236.233.139
210.236.233.150
210.236.233.151
210.236.233.155
210.236.233.160
210.236.233.161
211.13.222.230
211.18.214.194
212.185.44.10
212.185.44.11
212.185.44.12
212.185.44.15

View File

@@ -1,749 +0,0 @@
# Inktomi
# UA "Fast Crawler v X"
# UA "Fast Crawler v X(compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)"
# UA "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)"
# UA "Mozilla/4.0"
# UA "Mozilla/4.05 [en]"
# UA "Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com/slurp.html)"
# UA "Mozilla/5.0 (compatible; Yahoo! DE Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"
# UA "Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)"
# UA "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"
# UA "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"
# UA "Scooter/3.3"
# UA "Y!J-BSC/1.0 (http://help.yahoo.co.jp/help/jp/blog-search/)"
# UA "Yahoo! Mindset"
# UA "Yahoo-Blogs/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; http://help.yahoo.com/help/us/ysearch/crawling/crawling-02.html )"
# UA "Yahoo-MMAudVid/1.0 (mms dash mmaudvidcrawler dash support at yahoo dash inc dot com)"
# UA "Yahoo-MMCrawler/3.x (mms dash mmcrawler dash support at yahoo dash inc dot com)"
# UA "YahooFeedSeeker/1.0 (compatible; Mozilla 4.0; MSIE 5.5; my.yahoo.com/s/publishers.html)"
# UA "YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; http://search.yahoo.com/)"
# UA "YahooSeeker/1.1 (compatible; Mozilla 4.0; MSIE 5.5; http://help.yahoo.com/help/us/shop/merchant/)"
# UA "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)"
# UA "YahooSeeker/CafeKelsa-dev (compatible; Konqueror/3.2; FreeBSD ;cafekelsa-dev-webmaster@yahoo-inc.com ) (KHTML, like Gecko)"
# UA "YahooVideoSearch www.yahoo.com/"
# UA "YahooYSMcm/2.0.0"
# UA "slurp"
141.185.209
169.207.238
199.177.18.9
202.160.178
202.160.179
202.160.180
202.160.181
202.160.183.182
202.160.183.217
202.160.183.218
202.160.183.219
202.160.183.220
202.160.183.235
202.160.183.239
202.160.183.245
202.160.185.174
202.165.96.142
202.165.98
202.165.99
202.212.5.30
202.212.5.32
202.212.5.33
202.212.5.34
202.212.5.35
202.212.5.36
202.212.5.37
202.212.5.38
202.212.5.39
202.212.5.47
202.212.5.48
202.46.19.93
203.123.188.2
203.141.52.41
203.141.52.42
203.141.52.43
203.141.52.44
203.141.52.45
203.141.52.46
203.141.52.47
203.255.234.102
203.255.234.103
203.255.234.105
203.255.234.106
206.190.43.125
206.190.43.81
207.126.239.224
209.1.12
209.1.13.101
209.1.13.231
209.1.13.232
209.1.32.122
209.1.38
209.131.40
209.131.41
209.131.48
209.131.49.37
209.131.50.153
209.131.51.166
209.131.60.169
209.131.60.170
209.131.60.171
209.131.60.19
209.131.62.107
209.131.62.108
209.131.62.109
209.131.62.214
209.185.122
209.185.141
209.185.143
209.191.123.33
209.191.64.227
209.191.65
209.191.65.249
209.191.65.82
209.191.82.245
209.191.82.252
209.191.83
209.67.206.126
209.67.206.127
209.67.206.133
209.73.176.128
209.73.176.129
209.73.176.133
209.73.176.134
209.73.176.136
211.14.8.240
211.169.241.21
213.216.143.37
213.216.143.38
213.216.143.39
216.109.121.70
216.109.121.71
216.109.126.131
216.109.126.133
216.109.126.137
216.109.126.138
216.109.126.139
216.109.126.141
216.109.126.143
216.109.126.145
216.109.126.146
216.109.126.147
216.109.126.150
216.109.126.152
216.109.126.157
216.109.126.158
216.109.126.159
216.109.126.160
216.109.126.161
216.136.233.164
216.145.58.219
216.155.198.60
216.155.200
216.155.202.175
216.155.202.54
216.155.204.40
216.239.193.71
216.239.193.72
216.239.193.73
216.239.193.74
216.239.193.75
216.239.193.76
216.239.193.77
216.239.193.78
216.239.193.79
216.239.193.80
216.239.193.81
216.239.193.82
216.239.193.83
216.239.193.84
216.239.193.85
216.239.193.86
216.32.237.1
216.32.237.10
216.32.237.11
216.32.237.12
216.32.237.13
216.32.237.14
216.32.237.15
216.32.237.16
216.32.237.17
216.32.237.18
216.32.237.19
216.32.237.20
216.32.237.21
216.32.237.22
216.32.237.23
216.32.237.24
216.32.237.25
216.32.237.26
216.32.237.27
216.32.237.28
216.32.237.29
216.32.237.30
216.32.237.7
216.32.237.8
216.32.237.9
62.172.199.20
62.172.199.21
62.172.199.22
62.172.199.23
62.172.199.24
62.27.59.245
63.163.102.180
63.163.102.181
63.163.102.182
64.157.137.219
64.157.137.220
64.157.137.221
64.157.137.225
64.157.138.103
64.157.138.108
64.75.36.42
64.75.36.43
64.75.36.44
64.75.36.45
64.75.36.47
64.75.36.77
64.75.36.79
64.75.36.80
66.163.170.157
66.163.170.159
66.163.170.161
66.163.170.162
66.163.170.166
66.163.170.167
66.163.170.170
66.163.170.172
66.163.170.176
66.163.170.178
66.163.170.179
66.163.170.180
66.163.170.184
66.163.170.185
66.163.170.190
66.163.170.192
66.163.174.65
66.196.101
66.196.65
66.196.67.100
66.196.67.101
66.196.67.102
66.196.67.103
66.196.67.104
66.196.67.105
66.196.67.106
66.196.67.107
66.196.67.108
66.196.67.109
66.196.67.110
66.196.67.111
66.196.67.112
66.196.67.113
66.196.67.114
66.196.67.115
66.196.67.116
66.196.67.117
66.196.67.118
66.196.67.119
66.196.67.120
66.196.67.121
66.196.67.122
66.196.67.123
66.196.67.124
66.196.67.125
66.196.67.126
66.196.67.127
66.196.67.128
66.196.67.129
66.196.67.130
66.196.67.150
66.196.67.151
66.196.67.176
66.196.67.177
66.196.67.178
66.196.67.200
66.196.67.201
66.196.67.202
66.196.67.203
66.196.67.204
66.196.67.205
66.196.67.206
66.196.67.207
66.196.67.208
66.196.67.209
66.196.67.210
66.196.67.211
66.196.67.212
66.196.67.213
66.196.67.214
66.196.67.215
66.196.67.216
66.196.67.217
66.196.67.218
66.196.67.219
66.196.67.220
66.196.67.221
66.196.67.222
66.196.67.223
66.196.67.224
66.196.67.225
66.196.67.226
66.196.67.227
66.196.67.228
66.196.67.229
66.196.67.230
66.196.67.231
66.196.67.232
66.196.67.233
66.196.67.234
66.196.67.235
66.196.67.236
66.196.67.237
66.196.67.238
66.196.67.239
66.196.67.240
66.196.67.254
66.196.67.30
66.196.67.31
66.196.67.32
66.196.67.33
66.196.67.34
66.196.67.35
66.196.67.36
66.196.67.37
66.196.67.38
66.196.67.39
66.196.67.70
66.196.67.71
66.196.67.72
66.196.67.73
66.196.67.74
66.196.67.75
66.196.67.76
66.196.67.77
66.196.67.78
66.196.67.79
66.196.67.80
66.196.67.94
66.196.67.95
66.196.67.96
66.196.67.97
66.196.67.98
66.196.67.99
66.196.72
66.196.73
66.196.74
66.196.77
66.196.78
66.196.80
66.196.81.10
66.196.81.102
66.196.81.103
66.196.81.104
66.196.81.105
66.196.81.106
66.196.81.107
66.196.81.108
66.196.81.109
66.196.81.11
66.196.81.110
66.196.81.111
66.196.81.112
66.196.81.113
66.196.81.114
66.196.81.115
66.196.81.116
66.196.81.117
66.196.81.118
66.196.81.119
66.196.81.12
66.196.81.120
66.196.81.121
66.196.81.122
66.196.81.123
66.196.81.124
66.196.81.125
66.196.81.126
66.196.81.127
66.196.81.128
66.196.81.129
66.196.81.13
66.196.81.130
66.196.81.131
66.196.81.132
66.196.81.133
66.196.81.134
66.196.81.135
66.196.81.136
66.196.81.137
66.196.81.138
66.196.81.139
66.196.81.14
66.196.81.140
66.196.81.141
66.196.81.142
66.196.81.143
66.196.81.144
66.196.81.145
66.196.81.146
66.196.81.147
66.196.81.148
66.196.81.149
66.196.81.15
66.196.81.150
66.196.81.151
66.196.81.152
66.196.81.153
66.196.81.154
66.196.81.155
66.196.81.156
66.196.81.157
66.196.81.158
66.196.81.159
66.196.81.16
66.196.81.160
66.196.81.161
66.196.81.162
66.196.81.163
66.196.81.164
66.196.81.165
66.196.81.166
66.196.81.167
66.196.81.168
66.196.81.169
66.196.81.17
66.196.81.170
66.196.81.171
66.196.81.172
66.196.81.173
66.196.81.174
66.196.81.175
66.196.81.176
66.196.81.177
66.196.81.178
66.196.81.179
66.196.81.18
66.196.81.180
66.196.81.181
66.196.81.182
66.196.81.183
66.196.81.184
66.196.81.185
66.196.81.187
66.196.81.188
66.196.81.189
66.196.81.19
66.196.81.190
66.196.81.191
66.196.81.192
66.196.81.193
66.196.81.194
66.196.81.195
66.196.81.196
66.196.81.197
66.196.81.198
66.196.81.199
66.196.81.20
66.196.81.200
66.196.81.201
66.196.81.202
66.196.81.203
66.196.81.204
66.196.81.205
66.196.81.206
66.196.81.207
66.196.81.208
66.196.81.209
66.196.81.21
66.196.81.210
66.196.81.211
66.196.81.212
66.196.81.213
66.196.81.214
66.196.81.215
66.196.81.216
66.196.81.217
66.196.81.218
66.196.81.219
66.196.81.22
66.196.81.23
66.196.81.86
66.196.81.87
66.196.81.88
66.196.81.93
66.196.81.94
66.196.81.95
66.196.81.96
66.196.90
66.196.91
66.196.92
66.196.93.19
66.196.93.24
66.196.93.6
66.196.93.7
66.196.97
66.196.99.20
66.218.65.52
66.218.70
66.228.164
66.228.165
66.228.166
66.228.173
66.228.182.177
66.228.182.183
66.228.182.185
66.228.182.187
66.228.182.188
66.228.182.190
66.94.230.100
66.94.230.101
66.94.230.102
66.94.230.103
66.94.230.104
66.94.230.105
66.94.230.106
66.94.230.107
66.94.230.108
66.94.230.109
66.94.230.110
66.94.230.160
66.94.230.161
66.94.230.162
66.94.230.163
66.94.230.96
66.94.230.97
66.94.230.98
66.94.230.99
66.94.232
66.94.233
66.94.238.51
67.195.115
67.195.34
67.195.37
67.195.44
67.195.45
67.195.50.87
67.195.51
67.195.52
67.195.53.111
67.195.53.219
67.195.54
67.195.58
67.195.98
67.195.110
67.195.111
67.195.112
67.195.113
67.195.114
68.142.195.80
68.142.195.81
68.142.203.133
68.142.211.69
68.142.212.197
68.142.230.125
68.142.230.126
68.142.230.127
68.142.230.128
68.142.230.129
68.142.230.130
68.142.230.131
68.142.230.132
68.142.230.133
68.142.230.134
68.142.230.135
68.142.230.136
68.142.230.137
68.142.230.138
68.142.230.139
68.142.230.140
68.142.230.141
68.142.230.142
68.142.230.143
68.142.230.144
68.142.230.145
68.142.230.146
68.142.230.147
68.142.230.148
68.142.230.149
68.142.230.150
68.142.230.151
68.142.230.152
68.142.230.153
68.142.230.154
68.142.230.155
68.142.230.156
68.142.230.157
68.142.230.158
68.142.230.159
68.142.230.160
68.142.230.161
68.142.230.162
68.142.230.163
68.142.230.164
68.142.230.165
68.142.230.166
68.142.230.167
68.142.230.168
68.142.230.169
68.142.230.174
68.142.230.175
68.142.230.176
68.142.230.177
68.142.230.178
68.142.230.179
68.142.230.180
68.142.230.181
68.142.230.182
68.142.230.183
68.142.230.184
68.142.230.185
68.142.230.186
68.142.230.187
68.142.230.188
68.142.230.189
68.142.230.190
68.142.230.191
68.142.230.192
68.142.230.193
68.142.230.194
68.142.230.195
68.142.230.196
68.142.230.197
68.142.230.198
68.142.230.199
68.142.230.200
68.142.230.201
68.142.230.202
68.142.230.203
68.142.230.204
68.142.230.205
68.142.230.206
68.142.230.207
68.142.230.208
68.142.230.209
68.142.230.210
68.142.230.211
68.142.230.212
68.142.230.213
68.142.230.214
68.142.230.215
68.142.230.216
68.142.230.217
68.142.230.240
68.142.230.247
68.142.230.248
68.142.230.249
68.142.230.250
68.142.230.251
68.142.230.252
68.142.230.253
68.142.230.254
68.142.230.32
68.142.230.33
68.142.230.34
68.142.230.35
68.142.230.36
68.142.230.37
68.142.230.38
68.142.230.39
68.142.230.40
68.142.230.41
68.142.230.43
68.142.230.44
68.142.230.45
68.142.230.46
68.142.230.47
68.142.230.48
68.142.230.49
68.142.231.49
68.142.240.106
68.142.246
68.142.249
68.142.250
68.142.251
68.180.216.111
68.180.250
68.180.251
69.147.79.131
69.147.79.137
69.147.79.173
72.30.101
72.30.102
72.30.103
72.30.104
72.30.107
72.30.110
72.30.111
72.30.124.128
72.30.124.130
72.30.124.134
72.30.128
72.30.129
72.30.131
72.30.132
72.30.133
72.30.134
72.30.135
72.30.142
72.30.142.24
72.30.142.25
72.30.161
72.30.177
72.30.179
72.30.213.101
72.30.214
72.30.215
72.30.216
72.30.221
72.30.226
72.30.252
72.30.54
72.30.56
72.30.60
72.30.61
72.30.65
72.30.78
72.30.79
72.30.81
72.30.87
72.30.9
72.30.97
72.30.98
72.30.99
74.6.11
74.6.12
74.6.13
74.6.131
74.6.16
74.6.17
74.6.18
74.6.19
74.6.20
74.6.21
74.6.22
74.6.23
74.6.24
74.6.240
74.6.25
74.6.26
74.6.27
74.6.28
74.6.29
74.6.30
74.6.31
74.6.65
74.6.66
74.6.67
74.6.68
74.6.69
74.6.7
74.6.70
74.6.71
74.6.72
74.6.73
74.6.74
74.6.75
74.6.76
74.6.79
74.6.8
74.6.85
74.6.86
74.6.87
74.6.9

View File

@@ -1,41 +0,0 @@
# Lycos
# UA "Lycos_Spider_(modspider)"
166.48.225.254
202.232.118.40
202.232.118.51
206.79.171
207.77.90
207.77.91.184
208.146.26
208.146.27.123
208.146.27.124
208.146.27.57
208.146.27.58
208.146.27.59
208.146.27.60
208.146.27.62
208.146.27.89
208.146.27.90
208.146.27.91
208.146.27.92
208.146.27.93
208.146.27.94
208.146.27.95
208.146.27.96
209.202.192
209.202.192.147
209.202.193
209.202.194.237
209.202.194.238
209.202.205.1
209.202.240.109
209.202.240.8
209.202.248.211
209.202.248.212
209.202.248.213
209.202.248.214
209.67.228
209.67.229
211.51.63.4
213.193.19.35
64.89.33

View File

@@ -1,295 +0,0 @@
# Alexa
# UA "ia_archiver"
# Has many IPs
crawl8-public.alexa.com
209.247.40.99
# Almaden
# UA "http://www.almaden.ibm.com/cs/crawler"
# IBM research project
wfp2.almaden.ibm.com
198.4.83.49
# Cyveillance
# UA "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
# A snoop bot to check for copyright/trademark violations
63.148.99.224 - 63.148.99.255
# Curl
# UA "curl/7.9.1 (win32) libcurl 7.9.1"
# it's a php tool used to grab web pages, etc.
# comes from a multitude of IPs
# DTSearch
# UA "dtSearchSpider"
# retail search software
# probably coming from many IPs
64.222.18.44
# Eidetica.com
# UA "Mozilla/4.7 (compatible; http://eidetica.com/spider)"
# Search engine hosting/spidering service
idle.eidetica.com
62.58.2.5
# e-SocietyRobot
# UA "e-SocietyRobot(http://www.yama.info.waseda.ac.jp/~yamana/es/)"
# Japanese research project
210.128.142.42
# Fantoma
# UA "Mozilla/4.0 (fantomBrowser)"
# UA "Mozilla/4.0 (stealthBrowser)"
# UA "Mozilla/4.0 (cloakBrowser)"
# UA "Mozilla/4.0 (fantomCrew Browser)"
# UA "multiBlocker browser - IP blocker for Spam, Fraud + Snoop Protection"
# UA "multiBlocker browser"
# does spidering for promotional purposes and cataloging purposes
# also spoofs referring URL in header with link to their website
# Girafa.com
# UA "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)"
# a client program similar to Alexa
64.210.196.195
64.210.196.198
# Googlebot Fake
# UA "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"
# This is somebody in China with a bot faking Googlebot's user agent
# I've heard reports it's a hacker
211.154.211.209
# Googlebot Fake
# UA "Mozilla/4.0 (compatible; MSIE 6.0; Googlebot/2.1 (+http://www.googlebot.com/bot.html); .NET CLR 1.0.3705)"
# IP resolves to someplace in New Hampshire
66.94.35.20
# Grub.org
# UA "-"
# open source spider
brain.grub.org
208.128.7.215
# IncyWincy
# UA "IncyWincy data gatherer(webmaster@loopimprovements.com,http://www.loopimprovements.com/robot.html)"
# appears to be a search engine spider for sale to anybody
dsl081-243-066.sfo1.dsl.speakeasy.net
64.81.243.66
64.133.109.250
# Indy Library
# UA "Mozilla/3.0 (compatible; Indy Library)"
# An email harvester
# Probably running from many independent locations/IPs
211.101.236.91
211.101.236.162
212.1.26.100
# Inria.fr
# UA "Sqworm/2.9.72-BETA (beta_release; 20010821-737; i686-pc-linux-gnu)"
# UA "larbin" (or some variations on larbin)
# a French research institute
# larbin appears to be a distributed spider
213.97.108.143
63.212.171.171
# Intelliseek
# UA "Mozilla/4.7 (compatible; Intelliseek; http://www.intelliseek.com)"
# A data mining company
64.158.138.48
# Internetseer.com
# UA "sitecheck.internetseer.com"
# an uptime verifier
198.139.155.7
198.139.155.32
# Larbin
# UA "larbin"
# a crawler available under GPL
# related to Xyleme
# running in a number of independent locations
# Lexis-Nexis.com
# UA "LNSpiderguy"
# snoop bot
198.185.18.207
# LinkWalker
# UA "LinkWalker"
# looks like a link verifier
209.167.50.22
209.167.50.25
# Lite Bot
# UA "Lite Bot 0916b"
# Probably a distributed bot used for a variety
# of purposes. Does not obey robots.txt
24.126.133.124
# MarkWatch.com
# UA "MarkWatch/1.0"
# trademark violation investigation bot
204.62.226.36
206.190.171.174
206.190.171.175
# Metacarta.com
# UA "flunky"
# This bot belongs to an information gathering company
# Also known as Bigfoot
66.28.20.194
66.28.44.122
66.28.44.123
66.28.44.125
66.28.68.234
66.28.68.235
66.28.68.236
66.28.68.237
# Microsoft URL control
# UA "Microsoft URL Control - 5.01.4319"
# VisualBasic tool for grabbing web pages. Probably in use
# from multiple independent IPs
195.166.231.3
# NameProtect
# UA "NAMEPROTECT"
# UA "Mozilla/4.7"
# UA "RPT-HTTPClient/0.3-3"
# UA "NPBot-1/2.0 (http://www.nameprotect.com/botinfo.html)"
# UA "aipbot/1.0 (aipbot; http://www.aipbot.com; aipbot@aipbot.com)"
# snoop bot to check for trademark violations
crawler918.com
12.40.85
12.148.209.196
# NetMechanic
# UA "NetMechanic V2.0"
147.208.15.13
216.182.214.7
# NetSpective
# UA "WebFilter Robot 1.0"
# A web filterer
# PicaLoader
# UA "PicaLoader 1.0"
# A site/picture downloader
# Robozilla
# UA "Robozilla/1.0"
# Link checker for ODP... http://www.dmoz.org
207.200.81.145
# RPT-HTTPClient
# UA "RPT-HTTPClient/0.3-3"
# A Java library used for spidering
# ScoutAbout
# UA "ScoutAbout"
# is not a SE spider -- it's for sale to anybody
zeus.nj.nec.com
138.15.164.9
# SlySearch
# UA "TurnitinBot/1.4 http://www.turnitin.com/robot/crawlerinfo.html"
# UA "SlySearch"
# a bot used to verify plagiarism, etc.
# Spidersoft
# UA "WebZIP/4.0 (http://www.spidersoft.com)"
# web page downloader probably from many independent IPs
212.253.129.11
# Teleport Pro
# UA "Teleport Pro/1.28"
# a personal bot for windows
# operating from many IPs... not worth listing any
# Teradex Mapper
# UA "(Teradex Mapper; mapper@teradex.com; http://www.teradex.com)"
# a bot that belongs to the human reviewed Teradex directory
64.69.79.210
# Tivra
# UA "tivraSpider/1.0 (crawler@tivra.com)"
# looks like an IBM or AT&T research spider
panchma.tivra.com
207.140.168.143
207.140.168.146
# Tracerlock
# http://www.tracerlock.com
# news monitoring service
# UA "libwww-perl/5.47"
tracerlock.com
209.61.182.37
# UbiCrawler
# UA "UbiCrawler/v0.3beta (http://ubi.imc.pi.cnr.it/projects/ubicrawler/)"
# an experimental bot
146.48.78.32
146.48.78.38
# Webclipping.com
# UA "Webclipping.com"
# a data mining bot
209.73.228.163
209.73.228.167
# Webrank
# UA "webrank"
# looks like a ranking checker
xs4.kso.co.uk
207.235.6.157
# Websquash.com
# UA: "websquash.com ( Add Url Robot )"
# A fishy engine that belongs to sitereleases.com, a SEO company
66.221.171.1
# websmostlinked.com
# UA "lwp-trivial/1.34"
# UA "AESOP_com_SpiderMan"
# could be a legitimate spider but more likely a hazard for cloakers
64.14.241.54
# Whizbang
# UA "ozilla/4.7 (compatible; Whizbang)"
# WhizBang is a company that sells a spider to build databases
pixnat06.whizbang.com
63.173.190.16
pixnat09.whizbang.com
63.173.190.19
# X-Crawler
# UA "TECOMAC-Crawler/0.3"
# UA "X-Crawler"
# a distributed spider sold by Arexera
# Xyleme.com
# UA "cosmos/0.8)_(robot@xyleme.com)"
# related to Inria.fr
# related to Larbin
212.73.246.73
212.73.246.71
# Yahoo.com URL verifiers
# UA "Mozilla/4.05"
morgue1.corp.yahoo.com
216.145.54.35
hanta.yahoo.com
216.145.50.40
# Zealbot
# UA "Mozilla/4.0(compatible; Zealbot 1.0)"
# LookSmarts link checker
64.241.242.11
64.241.243.32
64.241.243.65
64.241.243.66
# Zeus Webster
# UA "Zeus 60359 Webster Pro V2.9 Win32"
# directory builder available retail

View File

@@ -1,15 +0,0 @@
<!ELEMENT xmlui (aspects,themes)>
<!ELEMENT aspects (aspect+)>
<!ELEMENT aspect EMPTY>
<!ATTLIST aspect name CDATA #REQUIRED>
<!ATTLIST aspect description CDATA #IMPLIED>
<!ATTLIST aspect desc CDATA #IMPLIED>
<!ATTLIST aspect path CDATA #REQUIRED>
<!ELEMENT themes (theme*)>
<!ELEMENT theme EMPTY>
<!ATTLIST theme name CDATA #REQUIRED>
<!ATTLIST theme handle CDATA #IMPLIED>
<!ATTLIST theme regex CDATA #IMPLIED>
<!ATTLIST theme path CDATA #REQUIRED>
<!ATTLIST theme id CDATA #IMPLIED>

View File

@@ -1,115 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE xmlui SYSTEM "xmlui.dtd">
<!--
- xmlui.xconf
-
- Copyright (c) 2002-2009, The DSpace Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- Neither the name of the DSpace Foundation nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
-->
<!--
- The XMLUI (Manakin Release) configuration file
-
- Authors: Scott Phillips
- Version: $Revision: 4445 $
- Date: $Date: 2009-10-11 01:32:54 +0100 (Sun, 11 Oct 2009) $
-->
<xmlui>
<!--
This section configures the Aspect "chain". An Aspect provides a set
of coupled features for the system. All Aspects are chained together
such that together they form the complete DSpace website. This is where
the chain is defined, the order in which each aspect is declared
determines it's order in the chain. Aspects at the top are invoked
first.
The <aspect> element has two attributes, name & path. The name is used
to identify the Aspect, while the path determines the directory. The
path attribute should be listed exactly as it is found in the
/xmlui/cocoon/aspects/ directory followed by a slash.
-->
<aspects>
<aspect name="Artifact Browser" path="resource://aspects/ArtifactBrowser/" />
<aspect name="Administration" path="resource://aspects/Administrative/" />
<aspect name="E-Person" path="resource://aspects/EPerson/" />
<aspect name="Submission and Workflow" path="resource://aspects/Submission/" />
<aspect name="Statistics" path="resource://aspects/Statistics/" />
<!--
This aspect tests the various possible DRI features,
it helps a theme developer create themes
-->
<!-- <aspect name="XML Tests" path="resource://aspects/XMLTest/"/> -->
</aspects>
<!--
This section configures which Theme should apply to a particular URL.
Themes stylize an abstract DRI document (generated by the Aspect
chain from above) and produce XHTML (or possibly another format) for
display to the user. Each theme rule is processed in the order that it
is listed below, the first rule that matches is the theme that is applied.
The <theme> element has several attributes including: name, id, regex,
handle, and path. The name attribute is used to identify the theme, while
the path determines the directory. The path attribute should be listed
exactly as it is found in the /xmlui/cocoon/themes/ directory. Both the
regex and handle attributes determine if the theme rule matches the URL.
If either the pattern or handle attribute is left off then the only the
other component is used to determine matching.
Keep in mind that the order of <theme> elements matters in the case of
overlapping matching rules. For example, a theme rule with a very broad
matching rule (like regex=".*") will override a more specific theme
declaration (like handle="1234/23") if placed before it.
Finally, theme application also "cascades" down to pages derived from the
one that the theme directly applies to. Thus, a theme applied to a
specific community will also apply to that community's collections and
their respective items.
-->
<themes>
<!-- Example configuration -->
<!-- <theme name="Test Theme 1" handle="123456789/1" path="theme1/"/> -->
<!-- <theme name="Test Theme 2" regex="community-list" path="theme2/"/> -->
<!-- Default theme -->
<theme name="Default Reference Theme" regex=".*" path="Reference/" />
<!-- Classic theme, inspired by the JSP UI -->
<!-- <theme name="Classic" regex=".*" path="Classic/" /> -->
<!-- Table based browse display -->
<!-- <theme name="Table Theme" regex=".*" path="TableTheme/" /> -->
</themes>
</xmlui>

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
All (relative) paths are relative to the installation path
persistent: Save changes made via the API to this file
sharedLib: path to a lib directory that will be shared across all cores
-->
<solr persistent="false">
<!--
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via REST
-->
<cores adminPath="/admin/cores">
<core name="statistics" instanceDir="statistics" />
</cores>
</solr>

View File

@@ -1,31 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- The content of this page will be statically included into the top
of the admin page. Uncomment this as an example to see there the content
will show up.
<hr>
<i>This line will appear before the first table</i>
<tr>
<td colspan="2">
This row will be appended to the end of the first table
</td>
</tr>
<hr>
-->

View File

@@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- If this file is found in the config directory, it will only be
loaded once at startup. If it is found in Solr's data
directory, it will be re-loaded every commit.
-->
<elevate>
<query text="foo bar">
<doc id="1" />
<doc id="2" />
<doc id="3" />
</query>
<query text="ipod">
<doc id="MA147LL/A" /> <!-- put the actual ipod at the top -->
<doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
</query>
</elevate>

View File

@@ -1,21 +0,0 @@
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-----------------------------------------------------------------------
# Use a protected word file to protect against the stemmer reducing two
# unrelated words to the same base word.
# Some non-words that normally won't be encountered,
# just to test that they won't be stemmed.
dontstems
zwhacky

View File

@@ -1,307 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
This is the Solr schema file. This file should be named "schema.xml" and
should be in the conf directory under the solr home
(i.e. ./solr/conf/schema.xml by default)
or located where the classloader for the Solr webapp can find it.
This example schema is the recommended starting point for users.
It should be kept correct and concise, usable out-of-the-box.
For more information, on how to customize this file, please see
http://wiki.apache.org/solr/SchemaXml
-->
<schema name="example" version="1.1">
<!-- attribute "name" is the name of this schema and is only used for display purposes.
Applications should change this to reflect the nature of the search collection.
version="1.1" is Solr's version number for the schema syntax and semantics. It should
not normally be changed by applications.
1.0: multiValued attribute did not exist, all fields are multiValued by nature
1.1: multiValued attribute introduced, false by default -->
<types>
<!-- field type definitions. The "name" attribute is
just a label to be used by field definitions. The "class"
attribute and any other attributes determine the real
behavior of the fieldType.
Class names starting with "solr" refer to java classes in the
org.apache.solr.analysis package.
-->
<!-- The StrField type is not analyzed, but indexed/stored verbatim.
- StrField and TextField support an optional compressThreshold which
limits compression (if enabled in the derived fields) to values which
exceed a certain size (in characters).
-->
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<!-- boolean type: "true" or "false" -->
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
<!-- The optional sortMissingLast and sortMissingFirst attributes are
currently supported on types that are sorted internally as strings.
- If sortMissingLast="true", then a sort on this field will cause documents
without the field to come after documents with the field,
regardless of the requested sort order (asc or desc).
- If sortMissingFirst="true", then a sort on this field will cause documents
without the field to come before documents with the field,
regardless of the requested sort order.
- If sortMissingLast="false" and sortMissingFirst="false" (the default),
then default lucene sorting will be used which places docs without the
field first in an ascending sort and last in a descending sort.
-->
<!-- numeric field types that store and index the text
value verbatim (and hence don't support range queries, since the
lexicographic ordering isn't equal to the numeric ordering) -->
<fieldType name="integer" class="solr.IntField" omitNorms="true"/>
<fieldType name="long" class="solr.LongField" omitNorms="true"/>
<fieldType name="float" class="solr.FloatField" omitNorms="true"/>
<fieldType name="double" class="solr.DoubleField" omitNorms="true"/>
<!-- Numeric field types that manipulate the value into
a string value that isn't human-readable in its internal form,
but with a lexicographic ordering the same as the numeric ordering,
so that range queries work correctly. -->
<fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and
is a more restricted form of the canonical representation of dateTime
http://www.w3.org/TR/xmlschema-2/#dateTime
The trailing "Z" designates UTC time and is mandatory.
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
All other components are mandatory.
Expressions can also be used to denote calculations that should be
performed relative to "NOW" to determine the value, ie...
NOW/HOUR
... Round to the start of the current hour
NOW-1DAY
... Exactly 1 day prior to now
NOW/DAY+6MONTHS+3DAYS
... 6 months and 3 days in the future from the start of
the current day
Consult the DateField javadocs for more information.
-->
<fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
<!-- The "RandomSortField" is not used to store or search any
data. You can declare fields of this type it in your schema
to generate psuedo-random orderings of your docs for sorting
purposes. The ordering is generated based on the field name
and the version of the index, As long as the index version
remains unchanged, and the same field name is reused,
the ordering of the docs will be consistent.
If you want differend psuedo-random orderings of documents,
for the same version of the index, use a dynamicField and
change the name
-->
<fieldType name="random" class="solr.RandomSortField" indexed="true" />
<!-- solr.TextField allows the specification of custom text analyzers
specified as a tokenizer and a list of token filters. Different
analyzers may be specified for indexing and querying.
The optional positionIncrementGap puts space between multiple fields of
this type on the same document, with the purpose of preventing false phrase
matching across fields.
For more info on customizing your analyzer chain, please see
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
-->
<!-- One can also specify an existing Analyzer class that has a
default constructor via the class attribute on the analyzer element
<fieldType name="text_greek" class="solr.TextField">
<analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/>
</fieldType>
-->
<!-- A text field that only splits on whitespace for exact matching of words -->
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
<!-- A text field that uses WordDelimiterFilter to enable splitting and matching of
words on case-change, alpha numeric boundaries, and non-alphanumeric chars,
so that a query of "wifi" or "wi fi" could match a document containing "Wi-Fi".
Synonyms and stopwords are customized by external files, and stemming is enabled.
Duplicate tokens at the same position (which may result from Stemmed Synonyms or
WordDelim parts) are removed.
-->
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<!-- Case insensitive stop word removal.
enablePositionIncrements=true ensures that a 'gap' is left to
allow for accurate phrase queries.
-->
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<!-- Less flexible matching, but less false matches. Probably not ideal for product names,
but may be good for SKUs. Can insert dashes in the wrong place and still match. -->
<fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<!--
Setup simple analysis for spell checking
-->
<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<!-- This is an example of using the KeywordTokenizer along
With various TokenFilterFactories to produce a sortable field
that does not include some properties of the source text
-->
<fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<!-- KeywordTokenizer does no actual tokenizing, so the entire
input string is preserved as a single token
-->
<tokenizer class="solr.KeywordTokenizerFactory"/>
<!-- The LowerCase TokenFilter does what you expect, which can be
when you want your sorting to be case insensitive
-->
<filter class="solr.LowerCaseFilterFactory" />
<!-- The TrimFilter removes any leading or trailing whitespace -->
<filter class="solr.TrimFilterFactory" />
<!-- The PatternReplaceFilter gives you the flexibility to use
Java Regular expression to replace any sequence of characters
matching a pattern with an arbitrary replacement string,
which may include back refrences to portions of the orriginal
string matched by the pattern.
See the Java Regular Expression documentation for more
infomation on pattern and replacement string syntax.
http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/package-summary.html
-->
<filter class="solr.PatternReplaceFilterFactory"
pattern="([^a-z])" replacement="" replace="all"
/>
</analyzer>
</fieldType>
<!-- since fields of this type are by default not stored or indexed, any data added to
them will be ignored outright
-->
<fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField" />
</types>
<fields>
<!-- Valid attributes for fields:
name: mandatory - the name for the field
type: mandatory - the name of a previously defined type from the <types> section
indexed: true if this field should be indexed (searchable or sortable)
stored: true if this field should be retrievable
compressed: [false] if this field should be stored using gzip compression
(this will only apply if the field type is compressable; among
the standard field types, only TextField and StrField are)
multiValued: true if this field may contain multiple values per document
omitNorms: (expert) set to true to omit the norms associated with
this field (this disables length normalization and index-time
boosting for the field, and saves some memory). Only full-text
fields or fields that need an index-time boost need norms.
termVectors: [false] set to true to store the term vector for a given field.
When using MoreLikeThis, fields used for similarity should be stored for
best performance.
-->
<field name="type" type="integer" indexed="true" stored="true" required="true" />
<field name="id" type="integer" indexed="true" stored="true" required="true" />
<field name="ip" type="string" indexed="true" stored="true" required="false" />
<field name="time" type="date" indexed="true" stored="true" required="true" />
<field name="epersonid" type="integer" indexed="true" stored="true" required="false" />
<field name="continent" type="string" indexed="true" stored="true" required="false"/>
<field name="country" type="string" indexed="true" stored="true" required="false" />
<field name="countryCode" type="string" indexed="true" stored="true" required="false"/>
<field name="city" type="string" indexed="true" stored="true" required="false"/>
<field name="longitude" type="float" indexed="true" stored="true" required="false" />
<field name="latitude" type="float" indexed="true" stored="true" required="false" />
<field name="owningComm" type="integer" indexed="true" stored="true" required="false" multiValued="true" />
<field name="owningColl" type="integer" indexed="true" stored="true" required="false" multiValued="true" />
<field name="owningItem" type="integer" indexed="true" stored="true" required="false" multiValued="true" />
<field name="dns" type="string" indexed="true" stored="true" required="false"/>
<field name="userAgent" type="string" indexed="true" stored="true" required="false"/>
<field name="isBot" type="boolean" indexed="true" stored="true" required="false"/>
</fields>
<!-- field for the QueryParser to use when an explicit fieldname is absent -->
<defaultSearchField>id</defaultSearchField>
<!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
<solrQueryParser defaultOperator="AND"/>
</schema>

View File

@@ -1,24 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
user=
solr_hostname=localhost
solr_port=8983
rsyncd_port=18983
data_dir=
webapp_name=solr
master_host=
master_data_dir=
master_status_dir=

View File

@@ -1,695 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<config>
<!-- Set this to 'false' if you want solr to continue working after it has
encountered an severe configuration error. In a production environment,
you may want solr to keep working even if one handler is mis-configured.
You may also set this to false using by setting the system property:
-Dsolr.abortOnConfigurationError=false
-->
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
<!-- Used to specify an alternate directory to hold all index data
other than the default ./data under the Solr home.
If replication is in use, this should match the replication configuration. -->
<!-- <dataDir>${solr.data.dir:./solr/data}</dataDir> -->
<indexDefaults>
<!-- Values here affect all index writers and act as a default unless overridden. -->
<useCompoundFile>false</useCompoundFile>
<mergeFactor>10</mergeFactor>
<!--
If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.
-->
<!--<maxBufferedDocs>1000</maxBufferedDocs>-->
<!-- Tell Lucene when to flush documents to disk.
Giving Lucene more memory for indexing means faster indexing at the cost of more RAM
If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.
-->
<ramBufferSizeMB>32</ramBufferSizeMB>
<maxMergeDocs>2147483647</maxMergeDocs>
<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>1000</writeLockTimeout>
<commitLockTimeout>10000</commitLockTimeout>
<!--
Expert: Turn on Lucene's auto commit capability.
This causes intermediate segment flushes to write a new lucene
index descriptor, enabling it to be opened by an external
IndexReader.
NOTE: Despite the name, this value does not have any relation to Solr's autoCommit functionality
-->
<!--<luceneAutoCommit>false</luceneAutoCommit>-->
<!--
Expert:
The Merge Policy in Lucene controls how merging is handled by Lucene. The default in 2.3 is the LogByteSizeMergePolicy, previous
versions used LogDocMergePolicy.
LogByteSizeMergePolicy chooses segments to merge based on their size. The Lucene 2.2 default, LogDocMergePolicy chose when
to merge based on number of documents
Other implementations of MergePolicy must have a no-argument constructor
-->
<!--<mergePolicy>org.apache.lucene.index.LogByteSizeMergePolicy</mergePolicy>-->
<!--
Expert:
The Merge Scheduler in Lucene controls how merges are performed. The ConcurrentMergeScheduler (Lucene 2.3 default)
can perform merges in the background using separate threads. The SerialMergeScheduler (Lucene 2.2 default) does not.
-->
<!--<mergeScheduler>org.apache.lucene.index.ConcurrentMergeScheduler</mergeScheduler>-->
<!--
This option specifies which Lucene LockFactory implementation to use.
single = SingleInstanceLockFactory - suggested for a read-only index
or when there is no possibility of another process trying
to modify the index.
native = NativeFSLockFactory
simple = SimpleFSLockFactory
(For backwards compatibility with Solr 1.2, 'simple' is the default
if not specified.)
-->
<lockType>single</lockType>
</indexDefaults>
<mainIndex>
<!-- options specific to the main on-disk lucene index -->
<useCompoundFile>false</useCompoundFile>
<ramBufferSizeMB>32</ramBufferSizeMB>
<mergeFactor>10</mergeFactor>
<!-- Deprecated -->
<!--<maxBufferedDocs>1000</maxBufferedDocs>-->
<maxMergeDocs>2147483647</maxMergeDocs>
<maxFieldLength>10000</maxFieldLength>
<!-- If true, unlock any held write or commit locks on startup.
This defeats the locking mechanism that allows multiple
processes to safely access a lucene index, and should be
used with care.
This is not needed if lock type is 'none' or 'single'
-->
<unlockOnStartup>false</unlockOnStartup>
</mainIndex>
<!-- Enables JMX if and only if an existing MBeanServer is found, use
this if you want to configure JMX through JVM parameters. Remove
this to disable exposing Solr configuration and statistics to JMX.
If you want to connect to a particular server, specify the agentId
e.g. <jmx agentId="myAgent" />
If you want to start a new MBeanServer, specify the serviceUrl
e.g <jmx serviceurl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr" />
For more details see http://wiki.apache.org/solr/SolrJmx
-->
<jmx />
<!-- the default high-performance update handler -->
<updateHandler class="solr.DirectUpdateHandler2">
<!-- A prefix of "solr." for class names is an alias that
causes solr to search appropriate packages, including
org.apache.solr.(search|update|request|core|analysis)
-->
<!-- Perform a <commit/> automatically under certain conditions:
maxDocs - number of updates since last commit is greater than this
maxTime - oldest uncommited update (in ms) is this long ago
<autoCommit>
<maxDocs>10000</maxDocs>
<maxTime>1000</maxTime>
</autoCommit>
-->
<!-- The RunExecutableListener executes an external command.
exe - the name of the executable to run
dir - dir to use as the current working directory. default="."
wait - the calling thread waits until the executable returns. default="true"
args - the arguments to pass to the program. default=nothing
env - environment variables to set. default=nothing
-->
<!-- A postCommit event is fired after every commit or optimize command
<listener event="postCommit" class="solr.RunExecutableListener">
<str name="exe">solr/bin/snapshooter</str>
<str name="dir">.</str>
<bool name="wait">true</bool>
<arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
<arr name="env"> <str>MYVAR=val1</str> </arr>
</listener>
-->
<!-- A postOptimize event is fired only after every optimize command, useful
in conjunction with index distribution to only distribute optimized indicies
<listener event="postOptimize" class="solr.RunExecutableListener">
<str name="exe">snapshooter</str>
<str name="dir">solr/bin</str>
<bool name="wait">true</bool>
</listener>
-->
</updateHandler>
<query>
<!-- Maximum number of clauses in a boolean query... can affect
range or prefix queries that expand to big boolean
queries. An exception is thrown if exceeded. -->
<maxBooleanClauses>1024</maxBooleanClauses>
<!-- Cache used by SolrIndexSearcher for filters (DocSets),
unordered sets of *all* documents that match a query.
When a new searcher is opened, its caches may be prepopulated
or "autowarmed" using data from caches in the old searcher.
autowarmCount is the number of items to prepopulate. For LRUCache,
the autowarmed items will be the most recently accessed items.
Parameters:
class - the SolrCache implementation (currently only LRUCache)
size - the maximum number of entries in the cache
initialSize - the initial capacity (number of entries) of
the cache. (seel java.util.HashMap)
autowarmCount - the number of entries to prepopulate from
and old cache.
-->
<filterCache
class="solr.LRUCache"
size="512"
initialSize="512"
autowarmCount="128"/>
<!-- queryResultCache caches results of searches - ordered lists of
document ids (DocList) based on a query, a sort, and the range
of documents requested. -->
<queryResultCache
class="solr.LRUCache"
size="512"
initialSize="512"
autowarmCount="32"/>
<!-- documentCache caches Lucene Document objects (the stored fields for each document).
Since Lucene internal document ids are transient, this cache will not be autowarmed. -->
<documentCache
class="solr.LRUCache"
size="512"
initialSize="512"
autowarmCount="0"/>
<!-- If true, stored fields that are not requested will be loaded lazily.
This can result in a significant speed improvement if the usual case is to
not load all stored fields, especially if the skipped fields are large compressed
text fields.
-->
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<!-- Example of a generic cache. These caches may be accessed by name
through SolrIndexSearcher.getCache(),cacheLookup(), and cacheInsert().
The purpose is to enable easy caching of user/application level data.
The regenerator argument should be specified as an implementation
of solr.search.CacheRegenerator if autowarming is desired. -->
<!--
<cache name="myUserCache"
class="solr.LRUCache"
size="4096"
initialSize="1024"
autowarmCount="1024"
regenerator="org.mycompany.mypackage.MyRegenerator"
/>
-->
<!-- An optimization that attempts to use a filter to satisfy a search.
If the requested sort does not include score, then the filterCache
will be checked for a filter matching the query. If found, the filter
will be used as the source of document ids, and then the sort will be
applied to that.
<useFilterForSortedQuery>true</useFilterForSortedQuery>
-->
<!-- An optimization for use with the queryResultCache. When a search
is requested, a superset of the requested number of document ids
are collected. For example, if a search for a particular query
requests matching documents 10 through 19, and queryWindowSize is 50,
then documents 0 through 49 will be collected and cached. Any further
requests in that range can be satisfied via the cache. -->
<queryResultWindowSize>50</queryResultWindowSize>
<!-- Maximum number of documents to cache for any entry in the
queryResultCache. -->
<queryResultMaxDocsCached>200</queryResultMaxDocsCached>
<!-- This entry enables an int hash representation for filters (DocSets)
when the number of items in the set is less than maxSize. For smaller
sets, this representation is more memory efficient, more efficient to
iterate over, and faster to take intersections. -->
<HashDocSet maxSize="3000" loadFactor="0.75"/>
<!-- a newSearcher event is fired whenever a new searcher is being prepared
and there is a current searcher handling requests (aka registered). -->
<!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence. -->
<listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst>
<lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst>
<lst><str name="q">static newSearcher warming query from solrconfig.xml</str></lst>
</arr>
</listener>
<!-- a firstSearcher event is fired whenever a new searcher is being
prepared but there is no current registered searcher to handle
requests or to gain autowarming data from. -->
<listener event="firstSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst> <str name="q">fast_warm</str> <str name="start">0</str> <str name="rows">10</str> </lst>
<lst><str name="q">static firstSearcher warming query from solrconfig.xml</str></lst>
</arr>
</listener>
<!-- If a search request comes in and there is no current registered searcher,
then immediately register the still warming searcher and use it. If
"false" then all requests will block until the first searcher is done
warming. -->
<useColdSearcher>false</useColdSearcher>
<!-- Maximum number of searchers that may be warming in the background
concurrently. An error is returned if this limit is exceeded. Recommend
1-2 for read-only slaves, higher for masters w/o cache warming. -->
<maxWarmingSearchers>2</maxWarmingSearchers>
</query>
<!--
Let the dispatch filter handler /select?qt=XXX
handleSelect=true will use consistent error handling for /select and /update
handleSelect=false will use solr1.1 style error formatting
-->
<requestDispatcher handleSelect="true" >
<!--Make sure your system has some authentication before enabling remote streaming! -->
<requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
<!-- Set HTTP caching related parameters (for proxy caches and clients).
To get the behaviour of Solr 1.2 (ie: no caching related headers)
use the never304="true" option and do not specify a value for
<cacheControl>
-->
<!-- <httpCaching never304="true"> -->
<httpCaching lastModifiedFrom="openTime"
etagSeed="Solr">
<!-- lastModFrom="openTime" is the default, the Last-Modified value
(and validation against If-Modified-Since requests) will all be
relative to when the current Searcher was opened.
You can change it to lastModFrom="dirLastMod" if you want the
value to exactly corrispond to when the physical index was last
modified.
etagSeed="..." is an option you can change to force the ETag
header (and validation against If-None-Match requests) to be
differnet even if the index has not changed (ie: when making
significant changes to your config file)
lastModifiedFrom and etagSeed are both ignored if you use the
never304="true" option.
-->
<!-- If you include a <cacheControl> directive, it will be used to
generate a Cache-Control header, as well as an Expires header
if the value contains "max-age="
By default, no Cache-Control header is generated.
You can use the <cacheControl> option even if you have set
never304="true"
-->
<!-- <cacheControl>max-age=30, public</cacheControl> -->
</httpCaching>
</requestDispatcher>
<!-- requestHandler plugins... incoming queries will be dispatched to the
correct handler based on the path or the qt (query type) param.
Names starting with a '/' are accessed with the a path equal to the
registered name. Names without a leading '/' are accessed with:
http://host/app/select?qt=name
If no qt is defined, the requestHandler that declares default="true"
will be used.
-->
<requestHandler name="standard" class="solr.SearchHandler" default="true">
<!-- default values for query parameters -->
<lst name="defaults">
<str name="echoParams">explicit</str>
<!--
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
-->
</lst>
</requestHandler>
<!-- DisMaxRequestHandler allows easy searching across multiple fields
for simple user-entered phrases. It's implementation is now
just the standard SearchHandler with a default query type
of "dismax".
see http://wiki.apache.org/solr/DisMaxRequestHandler
-->
<requestHandler name="dismax" class="solr.SearchHandler" >
<lst name="defaults">
<str name="defType">dismax</str>
<str name="echoParams">explicit</str>
<float name="tie">0.01</float>
<str name="qf">
text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
</str>
<str name="pf">
text^0.2 features^1.1 name^1.5 manu^1.4 manu_exact^1.9
</str>
<str name="bf">
ord(popularity)^0.5 recip(rord(price),1,1000,1000)^0.3
</str>
<str name="fl">
id,name,price,score
</str>
<str name="mm">
2&lt;-1 5&lt;-2 6&lt;90%
</str>
<int name="ps">100</int>
<str name="q.alt">*:*</str>
<!-- example highlighter config, enable per-query with hl=true -->
<str name="hl.fl">text features name</str>
<!-- for this field, we want no fragmenting, just highlighting -->
<str name="f.name.hl.fragsize">0</str>
<!-- instructs Solr to return the field itself if no query terms are
found -->
<str name="f.name.hl.alternateField">name</str>
<str name="f.text.hl.fragmenter">regex</str> <!-- defined below -->
</lst>
</requestHandler>
<!-- Note how you can register the same handler multiple times with
different names (and different init parameters)
-->
<requestHandler name="partitioned" class="solr.SearchHandler" >
<lst name="defaults">
<str name="defType">dismax</str>
<str name="echoParams">explicit</str>
<str name="qf">text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0</str>
<str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
<!-- This is an example of using Date Math to specify a constantly
moving date range in a config...
-->
<str name="bq">incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2</str>
</lst>
<!-- In addition to defaults, "appends" params can be specified
to identify values which should be appended to the list of
multi-val params from the query (or the existing "defaults").
In this example, the param "fq=instock:true" will be appended to
any query time fq params the user may specify, as a mechanism for
partitioning the index, independent of any user selected filtering
that may also be desired (perhaps as a result of faceted searching).
NOTE: there is *absolutely* nothing a client can do to prevent these
"appends" values from being used, so don't use this mechanism
unless you are sure you always want it.
-->
<lst name="appends">
<str name="fq">inStock:true</str>
</lst>
<!-- "invariants" are a way of letting the Solr maintainer lock down
the options available to Solr clients. Any params values
specified here are used regardless of what values may be specified
in either the query, the "defaults", or the "appends" params.
In this example, the facet.field and facet.query params are fixed,
limiting the facets clients can use. Faceting is not turned on by
default - but if the client does specify facet=true in the request,
these are the only facets they will be able to see counts for;
regardless of what other facet.field or facet.query params they
may specify.
NOTE: there is *absolutely* nothing a client can do to prevent these
"invariants" values from being used, so don't use this mechanism
unless you are sure you always want it.
-->
<lst name="invariants">
<str name="facet.field">cat</str>
<str name="facet.field">manu_exact</str>
<str name="facet.query">price:[* TO 500]</str>
<str name="facet.query">price:[500 TO *]</str>
</lst>
</requestHandler>
<!--
Search components are registered to SolrCore and used by Search Handlers
By default, the following components are avaliable:
<searchComponent name="query" class="org.apache.solr.handler.component.QueryComponent" />
<searchComponent name="facet" class="org.apache.solr.handler.component.FacetComponent" />
<searchComponent name="mlt" class="org.apache.solr.handler.component.MoreLikeThisComponent" />
<searchComponent name="highlight" class="org.apache.solr.handler.component.HighlightComponent" />
<searchComponent name="debug" class="org.apache.solr.handler.component.DebugComponent" />
Default configuration in a requestHandler would look like:
<arr name="components">
<str>query</str>
<str>facet</str>
<str>mlt</str>
<str>highlight</str>
<str>debug</str>
</arr>
If you register a searchComponent to one of the standard names, that will be used instead.
To insert handlers before or after the 'standard' components, use:
<arr name="first-components">
<str>myFirstComponentName</str>
</arr>
<arr name="last-components">
<str>myLastComponentName</str>
</arr>
-->
<!-- The spell check component can return a list of alternative spelling
suggestions. -->
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">textSpell</str>
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">spell</str>
<str name="spellcheckIndexDir">./spellchecker1</str>
</lst>
<lst name="spellchecker">
<str name="name">jarowinkler</str>
<str name="field">spell</str>
<!-- Use a different Distance Measure -->
<str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>
<str name="spellcheckIndexDir">./spellchecker2</str>
</lst>
<lst name="spellchecker">
<str name="classname">solr.FileBasedSpellChecker</str>
<str name="name">file</str>
<str name="sourceLocation">spellings.txt</str>
<str name="characterEncoding">UTF-8</str>
<str name="spellcheckIndexDir">./spellcheckerFile</str>
</lst>
</searchComponent>
<!-- a request handler utilizing the spellcheck component -->
<requestHandler name="/spellCheckCompRH" class="solr.SearchHandler">
<lst name="defaults">
<!-- omp = Only More Popular -->
<str name="spellcheck.onlyMorePopular">false</str>
<!-- exr = Extended Results -->
<str name="spellcheck.extendedResults">false</str>
<!-- The number of suggestions to return -->
<str name="spellcheck.count">1</str>
</lst>
<arr name="last-components">
<str>spellcheck</str>
</arr>
</requestHandler>
<!-- a search component that enables you to configure the top results for
a given query regardless of the normal lucene scoring.-->
<!--<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<str name="queryFieldType">string</str>
<str name="config-file">elevate.xml</str>
</searchComponent>-->
<!-- a request handler utilizing the elevator component -->
<!--<requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
<arr name="last-components">
<str>elevator</str>
</arr>
</requestHandler>-->
<!-- Update request handler.
Note: Since solr1.1 requestHandlers requires a valid content type header if posted in
the body. For example, curl now requires: -H 'Content-type:text/xml; charset=utf-8'
The response format differs from solr1.1 formatting and returns a standard error code.
To enable solr1.1 behavior, remove the /update handler or change its path
-->
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
<!--
Analysis request handler. Since Solr 1.3. Use to returnhow a document is analyzed. Useful
for debugging and as a token server for other types of applications
-->
<requestHandler name="/analysis" class="solr.AnalysisRequestHandler" />
<!-- CSV update handler, loaded on demand -->
<requestHandler name="/update/csv" class="solr.CSVRequestHandler" startup="lazy" />
<!--
Admin Handlers - This will register all the standard admin RequestHandlers. Adding
this single handler is equivolent to registering:
<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />
<requestHandler name="/admin/system" class="org.apache.solr.handler.admin.SystemInfoHandler" />
<requestHandler name="/admin/plugins" class="org.apache.solr.handler.admin.PluginInfoHandler" />
<requestHandler name="/admin/threads" class="org.apache.solr.handler.admin.ThreadDumpHandler" />
<requestHandler name="/admin/properties" class="org.apache.solr.handler.admin.PropertiesRequestHandler" />
<requestHandler name="/admin/file" class="org.apache.solr.handler.admin.ShowFileRequestHandler" >
If you wish to hide files under ${solr.home}/conf, explicitly register the ShowFileRequestHandler using:
<requestHandler name="/admin/file" class="org.apache.solr.handler.admin.ShowFileRequestHandler" >
<lst name="invariants">
<str name="hidden">synonyms.txt</str>
<str name="hidden">anotherfile.txt</str>
</lst>
</requestHandler>
-->
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
<!-- ping/healthcheck -->
<requestHandler name="/admin/ping" class="PingRequestHandler">
<lst name="defaults">
<str name="qt">standard</str>
<str name="q">solrpingquery</str>
<str name="echoParams">all</str>
</lst>
</requestHandler>
<!-- Echo the request contents back to the client -->
<requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
<lst name="defaults">
<str name="echoParams">explicit</str> <!-- for all params (including the default etc) use: 'all' -->
<str name="echoHandler">true</str>
</lst>
</requestHandler>
<highlighting>
<!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case -->
<fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" default="true">
<lst name="defaults">
<int name="hl.fragsize">100</int>
</lst>
</fragmenter>
<!-- A regular-expression-based fragmenter (f.i., for sentence extraction) -->
<fragmenter name="regex" class="org.apache.solr.highlight.RegexFragmenter">
<lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop -->
<int name="hl.fragsize">70</int>
<!-- allow 50% slop on fragment sizes -->
<float name="hl.regex.slop">0.5</float>
<!-- a basic sentence pattern -->
<str name="hl.regex.pattern">[-\w ,/\n\"']{20,200}</str>
</lst>
</fragmenter>
<!-- Configure the standard formatter -->
<formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true">
<lst name="defaults">
<str name="hl.simple.pre"><![CDATA[<em>]]></str>
<str name="hl.simple.post"><![CDATA[</em>]]></str>
</lst>
</formatter>
</highlighting>
<!-- queryResponseWriter plugins... query responses will be written using the
writer specified by the 'wt' request parameter matching the name of a registered
writer.
The "default" writer is the default and will be used if 'wt' is not specified
in the request. XMLResponseWriter will be used if nothing is specified here.
The json, python, and ruby writers are also available by default.
<queryResponseWriter name="xml" class="org.apache.solr.request.XMLResponseWriter" default="true"/>
<queryResponseWriter name="json" class="org.apache.solr.request.JSONResponseWriter"/>
<queryResponseWriter name="python" class="org.apache.solr.request.PythonResponseWriter"/>
<queryResponseWriter name="ruby" class="org.apache.solr.request.RubyResponseWriter"/>
<queryResponseWriter name="php" class="org.apache.solr.request.PHPResponseWriter"/>
<queryResponseWriter name="phps" class="org.apache.solr.request.PHPSerializedResponseWriter"/>
<queryResponseWriter name="custom" class="com.example.MyResponseWriter"/>
-->
<!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds.
-->
<queryResponseWriter name="xslt" class="org.apache.solr.request.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int>
</queryResponseWriter>
<!-- example of registering a query parser
<queryParser name="lucene" class="org.apache.solr.search.LuceneQParserPlugin"/>
-->
<!-- example of registering a custom function parser
<valueSourceParser name="myfunc" class="com.mycompany.MyValueSourceParser" />
-->
<!-- config for the admin interface -->
<admin>
<defaultQuery>solr</defaultQuery>
<!-- configure a healthcheck file for servers behind a loadbalancer
<healthcheck type="file">server-enabled</healthcheck>
-->
</admin>
</config>

View File

@@ -1,57 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-----------------------------------------------------------------------
# a couple of test stopwords to test that the words are really being
# configured from this file:
stopworda
stopwordb
#Standard english stop words taken from Lucene's StopAnalyzer
an
and
are
as
at
be
but
by
for
if
in
into
is
it
no
not
of
on
or
s
such
t
that
the
their
then
there
these
they
this
to
was
will
with

View File

@@ -1,31 +0,0 @@
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-----------------------------------------------------------------------
#some test synonym mappings unlikely to appear in real input text
aaa => aaaa
bbb => bbbb1 bbbb2
ccc => cccc1,cccc2
a\=>a => b\=>b
a\,a => b\,b
fooaaa,baraaa,bazaaa
# Some synonym groups specific to this example
GB,gib,gigabyte,gigabytes
MB,mib,megabyte,megabytes
Television, Televisions, TV, TVs
#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming
#after us won't split it into two words.
# Synonym mappings can be used for spelling correction too
pixima => pixma

View File

@@ -1,132 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<!--
Simple transform of Solr query results to HTML
-->
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
>
<xsl:output media-type="text/html; charset=UTF-8" encoding="UTF-8"/>
<xsl:variable name="title" select="concat('Solr search results (',response/result/@numFound,' documents)')"/>
<xsl:template match='/'>
<html>
<head>
<title><xsl:value-of select="$title"/></title>
<xsl:call-template name="css"/>
</head>
<body>
<h1><xsl:value-of select="$title"/></h1>
<div class="note">
This has been formatted by the sample "example.xsl" transform -
use your own XSLT to get a nicer page
</div>
<xsl:apply-templates select="response/result/doc"/>
</body>
</html>
</xsl:template>
<xsl:template match="doc">
<xsl:variable name="pos" select="position()"/>
<div class="doc">
<table width="100%">
<xsl:apply-templates>
<xsl:with-param name="pos"><xsl:value-of select="$pos"/></xsl:with-param>
</xsl:apply-templates>
</table>
</div>
</xsl:template>
<xsl:template match="doc/*[@name='score']" priority="100">
<xsl:param name="pos"></xsl:param>
<tr>
<td class="name">
<xsl:value-of select="@name"/>
</td>
<td class="value">
<xsl:value-of select="."/>
<xsl:if test="boolean(//lst[@name='explain'])">
<xsl:element name="a">
<!-- can't allow whitespace here -->
<xsl:attribute name="href">javascript:toggle("<xsl:value-of select="concat('exp-',$pos)" />");</xsl:attribute>?</xsl:element>
<br/>
<xsl:element name="div">
<xsl:attribute name="class">exp</xsl:attribute>
<xsl:attribute name="id">
<xsl:value-of select="concat('exp-',$pos)" />
</xsl:attribute>
<xsl:value-of select="//lst[@name='explain']/str[position()=$pos]"/>
</xsl:element>
</xsl:if>
</td>
</tr>
</xsl:template>
<xsl:template match="doc/arr" priority="100">
<tr>
<td class="name">
<xsl:value-of select="@name"/>
</td>
<td class="value">
<ul>
<xsl:for-each select="*">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:template>
<xsl:template match="doc/*">
<tr>
<td class="name">
<xsl:value-of select="@name"/>
</td>
<td class="value">
<xsl:value-of select="."/>
</td>
</tr>
</xsl:template>
<xsl:template match="*"/>
<xsl:template name="css">
<script>
function toggle(id) {
var obj = document.getElementById(id);
obj.style.display = (obj.style.display != 'block') ? 'block' : 'none';
}
</script>
<style type="text/css">
body { font-family: "Lucida Grande", sans-serif }
td.name { font-style: italic; font-size:80%; }
td { vertical-align: top; }
ul { margin: 0px; margin-left: 1em; padding: 0px; }
.note { font-size:80%; }
.doc { margin-top: 1em; border-top: solid grey 1px; }
.exp { display: none; font-family: monospace; white-space: pre; }
</style>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,67 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<!--
Simple transform of Solr query results to Atom
-->
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output
method="xml"
encoding="utf-8"
media-type="text/xml; charset=UTF-8"
/>
<xsl:template match='/'>
<xsl:variable name="query" select="response/lst[@name='responseHeader']/lst[@name='params']/str[@name='q']"/>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Example Solr Atom 1.0 Feed</title>
<subtitle>
This has been formatted by the sample "example_atom.xsl" transform -
use your own XSLT to get a nicer Atom feed.
</subtitle>
<author>
<name>Apache Solr</name>
<email>solr-user@lucene.apache.org</email>
</author>
<link rel="self" type="application/atom+xml"
href="http://localhost:8983/solr/q={$query}&amp;wt=xslt&amp;tr=atom.xsl"/>
<updated>
<xsl:value-of select="response/result/doc[position()=1]/date[@name='timestamp']"/>
</updated>
<id>tag:localhost,2007:example</id>
<xsl:apply-templates select="response/result/doc"/>
</feed>
</xsl:template>
<!-- search results xslt -->
<xsl:template match="doc">
<xsl:variable name="id" select="str[@name='id']"/>
<entry>
<title><xsl:value-of select="str[@name='name']"/></title>
<link href="http://localhost:8983/solr/select?q={$id}"/>
<id>tag:localhost,2007:<xsl:value-of select="$id"/></id>
<summary><xsl:value-of select="arr[@name='features']"/></summary>
<updated><xsl:value-of select="date[@name='timestamp']"/></updated>
</entry>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,66 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<!--
Simple transform of Solr query results to RSS
-->
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output
method="xml"
encoding="utf-8"
media-type="text/xml; charset=UTF-8"
/>
<xsl:template match='/'>
<rss version="2.0">
<channel>
<title>Example Solr RSS 2.0 Feed</title>
<link>http://localhost:8983/solr</link>
<description>
This has been formatted by the sample "example_rss.xsl" transform -
use your own XSLT to get a nicer RSS feed.
</description>
<language>en-us</language>
<docs>http://localhost:8983/solr</docs>
<xsl:apply-templates select="response/result/doc"/>
</channel>
</rss>
</xsl:template>
<!-- search results xslt -->
<xsl:template match="doc">
<xsl:variable name="id" select="str[@name='id']"/>
<xsl:variable name="timestamp" select="date[@name='timestamp']"/>
<item>
<title><xsl:value-of select="str[@name='name']"/></title>
<link>
http://localhost:8983/solr/select?q=id:<xsl:value-of select="$id"/>
</link>
<description>
<xsl:value-of select="arr[@name='features']"/>
</description>
<pubDate><xsl:value-of select="$timestamp"/></pubDate>
<guid>
http://localhost:8983/solr/select?q=id:<xsl:value-of select="$id"/>
</guid>
</item>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,337 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
Display the luke request handler with graphs
-->
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0"
>
<xsl:output
method="html"
encoding="UTF-8"
media-type="text/html; charset=UTF-8"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
/>
<xsl:variable name="title">Solr Luke Request Handler Response</xsl:variable>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="solr-admin.css"/>
<link rel="icon" href="favicon.ico" type="image/ico"/>
<link rel="shortcut icon" href="favicon.ico" type="image/ico"/>
<title>
<xsl:value-of select="$title"/>
</title>
<xsl:call-template name="css"/>
</head>
<body>
<h1>
<xsl:value-of select="$title"/>
</h1>
<div class="doc">
<ul>
<xsl:if test="response/lst[@name='index']">
<li>
<a href="#index">Index Statistics</a>
</li>
</xsl:if>
<xsl:if test="response/lst[@name='fields']">
<li>
<a href="#fields">Field Statistics</a>
<ul>
<xsl:for-each select="response/lst[@name='fields']/lst">
<li>
<a href="#{@name}">
<xsl:value-of select="@name"/>
</a>
</li>
</xsl:for-each>
</ul>
</li>
</xsl:if>
<xsl:if test="response/lst[@name='doc']">
<li>
<a href="#doc">Document statistics</a>
</li>
</xsl:if>
</ul>
</div>
<xsl:if test="response/lst[@name='index']">
<h2><a name="index"/>Index Statistics</h2>
<xsl:apply-templates select="response/lst[@name='index']"/>
</xsl:if>
<xsl:if test="response/lst[@name='fields']">
<h2><a name="fields"/>Field Statistics</h2>
<xsl:apply-templates select="response/lst[@name='fields']"/>
</xsl:if>
<xsl:if test="response/lst[@name='doc']">
<h2><a name="doc"/>Document statistics</h2>
<xsl:apply-templates select="response/lst[@name='doc']"/>
</xsl:if>
</body>
</html>
</xsl:template>
<xsl:template match="lst">
<xsl:if test="parent::lst">
<tr>
<td colspan="2">
<div class="doc">
<xsl:call-template name="list"/>
</div>
</td>
</tr>
</xsl:if>
<xsl:if test="not(parent::lst)">
<div class="doc">
<xsl:call-template name="list"/>
</div>
</xsl:if>
</xsl:template>
<xsl:template name="list">
<xsl:if test="count(child::*)>0">
<table>
<thead>
<tr>
<th colspan="2">
<p>
<a name="{@name}"/>
</p>
<xsl:value-of select="@name"/>
</th>
</tr>
</thead>
<tbody>
<xsl:choose>
<xsl:when
test="@name='histogram'">
<tr>
<td colspan="2">
<xsl:call-template name="histogram"/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</tbody>
</table>
</xsl:if>
</xsl:template>
<xsl:template name="histogram">
<div class="doc">
<xsl:call-template name="barchart">
<xsl:with-param name="max_bar_width">50</xsl:with-param>
<xsl:with-param name="iwidth">800</xsl:with-param>
<xsl:with-param name="iheight">160</xsl:with-param>
<xsl:with-param name="fill">blue</xsl:with-param>
</xsl:call-template>
</div>
</xsl:template>
<xsl:template name="barchart">
<xsl:param name="max_bar_width"/>
<xsl:param name="iwidth"/>
<xsl:param name="iheight"/>
<xsl:param name="fill"/>
<xsl:variable name="max">
<xsl:for-each select="int">
<xsl:sort data-type="number" order="descending"/>
<xsl:if test="position()=1">
<xsl:value-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="bars">
<xsl:value-of select="count(int)"/>
</xsl:variable>
<xsl:variable name="bar_width">
<xsl:choose>
<xsl:when test="$max_bar_width &lt; ($iwidth div $bars)">
<xsl:value-of select="$max_bar_width"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$iwidth div $bars"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<table class="histogram">
<tbody>
<tr>
<xsl:for-each select="int">
<td>
<xsl:value-of select="."/>
<div class="histogram">
<xsl:attribute name="style">background-color: <xsl:value-of select="$fill"/>; width: <xsl:value-of select="$bar_width"/>px; height: <xsl:value-of select="($iheight*number(.)) div $max"/>px;</xsl:attribute>
</div>
</td>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="int">
<td>
<xsl:value-of select="@name"/>
</td>
</xsl:for-each>
</tr>
</tbody>
</table>
</xsl:template>
<xsl:template name="keyvalue">
<xsl:choose>
<xsl:when test="@name">
<tr>
<td class="name">
<xsl:value-of select="@name"/>
</td>
<td class="value">
<xsl:value-of select="."/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="int|bool|long|float|double|uuid|date">
<xsl:call-template name="keyvalue"/>
</xsl:template>
<xsl:template match="arr">
<tr>
<td class="name">
<xsl:value-of select="@name"/>
</td>
<td class="value">
<ul>
<xsl:for-each select="child::*">
<li>
<xsl:apply-templates/>
</li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:template>
<xsl:template match="str">
<xsl:choose>
<xsl:when test="@name='schema' or @name='index' or @name='flags'">
<xsl:call-template name="schema"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="keyvalue"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="schema">
<tr>
<td class="name">
<xsl:value-of select="@name"/>
</td>
<td class="value">
<xsl:if test="contains(.,'unstored')">
<xsl:value-of select="."/>
</xsl:if>
<xsl:if test="not(contains(.,'unstored'))">
<xsl:call-template name="infochar2string">
<xsl:with-param name="charList">
<xsl:value-of select="."/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</td>
</tr>
</xsl:template>
<xsl:template name="infochar2string">
<xsl:param name="i">1</xsl:param>
<xsl:param name="charList"/>
<xsl:variable name="char">
<xsl:value-of select="substring($charList,$i,1)"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$char='I'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='I']"/> - </xsl:when>
<xsl:when test="$char='T'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='T']"/> - </xsl:when>
<xsl:when test="$char='S'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='S']"/> - </xsl:when>
<xsl:when test="$char='M'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='M']"/> - </xsl:when>
<xsl:when test="$char='V'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='V']"/> - </xsl:when>
<xsl:when test="$char='o'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='o']"/> - </xsl:when>
<xsl:when test="$char='p'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='p']"/> - </xsl:when>
<xsl:when test="$char='O'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='O']"/> - </xsl:when>
<xsl:when test="$char='L'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='L']"/> - </xsl:when>
<xsl:when test="$char='B'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='B']"/> - </xsl:when>
<xsl:when test="$char='C'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='C']"/> - </xsl:when>
<xsl:when test="$char='f'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='f']"/> - </xsl:when>
<xsl:when test="$char='l'">
<xsl:value-of select="/response/lst[@name='info']/lst/str[@name='l']"/> -
</xsl:when>
</xsl:choose>
<xsl:if test="not($i>=string-length($charList))">
<xsl:call-template name="infochar2string">
<xsl:with-param name="i">
<xsl:value-of select="$i+1"/>
</xsl:with-param>
<xsl:with-param name="charList">
<xsl:value-of select="$charList"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="css">
<style type="text/css">
<![CDATA[
td.name {font-style: italic; font-size:80%; }
.doc { margin: 0.5em; border: solid grey 1px; }
.exp { display: none; font-family: monospace; white-space: pre; }
div.histogram { background: none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;}
table.histogram { width: auto; vertical-align: bottom; }
table.histogram td, table.histogram th { text-align: center; vertical-align: bottom; border-bottom: 1px solid #ff9933; width: auto; }
]]>
</style>
</xsl:template>
</xsl:stylesheet>

View File

@@ -6,12 +6,8 @@
# http://www.dspace.org/license/
#
# Defines the test folder where the unit tests will be run
test.folder = ./target/work/
test.folder.assetstore = ./target/work/assetstore
test.config.file = dspace-test.cfg
test.folder = ./target/testing/
test.folder.assetstore = ./target/testing/dspace/assetstore
#Path for a test file to create bitstreams
test.bitstream = ./target/work/testData/ConstitutionofIreland.pdf
#Path for a test file in assetstore
test.assetstore.bitstream = ./target/work/assetstore/ConstitutionofIreland.pdf
test.bitstream = ./target/testing/dspace/assetstore/ConstitutionofIreland.pdf

3
dspace/etc/h2/NOTICE.txt Normal file
View File

@@ -0,0 +1,3 @@
DSpace does NOT support the use of h2 in production. This directory is provided
solely for testing during development. The test schema is kept here to
facilitate its maintenance as the production schemata evolve.

View File

@@ -0,0 +1,789 @@
--
-- The contents of this file are subject to the license and copyright
-- detailed in the LICENSE and NOTICE files at the root of the source
-- tree and available online at
--
-- http://www.dspace.org/license/
--
--
-- database_schema.sql
--
-- Version: $Revision: 4718 $
--
-- Date: $Date: 2010-01-21 20:28:22 +0000 (Thu, 21 Jan 2010) $
--
-- Copyright (c) 2002-2009, The DSpace Foundation. All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions are
-- met:
--
-- - Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
--
-- - Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
--
-- - Neither the name of the DSpace Foundation nor the names of its
-- contributors may be used to endorse or promote products derived from
-- this software without specific prior written permission.
--
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-- HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-- DAMAGE.
--
--
--
--
-- DSpace SQL schema
--
-- Authors: Peter Breton, Robert Tansley, David Stuve, Daniel Chudnov,
-- Richard Jones
--
-- This file is used as-is to initialize a database. Therefore,
-- table and view definitions must be ordered correctly.
--
-- Caution: THIS IS POSTGRESQL-SPECIFIC:
--
-- * SEQUENCES are used for automatic ID generation
-- * FUNCTION getnextid used for automatic ID generation
--
--
-- To convert to work with another database, you need to ensure
-- an SQL function 'getnextid', which takes a table name as an
-- argument, will return a safe new ID to use to create a new
-- row in that table.
-------------------------------------------------------
-- Function for obtaining new IDs.
--
-- * The argument is a table name
-- * It returns a new ID safe to use for that table
--
-- The function reads the next value from the sequence
-- 'tablename_seq'
-------------------------------------------------------
-- Commented as it is not compatible with H2
-- CREATE FUNCTION getnextid(VARCHAR(40)) RETURNS INTEGER AS
-- 'SELECT CAST (nextval($1 || ''_seq'') AS INTEGER) AS RESULT;' LANGUAGE SQL;
-------------------------------------------------------
-- Sequences for creating new IDs (primary keys) for
-- tables. Each table must have a corresponding
-- sequence called 'tablename_seq'.
-------------------------------------------------------
CREATE SEQUENCE bitstreamformatregistry_seq;
CREATE SEQUENCE fileextension_seq;
CREATE SEQUENCE bitstream_seq;
CREATE SEQUENCE eperson_seq;
CREATE SEQUENCE epersongroup_seq;
CREATE SEQUENCE item_seq;
CREATE SEQUENCE bundle_seq;
CREATE SEQUENCE item2bundle_seq;
CREATE SEQUENCE bundle2bitstream_seq;
CREATE SEQUENCE dctyperegistry_seq;
CREATE SEQUENCE dcvalue_seq;
CREATE SEQUENCE community_seq;
CREATE SEQUENCE collection_seq;
CREATE SEQUENCE community2community_seq;
CREATE SEQUENCE community2collection_seq;
CREATE SEQUENCE collection2item_seq;
CREATE SEQUENCE resourcepolicy_seq;
CREATE SEQUENCE epersongroup2eperson_seq;
CREATE SEQUENCE handle_seq;
CREATE SEQUENCE workspaceitem_seq;
CREATE SEQUENCE workflowitem_seq;
CREATE SEQUENCE tasklistitem_seq;
CREATE SEQUENCE registrationdata_seq;
CREATE SEQUENCE subscription_seq;
CREATE SEQUENCE communities2item_seq;
CREATE SEQUENCE epersongroup2workspaceitem_seq;
CREATE SEQUENCE metadataschemaregistry_seq;
CREATE SEQUENCE metadatafieldregistry_seq;
CREATE SEQUENCE metadatavalue_seq;
CREATE SEQUENCE group2group_seq;
CREATE SEQUENCE group2groupcache_seq;
CREATE SEQUENCE harvested_collection_seq;
CREATE SEQUENCE harvested_item_seq;
-------------------------------------------------------
-- BitstreamFormatRegistry table
-------------------------------------------------------
CREATE TABLE BitstreamFormatRegistry
(
bitstream_format_id INTEGER PRIMARY KEY,
mimetype VARCHAR(256),
short_description VARCHAR(128),
description TEXT,
support_level INTEGER,
-- Identifies internal types
internal BOOL
);
-------------------------------------------------------
-- FileExtension table
-------------------------------------------------------
CREATE TABLE FileExtension
(
file_extension_id INTEGER PRIMARY KEY,
bitstream_format_id INTEGER REFERENCES BitstreamFormatRegistry(bitstream_format_id),
extension VARCHAR(16)
);
CREATE INDEX fe_bitstream_fk_idx ON FileExtension(bitstream_format_id);
-------------------------------------------------------
-- Bitstream table
-------------------------------------------------------
CREATE TABLE Bitstream
(
bitstream_id INTEGER PRIMARY KEY,
bitstream_format_id INTEGER REFERENCES BitstreamFormatRegistry(bitstream_format_id),
name VARCHAR(256),
size_bytes BIGINT,
checksum VARCHAR(64),
checksum_algorithm VARCHAR(32),
description TEXT,
user_format_description TEXT,
source VARCHAR(256),
internal_id VARCHAR(256),
deleted BOOL,
store_number INTEGER,
sequence_id INTEGER
);
CREATE INDEX bit_bitstream_fk_idx ON Bitstream(bitstream_format_id);
-------------------------------------------------------
-- EPerson table
-------------------------------------------------------
CREATE TABLE EPerson
(
eperson_id INTEGER PRIMARY KEY,
email VARCHAR(64),
password VARCHAR(64),
firstname VARCHAR(64),
lastname VARCHAR(64),
can_log_in BOOL,
require_certificate BOOL,
self_registered BOOL,
last_active TIMESTAMP,
sub_frequency INTEGER,
phone VARCHAR(32),
netid VARCHAR(64),
language VARCHAR(64)
);
-- index by email
CREATE INDEX eperson_email_idx ON EPerson(email);
-- index by netid
CREATE INDEX eperson_netid_idx ON EPerson(netid);
-------------------------------------------------------
-- EPersonGroup table
-------------------------------------------------------
CREATE TABLE EPersonGroup
(
eperson_group_id INTEGER PRIMARY KEY,
name VARCHAR(256)
);
------------------------------------------------------
-- Group2Group table, records group membership in other groups
------------------------------------------------------
CREATE TABLE Group2Group
(
id INTEGER PRIMARY KEY,
parent_id INTEGER REFERENCES EPersonGroup(eperson_group_id),
child_id INTEGER REFERENCES EPersonGroup(eperson_group_id)
);
CREATE INDEX g2g_parent_fk_idx ON Group2Group(parent_id);
CREATE INDEX g2g_child_fk_idx ON Group2Group(child_id);
------------------------------------------------------
-- Group2GroupCache table, is the 'unwound' hierarchy in
-- Group2Group. It explicitly names every parent child
-- relationship, even with nested groups. For example,
-- If Group2Group lists B is a child of A and C is a child of B,
-- this table will have entries for parent(A,B), and parent(B,C)
-- AND parent(A,C) so that all of the child groups of A can be
-- looked up in a single simple query
------------------------------------------------------
CREATE TABLE Group2GroupCache
(
id INTEGER PRIMARY KEY,
parent_id INTEGER REFERENCES EPersonGroup(eperson_group_id),
child_id INTEGER REFERENCES EPersonGroup(eperson_group_id)
);
CREATE INDEX g2gc_parent_fk_idx ON Group2Group(parent_id);
CREATE INDEX g2gc_child_fk_idx ON Group2Group(child_id);
-------------------------------------------------------
-- Item table
-------------------------------------------------------
CREATE TABLE Item
(
item_id INTEGER PRIMARY KEY,
submitter_id INTEGER REFERENCES EPerson(eperson_id),
in_archive BOOL,
withdrawn BOOL,
last_modified TIMESTAMP,
owning_collection INTEGER
);
CREATE INDEX item_submitter_fk_idx ON Item(submitter_id);
-------------------------------------------------------
-- Bundle table
-------------------------------------------------------
CREATE TABLE Bundle
(
bundle_id INTEGER PRIMARY KEY,
name VARCHAR(16),
primary_bitstream_id INTEGER REFERENCES Bitstream(bitstream_id)
);
CREATE INDEX bundle_primary_fk_idx ON Bundle(primary_bitstream_id);
-------------------------------------------------------
-- Item2Bundle table
-------------------------------------------------------
CREATE TABLE Item2Bundle
(
id INTEGER PRIMARY KEY,
item_id INTEGER REFERENCES Item(item_id),
bundle_id INTEGER REFERENCES Bundle(bundle_id)
);
-- index by item_id
CREATE INDEX item2bundle_item_idx on Item2Bundle(item_id);
CREATE INDEX item2bundle_bundle_fk_idx ON Item2Bundle(bundle_id);
-------------------------------------------------------
-- Bundle2Bitstream table
-------------------------------------------------------
CREATE TABLE Bundle2Bitstream
(
id INTEGER PRIMARY KEY,
bundle_id INTEGER REFERENCES Bundle(bundle_id),
bitstream_id INTEGER REFERENCES Bitstream(bitstream_id),
bitstream_order INTEGER
);
-- index by bundle_id
CREATE INDEX bundle2bitstream_bundle_idx ON Bundle2Bitstream(bundle_id);
CREATE INDEX bundle2bitstream_bitstream_fk_idx ON Bundle2Bitstream(bitstream_id);
-------------------------------------------------------
-- Metadata Tables and Sequences
-------------------------------------------------------
CREATE TABLE MetadataSchemaRegistry
(
metadata_schema_id INTEGER PRIMARY KEY,
namespace VARCHAR(256),
short_id VARCHAR(32)
);
CREATE TABLE MetadataFieldRegistry
(
metadata_field_id INTEGER PRIMARY KEY,
metadata_schema_id INTEGER NOT NULL REFERENCES MetadataSchemaRegistry(metadata_schema_id),
element VARCHAR(64),
qualifier VARCHAR(64),
scope_note TEXT
);
CREATE TABLE MetadataValue
(
metadata_value_id INTEGER PRIMARY KEY,
item_id INTEGER REFERENCES Item(item_id),
metadata_field_id INTEGER REFERENCES MetadataFieldRegistry(metadata_field_id),
text_value TEXT,
text_lang VARCHAR(24),
place INTEGER,
authority VARCHAR(100),
confidence INTEGER DEFAULT -1
);
-- Create a dcvalue view for backwards compatibilty
CREATE VIEW dcvalue AS
SELECT MetadataValue.metadata_value_id AS "dc_value_id", MetadataValue.item_id,
MetadataValue.metadata_field_id AS "dc_type_id", MetadataValue.text_value,
MetadataValue.text_lang, MetadataValue.place
FROM MetadataValue, MetadataFieldRegistry
WHERE MetadataValue.metadata_field_id = MetadataFieldRegistry.metadata_field_id
AND MetadataFieldRegistry.metadata_schema_id = 1;
-- An index for item_id - almost all access is based on
-- instantiating the item object, which grabs all values
-- related to that item
CREATE INDEX metadatavalue_item_idx ON MetadataValue(item_id);
CREATE INDEX metadatavalue_item_idx2 ON MetadataValue(item_id,metadata_field_id);
CREATE INDEX metadatavalue_field_fk_idx ON MetadataValue(metadata_field_id);
CREATE INDEX metadatafield_schema_idx ON MetadataFieldRegistry(metadata_schema_id);
-------------------------------------------------------
-- Community table
-------------------------------------------------------
CREATE TABLE Community
(
community_id INTEGER PRIMARY KEY,
name VARCHAR(128),
short_description VARCHAR(512),
introductory_text TEXT,
logo_bitstream_id INTEGER REFERENCES Bitstream(bitstream_id),
copyright_text TEXT,
side_bar_text TEXT,
admin INTEGER REFERENCES EPersonGroup( eperson_group_id )
);
CREATE INDEX community_logo_fk_idx ON Community(logo_bitstream_id);
CREATE INDEX community_admin_fk_idx ON Community(admin);
-------------------------------------------------------
-- Collection table
-------------------------------------------------------
CREATE TABLE Collection
(
collection_id INTEGER PRIMARY KEY,
name VARCHAR(128),
short_description VARCHAR(512),
introductory_text TEXT,
logo_bitstream_id INTEGER REFERENCES Bitstream(bitstream_id),
template_item_id INTEGER REFERENCES Item(item_id),
provenance_description TEXT,
license TEXT,
copyright_text TEXT,
side_bar_text TEXT,
workflow_step_1 INTEGER REFERENCES EPersonGroup( eperson_group_id ),
workflow_step_2 INTEGER REFERENCES EPersonGroup( eperson_group_id ),
workflow_step_3 INTEGER REFERENCES EPersonGroup( eperson_group_id ),
submitter INTEGER REFERENCES EPersonGroup( eperson_group_id ),
admin INTEGER REFERENCES EPersonGroup( eperson_group_id )
);
CREATE INDEX collection_logo_fk_idx ON Collection(logo_bitstream_id);
CREATE INDEX collection_template_fk_idx ON Collection(template_item_id);
CREATE INDEX collection_workflow1_fk_idx ON Collection(workflow_step_1);
CREATE INDEX collection_workflow2_fk_idx ON Collection(workflow_step_2);
CREATE INDEX collection_workflow3_fk_idx ON Collection(workflow_step_3);
CREATE INDEX collection_submitter_fk_idx ON Collection(submitter);
CREATE INDEX collection_admin_fk_idx ON Collection(admin);
-------------------------------------------------------
-- Community2Community table
-------------------------------------------------------
CREATE TABLE Community2Community
(
id INTEGER PRIMARY KEY,
parent_comm_id INTEGER REFERENCES Community(community_id),
child_comm_id INTEGER,
CONSTRAINT com2com_child_fk FOREIGN KEY (child_comm_id) REFERENCES Community(community_id) DEFERRABLE
);
CREATE INDEX com2com_parent_fk_idx ON Community2Community(parent_comm_id);
CREATE INDEX com2com_child_fk_idx ON Community2Community(child_comm_id);
-------------------------------------------------------
-- Community2Collection table
-------------------------------------------------------
CREATE TABLE Community2Collection
(
id INTEGER PRIMARY KEY,
community_id INTEGER REFERENCES Community(community_id),
collection_id INTEGER,
CONSTRAINT comm2coll_collection_fk FOREIGN KEY (collection_id) REFERENCES Collection(collection_id) DEFERRABLE
);
-- Index on community ID
CREATE INDEX Community2Collection_community_id_idx ON Community2Collection(community_id);
-- Index on collection ID
CREATE INDEX Community2Collection_collection_id_idx ON Community2Collection(collection_id);
-------------------------------------------------------
-- Collection2Item table
-------------------------------------------------------
CREATE TABLE Collection2Item
(
id INTEGER PRIMARY KEY,
collection_id INTEGER REFERENCES Collection(collection_id),
item_id INTEGER,
CONSTRAINT coll2item_item_fk FOREIGN KEY (item_id) REFERENCES Item(item_id) DEFERRABLE
);
-- index by collection_id
CREATE INDEX collection2item_collection_idx ON Collection2Item(collection_id);
-- and item_id
CREATE INDEX Collection2Item_item_id_idx ON Collection2Item( item_id );
-------------------------------------------------------
-- ResourcePolicy table
-------------------------------------------------------
CREATE TABLE ResourcePolicy
(
policy_id INTEGER PRIMARY KEY,
resource_type_id INTEGER,
resource_id INTEGER,
action_id INTEGER,
eperson_id INTEGER REFERENCES EPerson(eperson_id),
epersongroup_id INTEGER REFERENCES EPersonGroup(eperson_group_id),
start_date DATE,
end_date DATE
);
-- index by resource_type,resource_id - all queries by
-- authorization manager are select type=x, id=y, action=z
CREATE INDEX resourcepolicy_type_id_idx ON ResourcePolicy(resource_type_id,resource_id);
CREATE INDEX rp_eperson_fk_idx ON ResourcePolicy(eperson_id);
CREATE INDEX rp_epersongroup_fk_idx ON ResourcePolicy(epersongroup_id);
-------------------------------------------------------
-- EPersonGroup2EPerson table
-------------------------------------------------------
CREATE TABLE EPersonGroup2EPerson
(
id INTEGER PRIMARY KEY,
eperson_group_id INTEGER REFERENCES EPersonGroup(eperson_group_id),
eperson_id INTEGER REFERENCES EPerson(eperson_id)
);
-- Index by group ID (used heavily by AuthorizeManager)
CREATE INDEX epersongroup2eperson_group_idx on EPersonGroup2EPerson(eperson_group_id);
CREATE INDEX epg2ep_eperson_fk_idx ON EPersonGroup2EPerson(eperson_id);
-------------------------------------------------------
-- Handle table
-------------------------------------------------------
CREATE TABLE Handle
(
handle_id INTEGER PRIMARY KEY,
handle VARCHAR(256),
resource_type_id INTEGER,
resource_id INTEGER
);
-- index by handle, commonly looked up
CREATE INDEX handle_handle_idx ON Handle(handle);
-- index by resource id and resource type id
CREATE INDEX handle_resource_id_and_type_idx ON handle(resource_id, resource_type_id);
-------------------------------------------------------
-- WorkspaceItem table
-------------------------------------------------------
CREATE TABLE WorkspaceItem
(
workspace_item_id INTEGER PRIMARY KEY,
item_id INTEGER REFERENCES Item(item_id),
collection_id INTEGER REFERENCES Collection(collection_id),
-- Answers to questions on first page of submit UI
multiple_titles BOOL,
published_before BOOL,
multiple_files BOOL,
-- How for the user has got in the submit process
stage_reached INTEGER,
page_reached INTEGER
);
CREATE INDEX workspace_item_fk_idx ON WorkspaceItem(item_id);
CREATE INDEX workspace_coll_fk_idx ON WorkspaceItem(collection_id);
-------------------------------------------------------
-- WorkflowItem table
-------------------------------------------------------
CREATE TABLE WorkflowItem
(
workflow_id INTEGER PRIMARY KEY,
item_id INTEGER REFERENCES Item(item_id),
collection_id INTEGER REFERENCES Collection(collection_id),
state INTEGER,
owner INTEGER REFERENCES EPerson(eperson_id),
-- Answers to questions on first page of submit UI
multiple_titles BOOL,
published_before BOOL,
multiple_files BOOL
-- Note: stage reached not applicable here - people involved in workflow
-- can always jump around submission UI
);
CREATE INDEX workflow_item_fk_idx ON WorkflowItem(item_id);
CREATE INDEX workflow_coll_fk_idx ON WorkflowItem(collection_id);
CREATE INDEX workflow_owner_fk_idx ON WorkflowItem(owner);
-------------------------------------------------------
-- TasklistItem table
-------------------------------------------------------
CREATE TABLE TasklistItem
(
tasklist_id INTEGER PRIMARY KEY,
eperson_id INTEGER REFERENCES EPerson(eperson_id),
workflow_id INTEGER REFERENCES WorkflowItem(workflow_id)
);
CREATE INDEX tasklist_eperson_fk_idx ON TasklistItem(eperson_id);
CREATE INDEX tasklist_workflow_fk_idx ON TasklistItem(workflow_id);
-------------------------------------------------------
-- RegistrationData table
-------------------------------------------------------
CREATE TABLE RegistrationData
(
registrationdata_id INTEGER PRIMARY KEY,
email VARCHAR(64),
token VARCHAR(48),
expires TIMESTAMP
);
-------------------------------------------------------
-- Subscription table
-------------------------------------------------------
CREATE TABLE Subscription
(
subscription_id INTEGER PRIMARY KEY,
eperson_id INTEGER REFERENCES EPerson(eperson_id),
collection_id INTEGER REFERENCES Collection(collection_id)
);
CREATE INDEX subs_eperson_fk_idx ON Subscription(eperson_id);
CREATE INDEX subs_collection_fk_idx ON Subscription(collection_id);
-------------------------------------------------------------------------------
-- EPersonGroup2WorkspaceItem table
-------------------------------------------------------------------------------
CREATE TABLE epersongroup2workspaceitem
(
id integer,
eperson_group_id integer REFERENCES EPersonGroup(eperson_group_id),
workspace_item_id integer REFERENCES WorkspaceItem(workspace_item_id),
CONSTRAINT epersongroup2item_pkey PRIMARY KEY (id)
);
CREATE INDEX epg2wi_group_fk_idx ON epersongroup2workspaceitem(eperson_group_id);
CREATE INDEX epg2wi_workspace_fk_idx ON epersongroup2workspaceitem(workspace_item_id);
-------------------------------------------------------
-- Communities2Item table
-------------------------------------------------------
CREATE TABLE Communities2Item
(
id INTEGER PRIMARY KEY,
community_id INTEGER REFERENCES Community(community_id),
item_id INTEGER REFERENCES Item(item_id)
);
-- Index by item_id for update/re-index
CREATE INDEX Communities2Item_item_id_idx ON Communities2Item( item_id );
CREATE INDEX Comm2Item_community_fk_idx ON Communities2Item( community_id );
-------------------------------------------------------
-- Community2Item view
------------------------------------------------------
CREATE VIEW Community2Item as
SELECT Community2Collection.community_id, Collection2Item.item_id
FROM Community2Collection, Collection2Item
WHERE Collection2Item.collection_id = Community2Collection.collection_id
;
-------------------------------------------------------------------------
-- Tables to manage cache of item counts for communities and collections
-------------------------------------------------------------------------
CREATE TABLE collection_item_count (
collection_id INTEGER PRIMARY KEY REFERENCES collection(collection_id),
count INTEGER
);
CREATE TABLE community_item_count (
community_id INTEGER PRIMARY KEY REFERENCES community(community_id),
count INTEGER
);
-------------------------------------------------------
-- Create 'special' groups, for anonymous access
-- and administrators
-------------------------------------------------------
-- We don't use getnextid() for 'anonymous' since the sequences start at '1'
INSERT INTO epersongroup VALUES(0, 'Anonymous');
INSERT INTO epersongroup VALUES(NEXTVAL('epersongroup_seq'), 'Administrator');
-------------------------------------------------------
-- Create the checksum checker tables
-------------------------------------------------------
-- list of the possible results as determined
-- by the system or an administrator
CREATE TABLE checksum_results
(
result_code VARCHAR PRIMARY KEY,
result_description VARCHAR
);
-- This table has a one-to-one relationship
-- with the bitstream table. A row will be inserted
-- every time a row is inserted into the bitstream table, and
-- that row will be updated every time the checksum is
-- re-calculated.
CREATE TABLE most_recent_checksum
(
bitstream_id INTEGER PRIMARY KEY REFERENCES bitstream(bitstream_id),
to_be_processed BOOLEAN NOT NULL,
expected_checksum VARCHAR NOT NULL,
current_checksum VARCHAR NOT NULL,
last_process_start_date TIMESTAMP NOT NULL,
last_process_end_date TIMESTAMP NOT NULL,
checksum_algorithm VARCHAR NOT NULL,
matched_prev_checksum BOOLEAN NOT NULL,
result VARCHAR REFERENCES checksum_results(result_code)
);
CREATE INDEX mrc_result_fk_idx ON most_recent_checksum( result );
-- A row will be inserted into this table every
-- time a checksum is re-calculated.
CREATE TABLE checksum_history
(
check_id BIGINT PRIMARY KEY,
bitstream_id INTEGER,
process_start_date TIMESTAMP,
process_end_date TIMESTAMP,
checksum_expected VARCHAR,
checksum_calculated VARCHAR,
result VARCHAR REFERENCES checksum_results(result_code)
);
CREATE INDEX ch_result_fk_idx ON checksum_history( result );
-- this will insert into the result code
-- the initial results that should be
-- possible
insert into checksum_results
values
(
'INVALID_HISTORY',
'Install of the cheksum checking code do not consider this history as valid'
);
insert into checksum_results
values
(
'BITSTREAM_NOT_FOUND',
'The bitstream could not be found'
);
insert into checksum_results
values
(
'CHECKSUM_MATCH',
'Current checksum matched previous checksum'
);
insert into checksum_results
values
(
'CHECKSUM_NO_MATCH',
'Current checksum does not match previous checksum'
);
insert into checksum_results
values
(
'CHECKSUM_PREV_NOT_FOUND',
'Previous checksum was not found: no comparison possible'
);
insert into checksum_results
values
(
'BITSTREAM_INFO_NOT_FOUND',
'Bitstream info not found'
);
insert into checksum_results
values
(
'CHECKSUM_ALGORITHM_INVALID',
'Invalid checksum algorithm'
);
insert into checksum_results
values
(
'BITSTREAM_NOT_PROCESSED',
'Bitstream marked to_be_processed=false'
);
insert into checksum_results
values
(
'BITSTREAM_MARKED_DELETED',
'Bitstream marked deleted in bitstream table'
);
-------------------------------------------------------
-- Create the harvest settings table
-------------------------------------------------------
-- Values used by the OAIHarvester to harvest a collection
-- HarvestInstance is the DAO class for this table
CREATE TABLE harvested_collection
(
collection_id INTEGER REFERENCES collection(collection_id) ON DELETE CASCADE,
harvest_type INTEGER,
oai_source VARCHAR,
oai_set_id VARCHAR,
harvest_message VARCHAR,
metadata_config_id VARCHAR,
harvest_status INTEGER,
harvest_start_time TIMESTAMP,
last_harvested TIMESTAMP,
id INTEGER PRIMARY KEY
);
CREATE INDEX harvested_collection_fk_idx ON harvested_collection(collection_id);
CREATE TABLE harvested_item
(
item_id INTEGER REFERENCES item(item_id) ON DELETE CASCADE,
last_harvested TIMESTAMP,
oai_id VARCHAR,
id INTEGER PRIMARY KEY
);
CREATE INDEX harvested_item_fk_idx ON harvested_item(item_id);