org.dspace.content.crosswalk
Class XSLTDisseminationCrosswalk

java.lang.Object
  extended by org.dspace.core.SelfNamedPlugin
      extended by org.dspace.content.crosswalk.XSLTCrosswalk
          extended by org.dspace.content.crosswalk.XSLTDisseminationCrosswalk
All Implemented Interfaces:
DisseminationCrosswalk

public class XSLTDisseminationCrosswalk
extends XSLTCrosswalk
implements DisseminationCrosswalk

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. This is configured on additional properties in the DSpace Configuration, i.e.:
   crosswalk.dissemination.PluginName.namespace.Prefix = namespace-URI
   crosswalk.dissemination.PluginName.schemaLocation = schemaLocation value
   crosswalk.dissemination.PluginName.preferList = boolean (default is false)
 
For example:
   crosswalk.dissemination.qdc.namespace.dc = http://purl.org/dc/elements/1.1/
   crosswalk.dissemination.qdc.namespace.dcterms = http://purl.org/dc/terms/
   crosswalk.dissemination.qdc.schemaLocation = \
      http://purl.org/dc/elements/1.1/ http://dublincore.org/schemas/xmls/qdc/2003/04/02/qualifieddc.xsd
   crosswalk.dissemination.qdc.preferList = true
 

Version:
$Revision: 5844 $
Author:
Larry Stone, Scott Phillips
See Also:
XSLTCrosswalk

Field Summary
 
Fields inherited from class org.dspace.content.crosswalk.XSLTCrosswalk
CONFIG_PREFIX, DIM_NS
 
Fields inherited from interface org.dspace.content.crosswalk.DisseminationCrosswalk
XSI_NS
 
Constructor Summary
XSLTDisseminationCrosswalk()
           
 
Method Summary
 boolean canDisseminate(DSpaceObject dso)
          Determine is this crosswalk can dessiminate the given object.
static org.jdom.Element createDIM(DSpaceObject dso)
          Generate an intermediate representation of a DSpace object.
static org.jdom.Element createDIM(DSpaceObject dso, DCValue[] dcvs)
          Generate an intermediate representation of a DSpace object.
 org.jdom.Element disseminateElement(DSpaceObject dso)
          Disseminate the DSpace item, collection, or community.
 List<org.jdom.Element> disseminateList(DSpaceObject dso)
          Disseminate the DSpace item, collection, or community.
 org.jdom.Namespace[] getNamespaces()
          Return the namespace used by this crosswalk.
static String[] getPluginNames()
           
 String getSchemaLocation()
          Return the schema location used by this crosswalk.
 boolean preferList()
          return true if this crosswalk prefers the list form over an singe element, otherwise false.
 
Methods inherited from class org.dspace.content.crosswalk.XSLTCrosswalk
getTransformer, makeAliases
 
Methods inherited from class org.dspace.core.SelfNamedPlugin
getPluginInstanceName, setPluginInstanceName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSLTDisseminationCrosswalk

public XSLTDisseminationCrosswalk()
Method Detail

getPluginNames

public static String[] getPluginNames()

getNamespaces

public org.jdom.Namespace[] getNamespaces()
Return the namespace used by this crosswalk.

Specified by:
getNamespaces in interface DisseminationCrosswalk
Returns:
array of namespaces, which may be empty.
See Also:
DisseminationCrosswalk

getSchemaLocation

public String getSchemaLocation()
Return the schema location used by this crosswalk.

Specified by:
getSchemaLocation in interface DisseminationCrosswalk
Returns:
SchemaLocation string, including URI namespace, followed by whitespace and URI of XML schema document, or empty string if unknown.
See Also:
DisseminationCrosswalk

disseminateElement

public org.jdom.Element disseminateElement(DSpaceObject dso)
                                    throws CrosswalkException,
                                           IOException,
                                           SQLException,
                                           AuthorizeException
Disseminate the DSpace item, collection, or community.

Specified by:
disseminateElement in interface DisseminationCrosswalk
Parameters:
dso - the DSpace Object whose metadata to export.
Returns:
root Element of the target metadata, never null
Throws:
CrosswalkInternalException - (CrosswalkException) failure of the crosswalk itself.
CrosswalkObjectNotSupported - (CrosswalkException) Cannot crosswalk this kind of DSpace object.
IOException - I/O failure in services this calls
SQLException - Database failure in services this calls
AuthorizeException - current user not authorized for this operation.
CrosswalkException
See Also:
DisseminationCrosswalk

disseminateList

public List<org.jdom.Element> disseminateList(DSpaceObject dso)
                                       throws CrosswalkException,
                                              IOException,
                                              SQLException,
                                              AuthorizeException
Disseminate the DSpace item, collection, or community.

Specified by:
disseminateList in interface DisseminationCrosswalk
Parameters:
dso - the DSpace Object whose metadata to export.
Returns:
results of crosswalk as list of XML elements.
Throws:
CrosswalkInternalException - (CrosswalkException) failure of the crosswalk itself.
CrosswalkObjectNotSupported - (CrosswalkException) Cannot crosswalk this kind of DSpace object.
IOException - I/O failure in services this calls
SQLException - Database failure in services this calls
AuthorizeException - current user not authorized for this operation.
CrosswalkException
See Also:
DisseminationCrosswalk

canDisseminate

public boolean canDisseminate(DSpaceObject dso)
Determine is this crosswalk can dessiminate the given object.

Specified by:
canDisseminate in interface DisseminationCrosswalk
Parameters:
dso - dspace object, e.g. an Item.
Returns:
true when disseminator is capable of producing metadata.
See Also:
DisseminationCrosswalk

preferList

public boolean preferList()
return true if this crosswalk prefers the list form over an singe element, otherwise false.

Specified by:
preferList in interface DisseminationCrosswalk
Returns:
true when disseminator prefers you call disseminateList().
See Also:
DisseminationCrosswalk

createDIM

public static org.jdom.Element createDIM(DSpaceObject dso,
                                         DCValue[] dcvs)
Generate an intermediate representation of a DSpace object.

Parameters:
dso - The dspace object to build a representation of.

createDIM

public static org.jdom.Element createDIM(DSpaceObject dso)
Generate an intermediate representation of a DSpace object.

Parameters:
dso - The dspace object to build a representation of.


Copyright © 2011 DuraSpace. All Rights Reserved.