org.dspace.content.crosswalk |
Provides an API and implementations of metadata crosswalks, which are directional mappings from one schema to another, performed in the context of Item ingestion or dissemination. Most crosswalks are driven by a mapping
in a file, which reside in config/crosswalks .
Crosswalk Interfaces
The principle interfaces are for ingest and dissemination contexts, i.e.
the IngestionCrosswalk interface consists of the methods:
public void ingest(Context context, DSpaceObject dso, List metadata)
public void ingest(Context context, DSpaceObject dso, Element root)
The DisseminationCrosswalk interface has methods:
public Namespace[] getNamespaces()
public String getSchemaLocation()
public boolean canDisseminate(DSpaceObject dso)
public List disseminateList(DSpaceObject dso)
public Element disseminateElement(DSpaceObject dso)
Crosswalk Implementations
Crosswalks exist for many formats, includings DC, QDC, METs, MODs, Premis, and a general
implementation employing an XSLT stylesheet.
|
Java Source File Name | Type | Comment |
CrosswalkException.java | Class | Superclass for more-specific crosswalk exceptions. |
CrosswalkInternalException.java | Class | Something went wrong inside the crosswalk, not necessarily caused by
the input or state (although it could be an incorrectly handled pathological
case). |
CrosswalkObjectNotSupported.java | Class | Something went wrong inside the crosswalk, not necessarily caused by
the input or state (although it could be an incorrectly handled pathological
case). |
DisseminationCrosswalk.java | Interface | Dissemination Crosswalk plugin -- translate DSpace native
metadata into an external XML format.
This interface describes a plugin that produces metadata in an XML-based
format from the state of a DSpace object. |
IngestionCrosswalk.java | Interface | Ingestion Crosswalk plugin -- translate an external metadata format
into DSpace native metadata.
This describes a plugin that translates an external XML
metadata format (e.g. |
MetadataValidationException.java | Class | This indicates a problem with the input metadata (for submission) or
item state (dissemination). |
METSDisseminationCrosswalk.java | Class | METS dissemination crosswalk
Produces a METS manifest for the DSpace item as a metadata
description -- intended to work within an application like the
OAI server. |
MODSDisseminationCrosswalk.java | Class | Configurable MODS Crosswalk
This class supports multiple dissemination crosswalks from DSpace
internal data to the MODS XML format
(see http://www.loc.gov/standards/mods/.)
It registers multiple Plugin names, which it reads from
the DSpace configuration as follows:
Configuration
Every key starting with "crosswalk.mods.properties." describes a
MODS crosswalk. |
NullIngestionCrosswalk.java | Class | "Null" ingestion crosswalk
Use this crosswalk to ignore a metadata record on ingest. |
PREMISCrosswalk.java | Class | PREMIS Crosswalk
Translate between DSpace Bitstream properties and PREMIS metadata format
(see
http://www.oclc.org/research/projects/pmwg/ for details). |
QDCCrosswalk.java | Class | Configurable QDC Crosswalk
This class supports multiple dissemination crosswalks from DSpace
internal data to the Qualified Dublin Core XML format
(see http://dublincore.org/
It registers multiple Plugin names, which it reads from
the DSpace configuration as follows:
Configuration
Every key starting with "crosswalk.qdc.properties." describes a
QDC crosswalk. |
SimpleDCDisseminationCrosswalk.java | Class | Disseminator for Simple Dublin Core metadata in XML format.
Logic stolen from OAIDCCrosswalk. |
StreamDisseminationCrosswalk.java | Interface | A class implementing this interface crosswalk metadata directly
from a DSpace Object to an output stream, in a specific format. |
StreamIngestionCrosswalk.java | Interface | A class implementing this interface can crosswalk metadata directly
from a stream (assumed to be in a specific format) to the object. |
XHTMLHeadDisseminationCrosswalk.java | Class | Crosswalk for creating appropriate <meta> elements to appear in the
item display page for a particular item, for improving automated processing
of the page (e.g. |
XSLTCrosswalk.java | Class | Configurable XSLT-driven Crosswalk
This is the superclass of the XSLT dissemination and submission crosswalks.
These classes let you can create many different crosswalks between
DSpace internal data and any XML without changing any code, just
XSL transformation (XSLT) stylesheets.
Each configured stylesheet appears as a new plugin name, although they all
share the same plugin implementation class.
The XML transformation must produce (for submission) or expect (for
dissemination) a document in DIM - DSpace Intermediate Metadata format.
See
http://wiki.dspace.org/DspaceIntermediateMetadata for details.
Configuration
Prepare your DSpace configuration as follows:
A submission crosswalk is described by a
configuration key like
crosswalk.submission.PluginName.stylesheet = path
The alias names the Plugin name,
and the path value is the pathname (relative to dspace.dir/config )
of the crosswalk stylesheet, e.g. |
XSLTDisseminationCrosswalk.java | Class | Configurable XSLT-driven dissemination Crosswalk
See the XSLTCrosswalk superclass for details on configuration.
Additional Configuration of Dissemination crosswalk:
The disseminator also needs to be configured with an XML Namespace
(including prefix and URI) and an XML Schema for output format. |
XSLTIngestionCrosswalk.java | Class | Configurable XSLT-driven ingestion Crosswalk
See the XSLTCrosswalk superclass for details on configuration. |