jonathangreen
14 years ago
271 changed files with 0 additions and 72072 deletions
@ -1,544 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
/* |
||||
* Created on 18-Feb-08 |
||||
* |
||||
* To change the template for this generated file go to |
||||
* Window - Preferences - PHPeclipse - PHP - Code Templates |
||||
*/ |
||||
// module_load_include('nc', 'CollectionClass', ''); |
||||
// This CLASS caches the streams so once you call a getstream once it will always return the same stream as long as you are using the |
||||
// instance of this class. Cached to prevent mutiple hits to fedora. maybe a bit confusing though if this class is used in a different context. |
||||
class CollectionClass { |
||||
|
||||
public static $COLLECTION_CLASS_COLLECTION_POLICY_STREAM = 'COLLECTION_POLICY'; |
||||
public static $COLLECTION_CLASS_COLLECTION_VIEW_STREAM = 'COLLECTION_VIEW'; |
||||
private $contentModelStream = NULL; |
||||
private $collectionPolicyStream = NULL; |
||||
private $collectionViewStream = NULL; |
||||
public $collectionObject = NULL; |
||||
|
||||
/** |
||||
* Creates a collection object. Optionally can associate it with a single collection with parameter $pid. |
||||
* |
||||
* @param string $pid The pid of the collection to represent. |
||||
* @return CollectionClass |
||||
*/ |
||||
function __construct($pid = NULL) { |
||||
if (!empty($pid)) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
$this->collectionObject = new ObjectHelper($pid); |
||||
$this->pid = $pid; |
||||
} |
||||
} |
||||
|
||||
/* gets objects related to this object. must include offset and limit |
||||
* calls getRelatedItems but enforces limit and offset |
||||
*/ |
||||
|
||||
function getRelatedObjects($pid, $limit, $offset, $itqlquery=NULL) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
$objectHelper = new ObjectHelper(); |
||||
if (!isset($itqlquery)) { |
||||
// $query_string = $objectHelper->getStream($pid, 'QUERY', 0); |
||||
$itqlquery = $objectHelper->getStream($pid, 'QUERY', 0); |
||||
} |
||||
return $this->getRelatedItems($pid, $itqlquery, $limit, $offset); |
||||
} |
||||
|
||||
/** |
||||
* Gets objects related to this item. It will query the object for a Query stream and use that as a itql query |
||||
* or if there is no query stream it will use the default. If you pass a query to this method it will use the passed in query no matter what |
||||
*/ |
||||
function getRelatedItems($pid, $itqlquery = NULL, $limit = NULL, $offset = NULL) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
if (!isset($limit)) { |
||||
$limit = 1000; |
||||
} |
||||
if (!isset($offset)) { |
||||
$offset = 0; |
||||
} |
||||
global $user; |
||||
if (!fedora_repository_access(OBJECTHELPER :: $OBJECT_HELPER_VIEW_FEDORA, $pid, $user)) { |
||||
drupal_set_message(t("You do not have access to Fedora objects within the attempted namespace or access to Fedora denied."), 'error'); |
||||
return ' '; |
||||
} |
||||
$objectHelper = new ObjectHelper(); |
||||
$query_string = $itqlquery; |
||||
if (!isset($query_string)) { |
||||
$query_string = $objectHelper->getStream($pid, 'QUERY', 0); |
||||
if ($query_string == NULL) { |
||||
$query_string = 'select $object $title $content from <#ri> |
||||
where ($object <dc:title> $title |
||||
and $object <fedora-model:hasModel> $content |
||||
and ($object <fedora-rels-ext:isMemberOfCollection> <info:fedora/' . $pid . '> |
||||
or $object <fedora-rels-ext:isMemberOf> <info:fedora/' . $pid . '>) |
||||
and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>) |
||||
minus $content <mulgara:is> <info:fedora/fedora-system:FedoraObject-3.0> |
||||
order by $title'; |
||||
} |
||||
} |
||||
else { |
||||
// Replace %parent_collection% with the actual collection PID |
||||
$query_string = preg_replace("/\%parent_collection\%/", "<info:fedora/$pid>", $query_string); |
||||
} |
||||
|
||||
$query_string = htmlentities(urlencode($query_string)); |
||||
|
||||
$content = ''; |
||||
$url = variable_get('fedora_repository_url', 'http://localhost:8080/fedora/risearch'); |
||||
$url .= "?type=tuples&flush=TRUE&format=Sparql&limit=$limit&offset=$offset&lang=itql&stream=on&query=" . $query_string; |
||||
$content .= do_curl($url); |
||||
|
||||
return $content; |
||||
} |
||||
|
||||
function getCollectionPolicyStream($collection_pid) { |
||||
if ($this->collectionPolicyStream != NULL) { |
||||
return $this->collectionPolicyStream; |
||||
} |
||||
$this->collectionPolicyStream = $this->getStream($collection_pid, CollectionClass :: $COLLECTION_CLASS_COLLECTION_POLICY_STREAM, 0); |
||||
return $this->collectionPolicyStream; |
||||
} |
||||
|
||||
function getRelationshipElement($collection_pid) { |
||||
$stream = $this->getCollectionPolicyStream($collection_pid); |
||||
try { |
||||
$xml = new SimpleXMLElement($stream); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error getting relationship element from policy stream !e', array('!e' => $e->getMessage())), 'error'); |
||||
return; |
||||
} |
||||
$relationship = $xml->relationship[0]; |
||||
return $relationship; |
||||
} |
||||
|
||||
function getCollectionViewStream($collection_pid) { |
||||
$this->collectionViewStream = $this->getStream($collection_pid, CollectionClass :: $COLLECTION_CLASS_COLLECTION_VIEW_STREAM, 0); |
||||
return $this->collectionViewStream; |
||||
} |
||||
|
||||
function getStream($pid, $dsid, $showError = 1) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item = new fedora_item($pid); |
||||
return isset($item->datastreams[$dsid]) ? $item->get_datastream_dissemination($dsid) : NULL; |
||||
} |
||||
|
||||
function getPidNameSpace($pid, $dsid) { |
||||
$stream = $this->getCollectionPolicyStream($pid); |
||||
try { |
||||
$xml = new SimpleXMLElement($stream); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error getting PID namespace !e', array('!e' => $e->getMessage())), 'error'); |
||||
return; |
||||
} |
||||
foreach ($xml->contentmodels->contentmodel as $contentModel) { |
||||
// $contentModelName=strip_tags($contentModel['name']); |
||||
$contentdsid = strip_tags($contentModel->dsid); |
||||
if (strtolower($contentdsid) == strtolower($dsid)) { |
||||
return strip_tags($contentModel->pid_namespace->asXML()); |
||||
} |
||||
} |
||||
drupal_set_message(t('Error getting PID namespace! using collection pid of !pid and content model of !dsid', array('!pid' => $pid, '!dsid' => $dsid)), 'error'); |
||||
return NULL; |
||||
} |
||||
|
||||
/** |
||||
* gets a list of content models from a collection policy |
||||
*/ |
||||
function getContentModels($collection_pid, $showError = TRUE) { |
||||
module_load_include('inc', 'Fedora_Repository', 'ContentModel'); |
||||
$collection_stream = $this->getCollectionPolicyStream($collection_pid); |
||||
try { |
||||
$xml = new SimpleXMLElement($collection_stream); |
||||
} catch (Exception $e) { |
||||
if ($showError) { |
||||
drupal_set_message(t("!e", array('!e' => $e->getMessage())), 'error'); |
||||
} |
||||
return NULL; |
||||
} |
||||
foreach ($xml->contentmodels->contentmodel as $content_model) { |
||||
$contentModel = new ContentModel(); |
||||
$contentModel->contentModelDsid = $content_model->dsid; |
||||
$contentModel->contentModelPid = $content_model->pid; |
||||
$contentModel->pidNamespace = $content_model->pidNamespace; |
||||
$contentModel->contentModelName = $content_model['name']; |
||||
$models[] = $contentModel; |
||||
} |
||||
return $models; |
||||
} |
||||
|
||||
/** |
||||
* using the collection policies pid namespace get a new pid by calling fedora' get next pid and appending it to the namespace |
||||
* $pid is the $pid of the content model |
||||
* $dsid is the datastream id of the content model. |
||||
*/ |
||||
function getNextPid($pid, $dsid) { |
||||
module_load_include('inc', 'Fedora_Repository', 'ConnectionHelper'); |
||||
$pidNameSpace = $this->getPidNameSpace($pid, $dsid); |
||||
$pname = substr($pidNameSpace, 0, strpos($pidNameSpace, ":")); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
return Fedora_Item::get_next_pid_in_namespace($pname); |
||||
} |
||||
|
||||
/** |
||||
* gets the form handler file, class and method and returns them in an array |
||||
* |
||||
* @param string $pid The content model PID |
||||
* @param string $dsid The content model DSID |
||||
* @return array The file, class and method name to handle the ingest form. |
||||
*/ |
||||
function getFormHandler($pid, $dsid) { |
||||
$stream = $this->getContentModelStream($pid, $dsid); |
||||
try { |
||||
$xml = new SimpleXMLElement($stream); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error Getting FormHandler: !e', array('!e' => $e->getMessage())), 'error'); |
||||
return NULL; |
||||
} |
||||
$formHandler = $xml->ingest_form; |
||||
if ($formHandler != NULL) { |
||||
$handlerDsid = strip_tags($formHandler['dsid']); |
||||
$handlerMethod = strip_tags($formHandler->form_builder_method->form_handler->asXML()); |
||||
$handlerFile = strip_tags($formHandler->form_builder_method->file->asXML()); |
||||
$handlerClass = strip_tags($formHandler->form_builder_method->class_name->asXML()); |
||||
$handlerModule = strip_tags($formHandler->form_builder_method->module->asXML()); |
||||
$returnArray = array(); |
||||
$returnArray['module'] = $handlerModule; |
||||
$returnArray['method'] = $handlerMethod; |
||||
$returnArray['class'] = $handlerClass; |
||||
$returnArray['file'] = $handlerFile; |
||||
return $returnArray; |
||||
} |
||||
|
||||
drupal_set_message(t("Error getting form handler. No handler found for !pid - !dsid", array('!pid' => $pid, '!dsid' => $dsid)), 'error'); |
||||
return NULL; |
||||
} |
||||
|
||||
function getAllowedMimeTypes($contentModelPid, $contentModel_dsid) { |
||||
$stream = $this->getContentModelStream($contentModelPid, $contentModel_dsid); |
||||
try { |
||||
$xml = new SimpleXMLElement($stream); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error getting content model stream for mime types !e', array('!e' => $e->getMessage())), 'error'); |
||||
return; |
||||
} |
||||
foreach ($xml->mimetypes->type as $type) { |
||||
$types[] = $type; |
||||
} |
||||
return $types; |
||||
} |
||||
|
||||
/** |
||||
* Grabs the rules from the content model stream |
||||
* file the file that has been uploaded |
||||
*/ |
||||
function getAndDoRules($file, $mimetype, $pid, $dsid) { |
||||
if (!user_access('ingest new fedora objects')) { |
||||
drupal_set_message(t('You do not have permission to ingest objects.')); |
||||
return FALSE; |
||||
} |
||||
|
||||
$stream = $this->getContentModelStream($pid, $dsid); |
||||
|
||||
try { |
||||
$xml = new SimpleXMLElement($stream); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error getting content model stream !e', array('!e' => $e->getMessage())), 'error'); |
||||
return FALSE; |
||||
} |
||||
foreach ($xml->ingest_rules->rule as $rule) { |
||||
foreach ($rule->applies_to as $type) { |
||||
if (!strcmp(trim($type), trim($mimetype))) { |
||||
$methods = $rule->methods->method; |
||||
return $this->callMethods($file, $methods); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* calls the methods defined in the content model rules .xml file stored in a Fedora object |
||||
*/ |
||||
function callMethods($file, $methods) { |
||||
foreach ($methods as $method) { |
||||
$phpFile = strip_tags($method->file->asXML()); |
||||
$phpClass = strip_tags($method->class_name->asXML()); |
||||
$phpMethod = strip_tags($method->method_name->asXML()); |
||||
$file_ext = strip_tags($method->modified_files_ext->asXML()); |
||||
$parameters = $method->parameters->parameter; |
||||
$dsid = strip_tags($method->datastream_id); |
||||
$parametersArray = array(); |
||||
if (isset($parameters)) { |
||||
foreach ($parameters as $parameter) { |
||||
$name = strip_tags($parameter['name']); |
||||
$value = strip_tags($parameter->asXML()); |
||||
$parametersArray["$name"] = $value; |
||||
} |
||||
} |
||||
// module_load_include( $phpFile, 'Fedora_Repository', ' '); |
||||
require_once(drupal_get_path('module', 'fedora_repository') . '/' . $phpFile); |
||||
$thisClass = new $phpClass (); |
||||
$returnValue = $thisClass->$phpMethod($parametersArray, $dsid, $file, $file_ext); |
||||
if (!$returnValue) { |
||||
drupal_set_message('Error! Failed running content model method !m !rv', array('!m' => $phpMethod, '!rv' => $returnValue)); |
||||
return FALSE; |
||||
} |
||||
} |
||||
return TRUE; |
||||
} |
||||
|
||||
/** |
||||
* grabs a xml form definition from a content model and builds |
||||
* the form using drupals forms api |
||||
*/ |
||||
function build_ingest_form(&$form, &$form_state, $contentModelPid, $contentModelDsid) { |
||||
$stream = $this->getContentModelStream($contentModelPid, $contentModelDsid); |
||||
try { |
||||
$xml = new SimpleXMLElement($stream); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error getting ingest form stream !e', array('!e' => $e->getMessage())), 'error'); |
||||
return FALSE; |
||||
} |
||||
$docRoot = $_SERVER['DOCUMENT_ROOT']; |
||||
|
||||
$file = (isset($form_state['values']['ingest-file-location']) ? $form_state['values']['ingest-file-location'] : ''); |
||||
// $fullPath = $docRoot . '' . $file; |
||||
$fullpath = $file; |
||||
// $form = array(); |
||||
$form['step'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => (isset($form_state['values']['step']) ? $form_state['values']['step'] : 0) + 1, |
||||
); |
||||
$form['ingest-file-location'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => $file, |
||||
); |
||||
|
||||
$form['content_model_name'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => $contentModelDsid |
||||
); |
||||
$form['models'] = array(//content models available |
||||
'#type' => 'hidden', |
||||
'#value' => $form_state['values']['models'], |
||||
); |
||||
$form['fullpath'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => $fullpath, |
||||
); |
||||
|
||||
$form['#attributes']['enctype'] = 'multipart/form-data'; |
||||
$form['indicator']['ingest-file-location'] = array( |
||||
'#type' => 'file', |
||||
'#title' => t('Upload Document'), |
||||
'#size' => 48, |
||||
'#description' => t('Full text'), |
||||
); |
||||
if ($xml->ingest_form->hide_file_chooser == 'TRUE') { |
||||
$form['indicator']['ingest-file-location']['#type'] = 'hidden'; |
||||
} |
||||
$ingest_form = $xml->ingest_form; //should only be one |
||||
$drupal_module = strip_tags($ingest_form->form_builder_method->module->asXML()); |
||||
if (empty($drupal_module)) { |
||||
$drupal_module = 'fedora_repository'; |
||||
} |
||||
$phpFile = strip_tags($ingest_form->form_builder_method->file->asXML()); |
||||
$phpClass = strip_tags($ingest_form->form_builder_method->class_name->asXML()); |
||||
$phpMethod = strip_tags($ingest_form->form_builder_method->method_name->asXML()); |
||||
$dsid = strip_tags($ingest_form['dsid']); |
||||
// module_load_include('php', 'Fedora_Repository', $phpFile); |
||||
require_once(drupal_get_path('module', $drupal_module) . '/' . $phpFile); |
||||
$thisClass = new $phpClass (); |
||||
|
||||
return $thisClass->$phpMethod($form, $ingest_form, $form_state['values'], $form_state); |
||||
} |
||||
|
||||
//this will also create a personal collection for an existing user if they don't have one |
||||
//not using this function currently |
||||
function createUserCollection(& $user) { |
||||
if (isset($user->fedora_personal_pid)) { |
||||
return; |
||||
} |
||||
$username = array( |
||||
'name' => variable_get('fedora_admin_user', 'fedoraAdmin') |
||||
); |
||||
$admin_user = user_load($username); |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
$connectionHelper = new ConnectionHelper(); |
||||
try { |
||||
$soapClient = $connectionHelper->getSoapClient(variable_get('fedora_soap_manage_url', 'http://localhost:8080/fedora/services/management?wsdl')); |
||||
$pidNameSpace = variable_get('fedora_repository_pid', 'vre:'); |
||||
$pidNameSpace = substr($pidNameSpace, 0, strpos($pidNameSpace, ":")); |
||||
$params = array( |
||||
'numPIDs' => '', |
||||
'pidNamespace' => $pidNameSpace |
||||
); |
||||
$object = $soapClient->__soapCall('getNextPID', array( |
||||
$params |
||||
)); |
||||
} catch (exception $e) { |
||||
drupal_set_message(t('Error getting Next PID: !e', array('!e' => $e->getMessage())), 'error'); |
||||
return FALSE; |
||||
} |
||||
$pid = implode(get_object_vars($object)); |
||||
$pidNumber = strstr($pid, ":"); |
||||
$pid = $pidNameSpace . ':' . 'USER-' . $user->name . '-' . substr($pidNumber, 1); |
||||
$personal_collection_pid = array( |
||||
'fedora_personal_pid' => $pid |
||||
); |
||||
module_load_include('inc', 'fedora_repository', 'plugins/PersonalCollectionClass'); |
||||
$personalCollectionClass = new PersonalCollectionClass(); |
||||
if (!$personalCollectionClass->createCollection($user, $pid, $soapClient)) { |
||||
drupal_set_message("Did not create a personal collection object for !u", array('!u' => $user->name)); |
||||
return FALSE; //creation failed don't save the collection pid in drupal db |
||||
} |
||||
user_save($user, $personal_collection_pid); |
||||
return TRUE; |
||||
} |
||||
|
||||
/** |
||||
* Queries a collection object for an xslt to format how the |
||||
* collection of objects is displayed. |
||||
*/ |
||||
function getXslContent($pid, $path, $canUseDefault = TRUE) { |
||||
module_load_include('inc', 'fedora_repository', 'CollectionClass'); |
||||
$collectionClass = new CollectionClass(); |
||||
$xslContent = $collectionClass->getCollectionViewStream($pid); |
||||
if (!$xslContent && $canUseDefault) { //no xslt so we will use the default sent with the module |
||||
$xslContent = file_get_contents($path . '/xsl/sparql_to_html.xsl'); |
||||
} |
||||
return $xslContent; |
||||
} |
||||
|
||||
function showFieldSets($page_number) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
global $base_url; |
||||
|
||||
$tabset = array(); |
||||
|
||||
global $user; |
||||
$objectHelper = new ObjectHelper(); |
||||
$item = new Fedora_Item($this->pid); |
||||
$query = NULL; |
||||
if ($item->exists() && array_key_exists('QUERY', $item->datastreams)) { |
||||
$query = $item->get_datastream_dissemination('QUERY'); |
||||
} |
||||
$results = $this->getRelatedItems($this->pid, $query); |
||||
|
||||
$collection_items = $this->renderCollection($results, $this->pid, NULL, NULL, $page_number); |
||||
$collection_item = new Fedora_Item($this->pid); |
||||
// Check the form post to see if we are in the middle of an ingest operation. |
||||
$show_ingest_tab = (!empty($_POST['form_id']) && $_POST['form_id'] == 'fedora_repository_ingest_form'); |
||||
$add_to_collection = $this->getIngestInterface(); |
||||
|
||||
$tabset['view_tab'] = array( |
||||
'#type' => 'tabpage', |
||||
'#title' => 'View', |
||||
'#content' => $collection_items |
||||
); |
||||
$tabset['add_tab'] = array( |
||||
// #type and #title are the minimum requirements. |
||||
'#type' => 'tabpage', |
||||
'#title' => t('Add'), |
||||
'#selected' => $show_ingest_tab, |
||||
// This will be the content of the tab. |
||||
'#content' => $add_to_collection, |
||||
); |
||||
return $tabset; |
||||
} |
||||
|
||||
function getIngestInterface() { |
||||
global $base_url; |
||||
$objectHelper = new ObjectHelper(); |
||||
module_load_include('inc', 'Fedora_Repository', 'CollectionPolicy'); |
||||
$collectionPolicyExists = $objectHelper->getMimeType($this->pid, CollectionPolicy::getDefaultDSID()); |
||||
if (user_access(ObjectHelper :: $INGEST_FEDORA_OBJECTS) && $collectionPolicyExists) { |
||||
if (!empty($collectionPolicyExists)) { |
||||
$allow = TRUE; |
||||
if (module_exists('fedora_fesl')) { |
||||
$allow = fedora_fesl_check_roles($this->pid, 'write'); |
||||
} |
||||
if ($allow) { |
||||
$ingestObject = drupal_get_form('fedora_repository_ingest_form', $this->pid); |
||||
} |
||||
} |
||||
} |
||||
else { |
||||
$ingestObject = ''; |
||||
} |
||||
|
||||
return $ingestObject; |
||||
} |
||||
|
||||
function renderCollection($content, $pid, $dsId, $collection, $pageNumber = NULL) { |
||||
$path = drupal_get_path('module', 'fedora_repository'); |
||||
global $base_url; |
||||
$collection_pid = $pid; //we will be changing the pid later maybe |
||||
$objectHelper = new ObjectHelper(); |
||||
$parsedContent = NULL; |
||||
$contentModels = $objectHelper->get_content_models_list($pid); |
||||
$isCollection = FALSE; |
||||
//if this is a collection object store the $pid in the session as it will come in handy |
||||
//after a purge or ingest to return to the correct collection. |
||||
|
||||
$fedoraItem = NULL; |
||||
|
||||
|
||||
|
||||
$collectionName = $collection; |
||||
if (!$pageNumber) { |
||||
$pageNumber = 1; |
||||
} |
||||
|
||||
if (!isset($collectionName)) { |
||||
$collectionName = variable_get('fedora_repository_name', 'Collection'); |
||||
} |
||||
$xslContent = $this->getXslContent($pid, $path); |
||||
|
||||
//get collection list and display using xslt------------------------------------------- |
||||
$objectList = ''; |
||||
if (isset($content) && $content != FALSE) { |
||||
$input = new DomDocument(); |
||||
$input->loadXML(trim($content)); |
||||
$results = $input->getElementsByTagName('result'); |
||||
if ($results->length > 0) { |
||||
try { |
||||
$proc = new XsltProcessor(); |
||||
$proc->setParameter('', 'collectionPid', $collection_pid); |
||||
$proc->setParameter('', 'collectionTitle', $collectionName); |
||||
$proc->setParameter('', 'baseUrl', $base_url); |
||||
$proc->setParameter('', 'path', $base_url . '/' . $path); |
||||
$proc->setParameter('', 'hitPage', $pageNumber); |
||||
$proc->registerPHPFunctions(); |
||||
$xsl = new DomDocument(); |
||||
$xsl->loadXML($xslContent); |
||||
// php xsl does not seem to work with namespaces so removing it below |
||||
// I may have just been being stupid here |
||||
// $content = str_ireplace('xmlns="http://www.w3.org/2001/sw/DataAccess/rf1/result"', '', $content); |
||||
|
||||
$xsl = $proc->importStylesheet($xsl); |
||||
$newdom = $proc->transformToDoc($input); |
||||
|
||||
$objectList = $newdom->saveXML(); //is the xml transformed to html as defined in the xslt associated with the collection object |
||||
|
||||
if (!$objectList) { |
||||
throw new Exception("Invalid XML."); |
||||
} |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('!e', array('!e' => $e->getMessage())), 'error'); |
||||
return ''; |
||||
} |
||||
} |
||||
} |
||||
else { |
||||
drupal_set_message(t("No Objects in this collection or bad query.")); |
||||
} |
||||
return $objectList; |
||||
} |
||||
|
||||
} |
||||
|
@ -1,617 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'XMLDatastream'); |
||||
|
||||
class CollectionPolicy extends XMLDatastream { |
||||
|
||||
static $SCHEMA_URI = 'http://syn.lib.umanitoba.ca/collection_policy.xsd'; |
||||
static $DEFAULT_DSID = 'COLLECTION_POLICY'; |
||||
|
||||
private $staging_area=NULL; |
||||
|
||||
/** |
||||
* Gets the default DSID to use for ContentModel datastreams. |
||||
* |
||||
* @return string $default_dsid |
||||
*/ |
||||
static function getDefaultDSID() { |
||||
return variable_get('Islandora_Collection_Policy_DSID', CollectionPolicy::$DEFAULT_DSID); |
||||
} |
||||
|
||||
/** |
||||
* Constructs a new CollectionPolicy object from the specified |
||||
* collection PID. If preFetch is disabled, then Islandora will not get the datastream until needed. |
||||
* (useful when cacheing) |
||||
* Returns FALSE on failure. |
||||
* |
||||
* @param string $pid |
||||
* @param boolean $preFetch = TRUE |
||||
* @return CollectionPolicy $ret |
||||
*/ |
||||
static function loadFromCollection($pid, $preFetch=TRUE) { |
||||
$ret = FALSE; |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
|
||||
try { |
||||
if (self::validPid($pid)) { |
||||
$dsid=CollectionPolicy::getDefaultDSID(); |
||||
|
||||
if ($preFetch) { |
||||
$fedoraItem = new Fedora_Item($pid); |
||||
$ds = $fedoraItem->get_datastream_dissemination($dsid); |
||||
} else { |
||||
$ds=null; |
||||
} |
||||
|
||||
} |
||||
|
||||
if (!empty($ds) || !$preFetch) { |
||||
$ret=new CollectionPolicy($ds, $pid, $dsid); |
||||
} |
||||
} |
||||
catch (SOAPException $e) { |
||||
|
||||
$ret = FALSE; |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Ingests a new Collection Policy datastream to the specified |
||||
* PID with the DSID specified. The file should be a valid collection |
||||
* policy XML. Returns false on failure. |
||||
* |
||||
* @param string $pid |
||||
* @param string $name |
||||
* @param string $cpDsid |
||||
* @param string $file |
||||
* @return CollectionPolicy $ret |
||||
*/ |
||||
public static function ingestFromFile($pid, $name, $cpDsid, $file) { |
||||
$ret = FALSE; |
||||
|
||||
if (($cp = self::loadFromCollection($pid, $cpDsid)) === FALSE && file_exists($file)) { |
||||
$cp = new ContentModel(file_get_contents($file), $pid, $cpDsid); |
||||
$rootEl = $cp->xml->getElementsByTagName('collection_policy')->item(0); |
||||
$rootEl->setAttribute('name', $name); |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$fedoraItem = new Fedora_Item($pid); |
||||
$fedoraItem->add_datastream_from_string($cp->dumpXml(), $cpDsid, $name, 'text/xml', 'X'); |
||||
$ret = $cp; |
||||
} |
||||
|
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Ingests a new Collection Policy datastream to the specified |
||||
* PID with the DSID specified. Clones the collection policy from the |
||||
* source collection pid. Returns false on failure. |
||||
* |
||||
* @param string $pid |
||||
* @param string $name |
||||
* @param string $cpDsid |
||||
* @param string $copy_collection_pid |
||||
* @return CollectionPolicy $ret |
||||
*/ |
||||
public static function ingestFromCollection($pid, $name, $cpDsid, $copy_collection_pid) { |
||||
$ret = FALSE; |
||||
|
||||
if (($cp = self::loadFromCollection($pid, $cpDsid)) === FALSE && ($copy_cp = self::loadFromCollection($copy_collection_pid)) !== FALSE && $copy_cp->validate()) { |
||||
$newDom = $copy_cp->xml; |
||||
$rootEl = $newDom->getElementsByTagName('collection_policy')->item(0); |
||||
$rootEl->setAttribute('name', $name); |
||||
|
||||
$cp = new CollectionPolicy($newDom, $pid, $cpDsid); |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$fedoraItem = new Fedora_Item($pid); |
||||
$fedoraItem->add_datastream_from_string($cp->dumpXml(), $cpDsid, $name, 'text/xml', 'X'); |
||||
$ret = $cp; |
||||
} |
||||
|
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Ingests a new minimum Collection Policy datastream to the specified |
||||
* PID with the DSID specified. Initializes the policy with the specified values. |
||||
* Returns false on failure |
||||
* |
||||
* @param string $pid |
||||
* @param string $name |
||||
* @param string $cpDsid |
||||
* @param string $model_pid |
||||
* @param string $model_namespace |
||||
* @param string $relationshiop |
||||
* @param string $searchField |
||||
* @param string $searchValue |
||||
* @return CollectionPolicy $ret |
||||
*/ |
||||
public static function ingestBlankPolicy($pid, $name, $policyDsid, $model_pid, $model_namespace, $relationship, $searchField, $searchValue) { |
||||
$ret = FALSE; |
||||
if (($cp = self::loadFromCollection($pid )) === FALSE) { //removed second, non-existant variable |
||||
module_load_include('inc', 'fedora_repository', 'ContentModel'); |
||||
if (($cm = ContentModel::loadFromModel($model_pid)) !== FALSE && $cm->validate()) { |
||||
$newDom = new DOMDocument('1.0', 'utf-8'); |
||||
$newDom->formatOutput = TRUE; |
||||
$rootEl = $newDom->createElement('collection_policy'); |
||||
$rootEl->setAttribute('name', $name); |
||||
$rootEl->setAttribute('xmlns', self::$XMLNS); |
||||
$rootEl->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); |
||||
$rootEl->setAttribute('xsi:schemaLocation', self::$XMLNS .' '. self::$SCHEMA_URI); |
||||
|
||||
$modelsEl = $newDom->createElement('content_models'); |
||||
|
||||
$cmEl = $newDom->createElement('content_model'); |
||||
$cmEl->setAttribute('name', $cm->getName()); |
||||
$cmEl->setAttribute('dsid', $cm->dsid); |
||||
$cmEl->setAttribute('namespace', $model_namespace); |
||||
$cmEl->setAttribute('pid', $cm->pid); |
||||
|
||||
$modelsEl->appendChild($cmEl); |
||||
$rootEl->appendChild($modelsEl); |
||||
|
||||
$relEl = $newDom->createElement('relationship', $relationship); |
||||
$rootEl->appendChild($relEl); |
||||
|
||||
$searchTermsEl = $newDom->createElement('search_terms'); |
||||
$newTermEl = $newDom->createElement('term', $searchValue); |
||||
$newTermEl->setAttribute('field', $searchField); |
||||
$searchTermsEl->appendChild($newTermEl); |
||||
$rootEl->appendChild($searchTermsEl); |
||||
|
||||
$newDom->appendChild($rootEl); |
||||
|
||||
$cp = new CollectionPolicy($newDom, $pid, $policyDsid); |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
|
||||
|
||||
$fedoraItem = new Fedora_Item($pid); |
||||
$fedoraItem->add_datastream_from_string($cp->dumpXml(), $policyDsid, $name, 'text/xml', 'X'); |
||||
$ret = $cp; |
||||
} |
||||
|
||||
} |
||||
|
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Constructor |
||||
* NOTE: Use the static constructor methods whenever possible. |
||||
* |
||||
* @param string $xmlStr |
||||
* @param string $pid |
||||
* @param string $dsid |
||||
* @return XMLDatastream $cm |
||||
*/ |
||||
public function __construct($xmlStr, $pid = NULL, $dsid = NULL) { |
||||
parent::__construct($xmlStr,$pid,$dsid); |
||||
$this->name= 'Collection Policy'; |
||||
} |
||||
|
||||
/** |
||||
* Attempts to convert from the old XML schema to the new by |
||||
* traversing the XML DOM and building a new DOM. When done |
||||
* $this->xml is replaced by the newly created DOM.. |
||||
* |
||||
* @return void |
||||
*/ |
||||
protected function convertFromOldSchema() { |
||||
if ($this->xml == NULL) { |
||||
$this->fetchXml(); |
||||
} |
||||
$sXml = simplexml_load_string($this->xml->saveXML()); |
||||
$newDom = new DOMDocument('1.0', 'utf-8'); |
||||
$newDom->formatOutput = TRUE; |
||||
|
||||
$rootEl = $newDom->createElement('collection_policy'); |
||||
$rootEl->setAttribute('name', $sXml['name']); |
||||
$rootEl->setAttribute('xmlns', self::$XMLNS); |
||||
$rootEl->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); |
||||
$rootEl->setAttribute('xsi:schemaLocation', self::$XMLNS .' '. self::$SCHEMA_URI); |
||||
|
||||
$content_modelsEl = $newDom->createElement('content_models'); |
||||
foreach ($sXml->contentmodels->contentmodel as $contentmodel) { |
||||
$content_modelEl = $newDom->createElement('content_model'); |
||||
$content_modelEl->setAttribute('name', $contentmodel['name']); |
||||
$content_modelEl->setAttribute('dsid', $contentmodel->dsid); |
||||
$content_modelEl->setAttribute('namespace', $contentmodel->pid_namespace); |
||||
$content_modelEl->setAttribute('pid', $contentmodel->pid); |
||||
$content_modelsEl->appendChild($content_modelEl); |
||||
} |
||||
$rootEl->appendChild($content_modelsEl); |
||||
|
||||
$search_termsEl = $newDom->createElement('search_terms'); |
||||
foreach ($sXml->search_terms->term as $term) { |
||||
$termEl = $newDom->createElement('term', $term->value); |
||||
$termEl->setAttribute('field', $term->field); |
||||
if (strval($sXml->search_terms->default) == $term->field) { |
||||
$termEl->setAttribute('default', 'true'); |
||||
} |
||||
$search_termsEl->appendChild($termEl); |
||||
} |
||||
$rootEl->appendChild($search_termsEl); |
||||
|
||||
$relationshipEl = $newDom->createElement('relationship', $sXml->relationship); |
||||
$rootEl->appendChild($relationshipEl); |
||||
|
||||
$newDom->appendChild($rootEl); |
||||
|
||||
$this->xml = DOMDocument::loadXML($newDom->saveXml()); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Gets the name of the relationship to use |
||||
* for members of this collection. |
||||
* Returns FALSE on failure. |
||||
* |
||||
* @return string $relationship |
||||
*/ |
||||
public function getRelationship() { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
$ret=trim($this->xml->getElementsByTagName('relationship')->item(0)->nodeValue); |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Sets the name of the relationship to use |
||||
* for members of this collection. |
||||
* Returns FALSE on failure. |
||||
* |
||||
* @param string $relationship |
||||
* @return boolean $ret |
||||
*/ |
||||
public function setRelationship($relationship) { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
$relationshipEl=$this->xml->getElementsByTagName('relationship')->item(0); |
||||
$relationshipEl->nodeValue=trim($relationship); |
||||
$ret = TRUE; |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Gets the path to the staging area to use for this |
||||
* collection. By default recurses to the parent collection |
||||
* if the staging area is undefined |
||||
* |
||||
* @param BOOLEAN $recurse |
||||
* @return string $path |
||||
*/ |
||||
public function getStagingArea($recurse=TRUE) { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
if ($this->staging_area === NULL) { |
||||
$stagingEl=$this->xml->getElementsByTagName('staging_area'); |
||||
|
||||
if ($stagingEl->length > 0) { |
||||
$this->staging_area = trim($stagingEl->item(0)->nodeValue); |
||||
} elseif ($recurse) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item=new Fedora_Item($this->pid); |
||||
$rels=$item->get_relationships(); |
||||
if (count($rels) > 0) { |
||||
foreach ($rels as $rel) { |
||||
$cp = CollectionPolicy::loadFromCollection($rel['object']); |
||||
if ($cp !== FALSE) { |
||||
$this->staging_area = $cp->getStagingArea(); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
$ret = $this->staging_area; |
||||
|
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Sets the path to the staging area to use for this |
||||
* collection. If specified path is blank (or false) it will |
||||
* remove the staging are path element from the collection policy. |
||||
* |
||||
* @param string $path |
||||
* |
||||
* @return string $relationship |
||||
*/ |
||||
public function setStagingArea($path) { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
$rootEl=$this->xml->getElementsByTagName('collection_policy')->item(0); |
||||
$stagingEl=$this->xml->getElementsByTagName('staging_area'); |
||||
if ($stagingEl->length > 0) { |
||||
$stagingEl=$stagingEl->item(0); |
||||
if (trim($path) == '') { |
||||
$rootEl->removeChild($stagingEl); |
||||
} |
||||
else { |
||||
$stagingEl->nodeValue=trim($path); |
||||
} |
||||
} |
||||
elseif (trim($path) != '') { |
||||
$stagingEl=$this->xml->createElement('staging_area', trim($path)); |
||||
$rootEl->appendChild($stagingEl); |
||||
} |
||||
|
||||
$ret = TRUE; |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Gets the next available PID for the |
||||
* content model specified by the DSID |
||||
* parameter. |
||||
* |
||||
* @param string $dsid |
||||
* @return string $nextPid |
||||
*/ |
||||
public function getNextPid($dsid) { |
||||
$ret = FALSE; |
||||
if (self::validDsid($dsid) && $this->validate()) { |
||||
$content_models = $this->xml->getElementsByTagName('content_models')->item(0)->getElementsByTagName('content_model'); |
||||
$namespace = FALSE; |
||||
for ($i=0; $namespace === FALSE && $i<$content_models->length;$i++) { |
||||
if (strtolower($content_models->item($i)->getAttribute('dsid')) == strtolower($dsid)) { |
||||
$namespace = $content_models->item($i)->getAttribute('namespace'); |
||||
} |
||||
} |
||||
|
||||
$pname = substr($namespace, 0, strpos($namespace, ":")); |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$ret = Fedora_Item::get_next_pid_in_namespace($pname); |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Gets a list of ContentModel objects supported by this collection. |
||||
* |
||||
* @return ContentModel[] $models |
||||
*/ |
||||
function getContentModels() { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
module_load_include('inc', 'Fedora_Repository', 'ContentModel'); |
||||
$ret=array(); |
||||
$content_models = $this->xml->getElementsByTagName('content_models')->item(0)->getElementsByTagName('content_model'); |
||||
for ($i=0;$i<$content_models->length;$i++) { |
||||
$cm=ContentModel::loadFromModel($content_models->item($i)->getAttribute('pid'), |
||||
$content_models->item($i)->getAttribute('dsid'), |
||||
$content_models->item($i)->getAttribute('namespace'), |
||||
$content_models->item($i)->getAttribute('name')); |
||||
if ($cm !== FALSE) { |
||||
$ret[]=$cm; |
||||
} |
||||
|
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
|
||||
/** |
||||
* Gets a list of search terms from the Collection Policy. If asArray is set |
||||
* it will return an associative array with the value, field name, and the default value. |
||||
* If not set, an array of just the values will be returned. If $recurse is TRUE, it will |
||||
* recurseively return the parents search terms if it has none until it returns a set of terms or reaches |
||||
* the top level collection. If $cache is TRUE, it will return a cached version (if available). |
||||
* |
||||
* @param boolean $asArray |
||||
* @param boolean $recurse |
||||
* @param boolean $cache |
||||
* @return string[] $ret |
||||
*/ |
||||
function getSearchTerms($asArray = FALSE, $recurse = FALSE, $cache = FALSE) { |
||||
$ret = FALSE; |
||||
|
||||
if ($cache == TRUE && ($cache = cache_get('collection_policy_search_terms-'.$this->pid)) !== 0 ) { |
||||
$ret=$cache->data; |
||||
} else { |
||||
|
||||
if ($this->xml == NULL) { |
||||
$fedoraItem = new Fedora_Item($this->pid); |
||||
$ds = $fedoraItem->get_datastream_dissemination($this->dsid); |
||||
$this->xml = DOMDocument::loadXML($ds); |
||||
} |
||||
|
||||
|
||||
if ($this->validate()) { |
||||
$ret=array(); |
||||
$terms= $this->xml->getElementsByTagName('search_terms')->item(0)->getElementsByTagName('term'); |
||||
for ($i=0;$i<$terms->length;$i++) { |
||||
$default = $terms->item($i)->attributes->getNamedItem('default'); |
||||
$default = ($default !== NULL) ? (strtolower($default->nodeValue) == 'true') : FALSE; |
||||
$ret[] = ($asArray)?array( 'value' => $terms->item($i)->nodeValue, |
||||
'field' => $terms->item($i)->getAttribute('field'), |
||||
'default' => $default): $terms->item($i)->nodeValue; |
||||
} |
||||
|
||||
|
||||
if ($recurse && count($ret) == 0) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item=new Fedora_Item($this->pid); |
||||
$rels=$item->get_relationships(); |
||||
if (count($rels) > 0) { |
||||
foreach ($rels as $rel) { |
||||
$cp = CollectionPolicy::loadFromCollection($rel['object']); |
||||
if ($cp !== FALSE) { |
||||
$ret = $cp->getSearchTerms($asArray, $recurse); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
cache_set('collection_policy_search_terms-'.$this->pid, $ret, 'cache', time()+3600); |
||||
|
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Adds a search term to the collection policy. |
||||
* Returns fase on failure. |
||||
* |
||||
* @param string $field |
||||
* @param string $value |
||||
* @return boolean $success |
||||
*/ |
||||
function addTerm($field, $value) { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
$search_termsEl = $this->xml->getElementsByTagName('search_terms')->item(0); |
||||
$terms= $search_termsEl->getElementsByTagName('term'); |
||||
$found=FALSE; |
||||
for ($i=0;!$found && $i<$terms->length;$i++) { |
||||
if ($terms->item($i)->getAttribute('field') == $field) { |
||||
$found = TRUE; |
||||
} |
||||
} |
||||
|
||||
if (!$found) { |
||||
$newTermEl = $this->xml->createElement('term', $value); |
||||
$newTermEl->setAttribute('field', $field); |
||||
$search_termsEl->appendChild($newTermEl); |
||||
$ret = TRUE; |
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Removes the search term specified by the field parameter from the collection policy. |
||||
* |
||||
* @param string $field |
||||
* @return boolean $success |
||||
*/ |
||||
function removeTerm($field) { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
$search_termsEl = $this->xml->getElementsByTagName('search_terms')->item(0); |
||||
$terms = $search_termsEl->getElementsByTagName('term'); |
||||
$found = FALSE; |
||||
for ($i=0; !$found && $i < $terms->length; $i++) { |
||||
if ($terms->item($i)->getAttribute('field') == $field) { |
||||
$found = $terms->item($i); |
||||
} |
||||
} |
||||
|
||||
if ($found !== FALSE) { |
||||
$search_termsEl->removeChild($found); |
||||
$ret = TRUE; |
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
function setDefaultTerm($field) { |
||||
$ret = FALSE; |
||||
if ($this->validate()) { |
||||
$search_termsEl = $this->xml->getElementsByTagName('search_terms')->item(0); |
||||
$terms= $search_termsEl->getElementsByTagName('term'); |
||||
$found=FALSE; |
||||
for ($i=0;!$found && $i<$terms->length;$i++) { |
||||
if ($terms->item($i)->getAttribute('field') == $field) { |
||||
$found = $terms->item($i); |
||||
} |
||||
} |
||||
|
||||
if ($found !== FALSE) { |
||||
for ($i=0;$i<$terms->length;$i++) |
||||
if ($terms->item($i)->attributes->getNamedItem('default') !== NULL) { |
||||
$terms->item($i)->removeAttribute('default'); |
||||
} |
||||
$found->setAttribute('default', 'true'); |
||||
$ret = TRUE; |
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Removes the specified content model from the collection policy. This will only |
||||
* prevent future ingests of the removed model to the collection. $cm should be |
||||
* a valid ContentModel object. Returns false on failure or when the CM was not found in |
||||
* the collection policy. |
||||
* |
||||
* @param ContentModel $cm |
||||
* @return boolean $valid |
||||
*/ |
||||
function removeModel($cm) { |
||||
$ret=FALSE; |
||||
if ($this->validate() && $cm->validate()) { |
||||
$contentmodelsEl = $this->xml->getElementsByTagName('content_models'); |
||||
$models = $contentmodelsEl->item(0)->getElementsByTagName('content_model'); |
||||
$found = FALSE; |
||||
for ($i=0; $found === FALSE && $i < $models->length; $i++) { |
||||
if ($models->item($i)->getAttribute('pid') == $cm->pid) { |
||||
$found=$models->item($i); |
||||
} |
||||
} |
||||
|
||||
if ($found !== FALSE && $models->length > 1) { |
||||
$contentmodelsEl->item(0)->removeChild($found); |
||||
$ret = TRUE; |
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
function addModel($cm, $namespace) { |
||||
$ret = FALSE; |
||||
if (self::validPid($namespace) && $this->validate() && $cm->validate()) { |
||||
$contentmodelsEl = $this->xml->getElementsByTagName('content_models'); |
||||
$models = $contentmodelsEl->item(0)->getElementsByTagName('content_model'); |
||||
$found = FALSE; |
||||
for ($i=0;!$found && $i<$models->length;$i++) { |
||||
if ($models->item($i)->getAttribute('pid') == $cm->pid) |
||||
$found = TRUE; |
||||
} |
||||
|
||||
if (!$found) { |
||||
$cmEl = $this->xml->createElement('content_model'); |
||||
$cmEl->setAttribute('name', $cm->getName()); |
||||
$cmEl->setAttribute('dsid', $cm->dsid); |
||||
$cmEl->setAttribute('namespace', $namespace); |
||||
$cmEl->setAttribute('pid', $cm->pid); |
||||
$contentmodelsEl->item(0)->appendChild($cmEl); |
||||
} |
||||
|
||||
$ret = !$found; |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
function getName() { |
||||
$ret=FALSE; |
||||
if ($this->validate()) { |
||||
$ret=$this->xml->getElementsByTagName('collection_policy')->item(0)->getAttribute('name'); |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
} |
@ -1,75 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/* |
||||
* Created on Jan 24, 2008 |
||||
* |
||||
* To change the template for this generated file go to |
||||
* Window - Preferences - PHPeclipse - PHP - Code Templates |
||||
*/ |
||||
|
||||
module_load_include('inc', 'ConnectionHelper', ''); |
||||
class ConnectionHelper { |
||||
function ConnectionHelper() { |
||||
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); |
||||
} |
||||
|
||||
function _fixURL($url, $_name, $_pass) { |
||||
if (empty($url)) { |
||||
$url=variable_get('fedora_soap_url', 'http://localhost:8080/fedora/services/access?wsdl'); |
||||
} |
||||
|
||||
$creds = urlencode($_name) . ':'. urlencode($_pass); |
||||
|
||||
if (strpos($url, 'http://') === 0) { |
||||
$new_url = 'http://'. $creds . '@'. substr($url, 7); |
||||
} |
||||
elseif (strpos($url, 'https://') === 0) { |
||||
$new_url = 'https://'. $creds . '@'. substr($url, 8); |
||||
} |
||||
else { |
||||
drupal_set_message(t('Invalid URL: !url', array('!url' => $url))); |
||||
return NULL; |
||||
} |
||||
|
||||
return $new_url; |
||||
} |
||||
|
||||
function getSoapClient($url = NULL, $exceptions = TRUE) { |
||||
if (empty($url)) { |
||||
$url=variable_get('fedora_soap_url', 'http://localhost:8080/fedora/services/access?wsdl'); |
||||
} |
||||
|
||||
global $user; |
||||
if ($user->uid == 0) { |
||||
//anonymous user. We will need an entry in the fedora users.xml file |
||||
//with the appropriate entry for a username of anonymous password of anonymous |
||||
try { |
||||
$client = new SoapClient($this->_fixURL($url, 'anonymous', 'anonymous'), array( |
||||
'login' => 'anonymous', |
||||
'password' => 'anonymous', |
||||
'exceptions' => $exceptions, |
||||
)); |
||||
} |
||||
catch (SoapFault $e) { |
||||
drupal_set_message(t("!e", array('!e' => $e->getMessage()))); |
||||
return NULL; |
||||
} |
||||
} |
||||
else { |
||||
try { |
||||
$client = new SoapClient($this->_fixURL($url, $user->name, $user->pass), array( |
||||
'login' => $user->name, |
||||
'password' => $user->pass, |
||||
'exceptions' => TRUE, |
||||
)); |
||||
} |
||||
catch (SoapFault $e) { |
||||
drupal_set_message(t("!e", array('!e' => $e->getMessage()))); |
||||
return NULL; |
||||
} |
||||
} |
||||
return $client; |
||||
} |
||||
} |
||||
|
@ -1,337 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/** |
||||
* |
||||
* This class inspired by Chris Jean's work, here: |
||||
* http://chrisjean.com/2009/02/14/generating-mime-type-in-php-is-not-magic/ |
||||
* |
||||
* It does some MIME trickery, inspired by the need to to deal with Openoffice |
||||
* and MS Office 2007 file formats -- which are often mis-interpreted by |
||||
* mime-magic, fileinfo, and the *nix `file` command. |
||||
* |
||||
* In Drupal 6, we also make use of file_get_mimetype. See: |
||||
* http://api.drupal.org/api/function/file_get_mimetype/6 |
||||
* ... however this only provides a uni-directional lookup (ext->mime). |
||||
* While I don't have a specific use case for a mime->extension lookup, I think |
||||
* it's good to have in here. |
||||
* |
||||
* Drupal 7 will have better mime handlers. See: |
||||
* http://api.drupal.org/api/function/file_default_mimetype_mapping/7 |
||||
* |
||||
*/ |
||||
|
||||
class MimeClass { |
||||
private $private_mime_types = array( |
||||
/** |
||||
* This is a shortlist of mimetypes which should catch most |
||||
* mimetype<-->extension lookups in the context of Islandora collections. |
||||
* |
||||
* It has been cut from a much longer list. |
||||
* |
||||
* Two types of mimetypes should be put in this list: |
||||
* 1) Special emerging formats which may not yet be expressed in the system |
||||
* mime.types file. |
||||
* 2) Heavily used mimetypes of particular importance to the Islandora |
||||
* project, as lookups against this list will be quicker and less |
||||
* resource intensive than other methods. |
||||
* |
||||
* Lookups are first checked against this short list. If no results are found, |
||||
* then the lookup function may move on to check other sources, namely the |
||||
* system's mime.types file. |
||||
* |
||||
* In most cases though, this short list should suffice. |
||||
* |
||||
* If modifying this list, please note that for promiscuous mimetypes |
||||
* (those which map to multiple extensions, such as text/plain) |
||||
* The function get_extension will always return the *LAST* extension in this list, |
||||
* so you should put your preferred extension *LAST*. |
||||
* |
||||
* e.g... |
||||
* "jpeg" => "image/jpeg", |
||||
* "jpe" => "image/jpeg", |
||||
* "jpg" => "image/jpeg", |
||||
* |
||||
* $this->get_extension('image/jpeg') will always return 'jpg'. |
||||
* |
||||
*/ |
||||
// openoffice: |
||||
'odb' => 'application/vnd.oasis.opendocument.database', |
||||
'odc' => 'application/vnd.oasis.opendocument.chart', |
||||
'odf' => 'application/vnd.oasis.opendocument.formula', |
||||
'odg' => 'application/vnd.oasis.opendocument.graphics', |
||||
'odi' => 'application/vnd.oasis.opendocument.image', |
||||
'odm' => 'application/vnd.oasis.opendocument.text-master', |
||||
'odp' => 'application/vnd.oasis.opendocument.presentation', |
||||
'ods' => 'application/vnd.oasis.opendocument.spreadsheet', |
||||
'odt' => 'application/vnd.oasis.opendocument.text', |
||||
'otg' => 'application/vnd.oasis.opendocument.graphics-template', |
||||
'oth' => 'application/vnd.oasis.opendocument.text-web', |
||||
'otp' => 'application/vnd.oasis.opendocument.presentation-template', |
||||
'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', |
||||
'ott' => 'application/vnd.oasis.opendocument.text-template', |
||||
// staroffice: |
||||
'stc' => 'application/vnd.sun.xml.calc.template', |
||||
'std' => 'application/vnd.sun.xml.draw.template', |
||||
'sti' => 'application/vnd.sun.xml.impress.template', |
||||
'stw' => 'application/vnd.sun.xml.writer.template', |
||||
'sxc' => 'application/vnd.sun.xml.calc', |
||||
'sxd' => 'application/vnd.sun.xml.draw', |
||||
'sxg' => 'application/vnd.sun.xml.writer.global', |
||||
'sxi' => 'application/vnd.sun.xml.impress', |
||||
'sxm' => 'application/vnd.sun.xml.math', |
||||
'sxw' => 'application/vnd.sun.xml.writer', |
||||
// k-office: |
||||
'kil' => 'application/x-killustrator', |
||||
'kpt' => 'application/x-kpresenter', |
||||
'kpr' => 'application/x-kpresenter', |
||||
'ksp' => 'application/x-kspread', |
||||
'kwt' => 'application/x-kword', |
||||
'kwd' => 'application/x-kword', |
||||
// ms office 97: |
||||
'doc' => 'application/msword', |
||||
'xls' => 'application/vnd.ms-excel', |
||||
'ppt' => 'application/vnd.ms-powerpoint', |
||||
// office2007: |
||||
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', |
||||
'docm' => 'application/vnd.ms-word.document.macroEnabled.12', |
||||
'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', |
||||
'dotm' => 'application/vnd.ms-word.template.macroEnabled.12', |
||||
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', |
||||
'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12', |
||||
'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', |
||||
'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12', |
||||
'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', |
||||
'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', |
||||
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', |
||||
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', |
||||
'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', |
||||
'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', |
||||
'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', |
||||
'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12', |
||||
'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12', |
||||
'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', |
||||
'sldm' => 'application/vnd.ms-powerpoint.slide.macroEnabled.12', |
||||
// wordperfect (who cares?): |
||||
'wpd' => 'application/wordperfect', |
||||
// common and generic containers: |
||||
'pdf' => 'application/pdf', |
||||
'eps' => 'application/postscript', |
||||
'ps' => 'application/postscript', |
||||
'rtf' => 'text/rtf', |
||||
'rtx' => 'text/richtext', |
||||
'latex' => 'application/x-latex', |
||||
'tex' => 'application/x-tex', |
||||
'texi' => 'application/x-texinfo', |
||||
'texinfo' => 'application/x-texinfo', |
||||
// *ml: |
||||
'css' => 'text/css', |
||||
'htm' => 'text/html', |
||||
'html' => 'text/html', |
||||
'wbxml' => 'application/vnd.wap.wbxml', |
||||
'xht' => 'application/xhtml+xml', |
||||
'xhtml' => 'application/xhtml+xml', |
||||
'xsl' => 'text/xml', |
||||
'xml' => 'text/xml', |
||||
'csv' => 'text/csv', |
||||
'tsv' => 'text/tab-separated-values', |
||||
'txt' => 'text/plain', |
||||
// images: |
||||
"bmp" => "image/bmp", |
||||
"gif" => "image/gif", |
||||
"ief" => "image/ief", |
||||
"jpeg" => "image/jpeg", |
||||
"jpe" => "image/jpeg", |
||||
"jpg" => "image/jpeg", |
||||
"jp2" => "image/jp2", |
||||
"png" => "image/png", |
||||
"tiff" => "image/tiff", |
||||
"tif" => "image/tif", |
||||
"djvu" => "image/vnd.djvu", |
||||
"djv" => "image/vnd.djvu", |
||||
"wbmp" => "image/vnd.wap.wbmp", |
||||
"ras" => "image/x-cmu-raster", |
||||
"pnm" => "image/x-portable-anymap", |
||||
"pbm" => "image/x-portable-bitmap", |
||||
"pgm" => "image/x-portable-graymap", |
||||
"ppm" => "image/x-portable-pixmap", |
||||
"rgb" => "image/x-rgb", |
||||
"xbm" => "image/x-xbitmap", |
||||
"xpm" => "image/x-xpixmap", |
||||
"xwd" => "image/x-windowdump", |
||||
// videos: |
||||
"mpeg" => "video/mpeg", |
||||
"mpe" => "video/mpeg", |
||||
"mpg" => "video/mpeg", |
||||
"m4v" => "video/mp4", |
||||
"mp4" => "video/mp4", |
||||
"ogv" => "video/ogg", |
||||
"qt" => "video/quicktime", |
||||
"mov" => "video/quicktime", |
||||
"mxu" => "video/vnd.mpegurl", |
||||
"avi" => "video/x-msvideo", |
||||
"movie" => "video/x-sgi-movie", |
||||
"flv" => "video/x-flv", |
||||
"swf" => "application/x-shockwave-flash", |
||||
// audio: |
||||
"mp3" => "audio/mpeg", |
||||
"mp4a" => "audio/mp4", |
||||
"m4a" => "audio/mp4", |
||||
"oga" => "audio/ogg", |
||||
"ogg" => "audio/ogg", |
||||
"flac" => "audio/x-flac", |
||||
"wav" => "audio/vnd.wave", |
||||
// compressed formats: (note: http://svn.cleancode.org/svn/email/trunk/mime.types) |
||||
"tgz" => "application/x-gzip", |
||||
"gz" => "application/x-gzip", |
||||
"tar" => "application/x-tar", |
||||
"gtar" => "application/x-gtar", |
||||
"zip" => "application/x-zip", |
||||
// others: |
||||
'bin' => 'application/octet-stream', |
||||
); |
||||
|
||||
private $private_file_extensions; |
||||
private $system_types; |
||||
private $system_exts; |
||||
private $etc_mime_types = '/etc/mime.types'; |
||||
|
||||
public function __construct() { |
||||
|
||||
// populate the reverse shortlist: |
||||
$this->private_file_extensions = array_flip( $this->private_mime_types ); |
||||
|
||||
// pick up a local mime.types file if it is available |
||||
if (is_readable('mime.types') ) { |
||||
$this->etc_mime_types = 'mime.types'; |
||||
} |
||||
|
||||
} |
||||
|
||||
/** |
||||
* function: getType |
||||
* description: An alias to get_mimetype, |
||||
* for backwards-compatibility with our old mimetype class. |
||||
*/ |
||||
public function getType( $filename ) { |
||||
return $this->get_mimetype( $filename ); |
||||
} |
||||
|
||||
/** |
||||
* function: get_mimetype |
||||
* description: returns a mimetype associated with the file extension of $filename |
||||
*/ |
||||
public function get_mimetype( $filename, $debug = FALSE ) { |
||||
|
||||
$file_name_and_extension = explode( '.', $filename ); |
||||
$ext = strtolower( array_pop( $file_name_and_extension ) ); |
||||
|
||||
if ( ! empty( $this->private_mime_types[$ext] ) ) { |
||||
if ( TRUE === $debug ) |
||||
return array( 'mime_type' => $this->private_mime_types[$ext], 'method' => 'from_array' ); |
||||
return $this->private_mime_types[$ext]; |
||||
} |
||||
|
||||
if (function_exists('file_get_mimetype')) { |
||||
$drupal_mimetype = file_get_mimetype( $filename ); |
||||
if ('application/octet-stream' != $drupal_mimetype) { |
||||
if (TRUE == $debug) |
||||
return array('mime_type' => $drupal_mimetype, 'method' => 'file_get_mimetype'); |
||||
return $drupal_mimetype; |
||||
} |
||||
} |
||||
|
||||
if (!isset( $this->system_types)) |
||||
$this->system_types = $this->system_extension_mime_types(); |
||||
if (isset( $this->system_types[$ext])) { |
||||
if (TRUE == $debug) |
||||
return array('mime_type' => $this->system_types[$ext], 'method' => 'mime.types'); |
||||
return $this->system_types[$ext]; |
||||
} |
||||
|
||||
if ( TRUE === $debug ) |
||||
return array( 'mime_type' => 'application/octet-stream', 'method' => 'last_resort' ); |
||||
return 'application/octet-stream'; |
||||
|
||||
} |
||||
|
||||
/** |
||||
* function: get_extension |
||||
* description: returns *one* valid file extension for a given $mime_type |
||||
*/ |
||||
public function get_extension( $mime_type, $debug = FALSE ) { |
||||
|
||||
if (!empty( $this->private_file_extensions[$mime_type])) { |
||||
if (TRUE == $debug) |
||||
return array( 'extension' => $this->private_file_extensions[$mime_type], 'method' => 'from_array' ); |
||||
return $this->private_file_extensions[$mime_type]; |
||||
} |
||||
|
||||
if (!isset ( $this->system_exts)) |
||||
$this->system_exts = $this->system_mime_type_extensions(); |
||||
if (isset( $this->system_exts[$mime_type])) { |
||||
if (TRUE == $debug) |
||||
return array( 'extension' => $this->system_exts[$mime_type], 'method' => 'mime.types' ); |
||||
return $this->system_exts[$mime_type]; |
||||
} |
||||
|
||||
if (TRUE == $debug) |
||||
return array( 'extension' => 'bin', 'method' => 'last_resort' ); |
||||
return 'bin'; |
||||
} |
||||
|
||||
/** |
||||
* function: system_mime_type_extensions |
||||
* description: populates an internal array of mimetype/extension associations |
||||
* from the system mime.types file, or a local mime.types if one is found (see |
||||
* __constuctor). |
||||
* return: array of mimetype => extension |
||||
*/ |
||||
private function system_mime_type_extensions() { |
||||
$out = array(); |
||||
$file = fopen($this->etc_mime_types, 'r'); |
||||
while (($line = fgets($file)) !== FALSE) { |
||||
$line = trim(preg_replace('/#.*/', '', $line)); |
||||
if (!$line) |
||||
continue; |
||||
$parts = preg_split('/\s+/', $line); |
||||
if (count($parts) == 1) |
||||
continue; |
||||
// A single part means a mimetype without extensions, which we ignore. |
||||
$type = array_shift($parts); |
||||
if (!isset($out[$type])) |
||||
$out[$type] = array_shift($parts); |
||||
// We take the first ext from the line if many are present. |
||||
} |
||||
fclose($file); |
||||
return $out; |
||||
} |
||||
|
||||
/** |
||||
* function: system_mime_type_extensions |
||||
* description: populates an internal array of mimetype/extension associations |
||||
* from the system mime.types file, or a local mime.types if one is found (see |
||||
* __constuctor). |
||||
* return: array of extension => mimetype |
||||
*/ |
||||
private function system_extension_mime_types() { |
||||
$out = array(); |
||||
$file = fopen($this->etc_mime_types, 'r'); |
||||
while (($line = fgets($file)) !== FALSE) { |
||||
$line = trim(preg_replace('/#.*/', '', $line)); |
||||
if (!$line) |
||||
continue; |
||||
$parts = preg_split('/\s+/', $line); |
||||
if (count($parts) == 1) |
||||
continue; |
||||
// A single part means a mimetype without extensions, which we ignore. |
||||
$type = array_shift($parts); |
||||
foreach ($parts as $part) |
||||
$out[$part] = $type; |
||||
} |
||||
fclose($file); |
||||
return $out; |
||||
} |
||||
|
||||
} |
||||
|
@ -1,903 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
/* |
||||
* Created on Feb 1, 2008 |
||||
* |
||||
* To change the template for this generated file go to |
||||
* Window - Preferences - PHPeclipse - PHP - Code Templates |
||||
*/ |
||||
class ObjectHelper { |
||||
|
||||
//allowed operations |
||||
public static $OBJECT_HELPER_VIEW_FEDORA = 'view fedora collection'; |
||||
public static $EDIT_FEDORA_METADATA = 'edit fedora meta data'; |
||||
public static $PURGE_FEDORA_OBJECTSANDSTREAMS = 'purge objects and datastreams'; |
||||
public static $ADD_FEDORA_STREAMS = 'add fedora datastreams'; |
||||
public static $INGEST_FEDORA_OBJECTS = 'ingest new fedora objects'; |
||||
public static $EDIT_TAGS_DATASTREAM = 'edit tags datastream'; |
||||
public static $VIEW_DETAILED_CONTENT_LIST = 'view detailed list of content'; |
||||
public static $DISPLAY_ALWAYS = 0; |
||||
public static $DISPLAY_NEVER = 1; |
||||
public static $DISPLAY_NO_MODEL_OUTPUT = 2; |
||||
// TODO: Make this into a static member constant |
||||
public $availableDataStreamsText = 'Detailed list of content'; |
||||
|
||||
function ObjectHelper() { |
||||
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
$connectionHelper = new ConnectionHelper(); |
||||
//$this->fedoraUser = $connectionHelper->getUser(); |
||||
//$this->fedoraPass = $connectionHelper->getPassword(); |
||||
} |
||||
|
||||
/** |
||||
* Grabs a stream from fedora sets the mimetype and returns it. $dsID is the |
||||
* datastream id. If $forceSoap is set, the function will always buffer the datastream from fedora. Otherwise, it will |
||||
* try and use a redirect if possible. |
||||
* @param $pid String |
||||
* @param $dsID String |
||||
*/ |
||||
function makeObject($pid, $dsID, $asAttachment = FALSE, $label = NULL, $filePath=FALSE, $version=NULL, $forceSoap = TRUE) { |
||||
global $user; |
||||
module_load_include('inc', 'fedora_repository', 'ContentModel'); |
||||
if ($pid == NULL || $dsID == NULL) { |
||||
drupal_set_message(t("no pid or dsid given to create an object with"), 'error'); |
||||
return ' '; |
||||
} |
||||
$headers = module_invoke_all('file_download', "/fedora/repository/$pid/$dsID"); |
||||
if (in_array(-1, $headers)) { |
||||
drupal_set_message('hello'); |
||||
drupal_access_denied(); |
||||
|
||||
return ' '; |
||||
} |
||||
|
||||
if (!fedora_repository_access(OBJECTHELPER :: $OBJECT_HELPER_VIEW_FEDORA, $pid, $user)) { |
||||
drupal_set_message(t("You do not have access Fedora objects within the attempted namespace."), 'error'); |
||||
drupal_access_denied(); |
||||
return ' '; |
||||
} |
||||
|
||||
|
||||
if (variable_get('fedora_object_restrict_datastreams', FALSE) == TRUE) { |
||||
if (($cm = ContentModel::loadFromObject($pid)) == FALSE) { |
||||
drupal_set_message(t("You do not have access to objects without an Islandora Content Model."), 'error'); |
||||
drupal_access_denied(); |
||||
return ' '; |
||||
} |
||||
|
||||
$cmDatastreams = $cm->listDatastreams(); |
||||
if (!((isset($user) && in_array('administrator', $user->roles)) || in_array($dsID, $cmDatastreams))) { |
||||
drupal_set_message(t("You do not have access to the specified datastream."), 'error'); |
||||
drupal_access_denied(); |
||||
return ' '; |
||||
} |
||||
} |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item = new Fedora_Item($pid); |
||||
|
||||
|
||||
if (isset($item->datastreams[$dsID])) { |
||||
$mimeType = $item->datastreams[$dsID]['MIMEType']; |
||||
if ($label == NULL) { |
||||
$label = $item->datastreams[$dsID]['label']; |
||||
} |
||||
} else { |
||||
drupal_not_found(); |
||||
exit(); |
||||
} |
||||
|
||||
|
||||
if ((!isset($user)) || $user->uid == 0) { |
||||
$fedoraUser = 'anonymous'; |
||||
$fedoraPass = 'anonymous'; |
||||
$contentSize = 0; |
||||
} else { |
||||
$fedoraUser = $user->name; |
||||
$fedoraPass = $user->pass; |
||||
$dataStreamInfo = $item->get_datastream_info($dsID); |
||||
$contentSize = $dataStreamInfo->datastream->size; |
||||
} |
||||
|
||||
if (function_exists("curl_init")) { |
||||
if (!isset($mimeType)) { |
||||
$pid = variable_get('fedora_default_display_pid', 'demo:10'); |
||||
$dsID = variable_get('fedora_default_display_dsid', 'TN'); |
||||
$mimeType = 'image/jpeg'; |
||||
} |
||||
|
||||
$url = variable_get('fedora_base_url', 'http://localhost:8080/fedora') . '/get/' . $pid . '/' . $dsID; |
||||
if ($version) { |
||||
$url .= '/' . $version; //drupal_urlencode($version); |
||||
} |
||||
$ch = curl_init(); |
||||
$user_agent = "Mozilla/4.0 pp(compatible; MSIE 5.01; Windows NT 5.0)"; |
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); |
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); |
||||
curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors |
||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects |
||||
//curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s |
||||
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); |
||||
curl_setopt($ch, CURLOPT_URL, $url); |
||||
curl_setopt($ch, CURLOPT_USERPWD, "$fedoraUser:$fedoraPass"); |
||||
// There seems to be a bug in Fedora 3.1's REST authentication, removing this line fixes the authorization denied error. |
||||
// curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); // return into a variable |
||||
|
||||
curl_setopt($ch, CURLOPT_URL, $url); |
||||
|
||||
if ($filePath !== FALSE) { |
||||
$fp = fopen($filePath, 'w'); |
||||
curl_setopt($ch, CURLOPT_FILE, $fp); |
||||
curl_setopt($ch, CURLOPT_HEADER, 0); |
||||
curl_exec($ch); |
||||
fclose($fp); |
||||
} else { |
||||
|
||||
header("Content-type: $mimeType"); |
||||
if ($contentSize > 0) { |
||||
header("Content-length: $contentSize"); |
||||
} |
||||
|
||||
if ($asAttachment) { |
||||
$suggestedFileName = "$label"; |
||||
$pos = strpos($suggestedFileName, '.'); |
||||
/** |
||||
* Here we used to take an object of, say, type application/pdf with label, say, "My Document" |
||||
* and we assemble the output filename extension based on the post-slash portion of the mimetype. |
||||
* (If the label has a period anywhere in it, we leave it alone.) |
||||
* |
||||
* This is great for simple mimetypes like application/pdf, text/html, image/jpeg, etc. |
||||
* but it's terrible for, say, application/vnd.oasis.opendocument.text (.odt). |
||||
* |
||||
* Instead we'll use the get_extension function in MimeClass.inc to discover a valid extension |
||||
* for the mimetype in question. |
||||
*/ |
||||
if ($pos === FALSE) { |
||||
module_load_include('inc', 'fedora_repository', 'MimeClass'); |
||||
$mimeclass = new MimeClass(); |
||||
$ext = $mimeclass->get_extension($mimeType); |
||||
$suggestedFileName = "$label.$ext"; |
||||
} |
||||
|
||||
header('Content-Disposition: attachment; filename="' . $suggestedFileName . '"'); |
||||
} |
||||
|
||||
if ((isset($user) && $user->uid != 0) || $forceSoap || isset($_SERVER['HTTPS'])) { |
||||
curl_exec($ch); |
||||
} else { |
||||
header('Location: ' . $url); |
||||
} |
||||
} |
||||
curl_close($ch); |
||||
} else { |
||||
drupal_set_message(t('No curl support.'), 'error'); |
||||
} |
||||
} |
||||
|
||||
//Gets collection objects t |
||||
function getCollectionInfo($pid, $query = NULL) { |
||||
module_load_include('inc', 'fedora_repository', 'CollectionClass'); |
||||
$collectionClass = new CollectionClass(); |
||||
$results = $collectionClass->getRelatedItems($pid, $query); |
||||
return $results; |
||||
} |
||||
|
||||
/** |
||||
* returns the mime type |
||||
*/ |
||||
function getMimeType($pid, $dsID) { |
||||
global $user; |
||||
if (empty($pid) || empty($dsID)) { |
||||
drupal_set_message(t('You must specify an object pid and datastream ID.'), 'error'); |
||||
return ''; |
||||
} |
||||
if (!fedora_repository_access(ObjectHelper :: $OBJECT_HELPER_VIEW_FEDORA, $pid, $user)) { |
||||
drupal_set_message(t('You do not have the appropriate permissions'), 'error'); |
||||
return; |
||||
} |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item = new fedora_item($pid); |
||||
$datastream_list = $item->get_datastreams_list_as_SimpleXML(); |
||||
if (!isset($datastream_list)) { |
||||
//drupal_set_message( t("No datastreams available."), 'status' ); |
||||
return ' '; |
||||
} |
||||
foreach ($datastream_list as $datastream) { |
||||
foreach ($datastream as $datastreamValue) { |
||||
if ($datastreamValue->ID == $dsID) { |
||||
return $datastreamValue->MIMEType; |
||||
} |
||||
} |
||||
} |
||||
return ''; |
||||
} |
||||
|
||||
function getDatastreamInfo($pid, $dsID) { |
||||
global $user; |
||||
if (empty($pid) || empty($dsID)) { |
||||
drupal_set_message(t('You must specify an object pid and datastream ID.'), 'error'); |
||||
return ''; |
||||
} |
||||
if (!fedora_repository_access(ObjectHelper :: $OBJECT_HELPER_VIEW_FEDORA, $pid, $user)) { |
||||
drupal_set_message(t('You do not have the appropriate permissions'), 'error'); |
||||
return; |
||||
} |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item = new fedora_item($pid); |
||||
$datastream_list = $item->get_datastreams_list_as_SimpleXML(); |
||||
if (!isset($datastream_list)) { |
||||
//drupal_set_message( t("No datastreams available."), 'status' ); |
||||
return ' '; |
||||
} |
||||
foreach ($datastream_list as $datastream) { |
||||
foreach ($datastream as $datastreamValue) { |
||||
if ($datastreamValue->ID == $dsID) { |
||||
return $datastreamValue; |
||||
} |
||||
} |
||||
} |
||||
return ''; |
||||
} |
||||
|
||||
/** |
||||
* internal function |
||||
* @param $pid String |
||||
* @param $dataStreamValue Object |
||||
*/ |
||||
function create_link_for_ds($pid, $dataStreamValue) { |
||||
global $base_url; |
||||
$path = drupal_get_path('module', 'fedora_repository'); |
||||
|
||||
require_once($path . '/api/fedora_item.inc'); |
||||
$item = new Fedora_Item($pid); |
||||
|
||||
if (user_access(ObjectHelper :: $PURGE_FEDORA_OBJECTSANDSTREAMS)) { |
||||
$allow = TRUE; |
||||
if (module_exists('fedora_fesl')) { |
||||
$allow = fedora_fesl_check_roles($pid, 'write'); |
||||
} |
||||
if ($allow) { |
||||
$purgeImage = '<a title="purge datastream ' . $dataStreamValue->label . '" href="' . $base_url . '/fedora/repository/purgeStream/' . |
||||
$pid . '/' . $dataStreamValue->ID . '/' . $dataStreamValue->label . '"><img src="' . $base_url . '/' . $path . |
||||
'/images/purge.gif" alt="purge datastream" /></a>'; |
||||
} |
||||
} else { |
||||
$purgeImage = ' '; |
||||
} |
||||
$fullPath = base_path() . $path; |
||||
|
||||
// Add an icon to replace a datastream |
||||
// @TODO Note: using l(theme_image(..), ...); for these image links (and other links) may remove the need to have clean urls enabled. |
||||
$replaceImage = ' '; |
||||
if (user_access(ObjectHelper :: $ADD_FEDORA_STREAMS)) { |
||||
$allow = TRUE; |
||||
if (module_exists('fedora_fesl')) { |
||||
$allow = fedora_fesl_check_roles($pid, 'write'); |
||||
} |
||||
if ($allow) { |
||||
$replaceImage = '<a title="' . t("Replace datastream") . " " . $dataStreamValue->label . '" href="' . $base_url . '/fedora/repository/replaceStream/' . $pid . '/' . $dataStreamValue->ID . '/' . $dataStreamValue->label . '"><img src="' . $base_url . '/' . $path . '/images/replace.png" alt="replace datastream" /></a>'; |
||||
} |
||||
} |
||||
|
||||
$content = ''; |
||||
$id = $dataStreamValue->ID; |
||||
$label = $dataStreamValue->label; |
||||
$label = str_replace("_", " ", $label); |
||||
$mimeType = $dataStreamValue->MIMEType; |
||||
|
||||
$view = '<a href="' . $base_url . '/fedora/repository/' . drupal_urlencode($pid) . '/' . $id . '/' . drupal_urlencode($label) . |
||||
'" target="_blank" >' . t('View') . '</a>'; |
||||
$action = "$base_url/fedora/repository/object_download/" . drupal_urlencode($pid) . '/' . $id . '/' . drupal_urlencode(preg_replace('/\//i', '${1}_', $label)); // Necessary to handle the case of Datastream labels that contain slashes. Ugh. |
||||
$downloadVersion = '<form method="GET" action="' . $action . '"><input type="submit" value="' . t('Download') . '"></form>'; |
||||
if (user_access(ObjectHelper :: $EDIT_FEDORA_METADATA)) { |
||||
$versions = $item->get_datastream_history($id); |
||||
if (is_array($versions)) { |
||||
$downloadVersion = '<form method="GET" action="' . $action . '" onsubmit="this.action=\'' . $action . '\' + \'/\'+this.version.value;">'; |
||||
$downloadVersion .= '<select name="version">'; |
||||
foreach ($versions as $version) { |
||||
$downloadVersion .= '<option>' . $version->createDate . '</option>'; |
||||
} |
||||
$downloadVersion .= '</select><input type="submit" value="' . t('Download') . '"></form>'; |
||||
} |
||||
} |
||||
|
||||
$content .= "<tr><td>$label</td><td> $view</td><td> $downloadVersion</td><td> $mimeType</td><td> $replaceImage $purgeImage</td></tr>\n"; |
||||
return $content; |
||||
} |
||||
|
||||
function getFormattedDC($item) { |
||||
global $base_url; |
||||
$path = drupal_get_path('module', 'fedora_repository'); |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
|
||||
$dsid = array_key_exists('QDC', $item->get_datastreams_list_as_array()) ? 'QDC' : 'DC'; |
||||
$xmlstr = $item->get_datastream_dissemination($dsid); |
||||
|
||||
|
||||
if (empty($xmlstr)) { |
||||
return ''; |
||||
|
||||
} |
||||
|
||||
try { |
||||
$proc = new XsltProcessor(); |
||||
} catch (Exception $e) { |
||||
drupal_set_message($e->getMessage(), 'error'); |
||||
return; |
||||
} |
||||
|
||||
$proc->setParameter('', 'baseUrl', $base_url); |
||||
$proc->setParameter('', 'path', $base_url . '/' . $path); |
||||
$input = NULL; |
||||
$xsl = new DomDocument(); |
||||
try { |
||||
$xsl->load($path . '/xsl/convertQDC.xsl'); |
||||
$input = new DomDocument(); |
||||
$input->loadXML(trim($xmlstr)); |
||||
} catch (exception $e) { |
||||
watchdog(t("Fedora_Repository"), t("Problem loading XSL file: !e", array('!e' => $e)), NULL, WATCHDOG_ERROR); |
||||
} |
||||
$xsl = $proc->importStylesheet($xsl); |
||||
$newdom = $proc->transformToDoc($input); |
||||
$output = $newdom->saveHTML(); |
||||
return $output; |
||||
} |
||||
|
||||
/** |
||||
* Queries fedora for what we call the qualified dublin core. Currently only dc.coverage has |
||||
* any qualified fields |
||||
* Transforms the returned xml to html |
||||
* This is the default metadata view. With icons for searching a dublin core field |
||||
* @param $pid String |
||||
* @return String |
||||
*/ |
||||
function getQDC($pid) { |
||||
global $base_url; |
||||
$item = new Fedora_Item($pid); |
||||
$ds_list = $item->get_datastreams_list_as_array(); |
||||
$output = $this->getFormattedDC($item); |
||||
$dsid = array_key_exists('QDC', $ds_list) ? 'QDC' : 'DC'; |
||||
$path = drupal_get_path('module', 'fedora_repository'); |
||||
|
||||
//$baseUrl=substr($baseUrl, 0, (strpos($baseUrl, "/")-1)); |
||||
if (user_access(ObjectHelper :: $EDIT_FEDORA_METADATA)) { |
||||
$allow = TRUE; |
||||
if (module_exists('fedora_fesl')) { |
||||
$allow = fedora_fesl_check_roles($pid, 'write'); |
||||
} |
||||
if ($allow) { |
||||
|
||||
$output .= '<br /><a title = "' . t('Edit Meta Data') . '" href="' . $base_url . '/fedora/repository/' . 'editmetadata/' . $pid . '/' . |
||||
$dsid . '"><img src="' . $base_url . '/' . $path . '/images/edit.gif" alt="' . t('Edit Meta Data') . '" /></a>'; |
||||
|
||||
} |
||||
} |
||||
return $output; |
||||
} |
||||
|
||||
|
||||
/** |
||||
* Gets a list of datastreams from an object using its pid |
||||
* |
||||
* We make some assumptions here. We have implemented a policy that |
||||
* we ingest in our repository will have TN (thumbnail) datastream. Even audio |
||||
* will have a picture of a speaker or something. This is not critical |
||||
* but makes searches etc. look better if there is a TN stream. |
||||
* This diplays all the streams in a collapsed fieldset at the bottom of the object page. |
||||
* you can implement a content model if you would like certain streams displayed in certain ways. |
||||
* @param $object_pid String |
||||
* @return String |
||||
* |
||||
*/ |
||||
function get_formatted_datastream_list($object_pid, $contentModels, &$fedoraItem) { |
||||
global $fedoraUser, $fedoraPass, $base_url, $user; |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
module_load_include('inc', 'fedora_repository', 'ContentModel'); |
||||
|
||||
$path = drupal_get_path('module', 'fedora_repository'); |
||||
$dataStreamBody = ''; |
||||
$fedoraItem = new Fedora_Item($object_pid); |
||||
|
||||
if (user_access(ObjectHelper :: $VIEW_DETAILED_CONTENT_LIST)) { |
||||
$availableDataStreamsText = 'Detailed List of Content'; |
||||
//$metaDataText='Description'; |
||||
$mainStreamLabel = NULL; |
||||
$object = $fedoraItem->get_datastreams_list_as_SimpleXML(); |
||||
if (!isset($object)) { |
||||
drupal_set_message(t("No datastreams available")); |
||||
return ' '; |
||||
} |
||||
$hasOBJStream = NULL; |
||||
$hasTNStream = FALSE; |
||||
$dataStreamBody = "<br /><table>\n"; |
||||
|
||||
$cmDatastreams = array(); |
||||
if (variable_get('fedora_object_restrict_datastreams', FALSE) == TRUE && ($cm = ContentModel::loadFromObject($object_pid)) !== FALSE) { |
||||
$cmDatastreams = $cm->listDatastreams(); |
||||
} |
||||
|
||||
$dataStreamBody .= $this->get_parent_objects_asHTML($object_pid); |
||||
$dataStreamBody .= '<tr><th colspan="4"><h3>' . t("!text", array('!text' => $availableDataStreamsText)) . '</h3></th></tr>'; |
||||
foreach ($object as $datastream) { |
||||
foreach ($datastream as $datastreamValue) { |
||||
if (variable_get('fedora_object_restrict_datastreams', FALSE) == FALSE || ((isset($user) && in_array('administrator', $user->roles)) || in_array($datastreamValue->ID, $cmDatastreams))) { |
||||
if ($datastreamValue->ID == 'OBJ') { |
||||
$hasOBJStream = '1'; |
||||
$mainStreamLabel = $datastreamValue->label; |
||||
$mainStreamLabel = str_replace("_", " ", $mainStreamLabel); |
||||
} |
||||
if ($datastreamValue->ID == 'TN') { |
||||
$hasTNStream = TRUE; |
||||
} |
||||
//create the links to each datastream |
||||
$dataStreamBody .= $this->create_link_for_ds($object_pid, $datastreamValue); //"<tr><td><b>$key :</b></td><td>$value</td></tr>\n"; |
||||
} |
||||
} |
||||
} |
||||
$dataStreamBody .= "</table>\n"; |
||||
//if they have access let them add a datastream |
||||
if (user_access(ObjectHelper :: $ADD_FEDORA_STREAMS)) { |
||||
$allow = TRUE; |
||||
if (module_exists('fedora_fesl')) { |
||||
$allow = fedora_fesl_check_roles($object_pid, 'write'); |
||||
} |
||||
if ($allow) { |
||||
$dataStreamBody .= drupal_get_form('add_stream_form', $object_pid); |
||||
} |
||||
} |
||||
$fieldset = array( |
||||
'#title' => t("!text", array('!text' => $availableDataStreamsText)), |
||||
'#collapsible' => TRUE, |
||||
'#collapsed' => TRUE, |
||||
'#value' => $dataStreamBody |
||||
); |
||||
$dataStreamBody = '<div class = "fedora_detailed_list">' . theme('fieldset', $fieldset) . '</div>'; |
||||
|
||||
return $dataStreamBody; |
||||
} |
||||
return ''; |
||||
} |
||||
|
||||
|
||||
|
||||
/** |
||||
* returns a stream from a fedora object given a pid and dsid |
||||
* |
||||
*/ |
||||
function getStream($pid, $dsid, $showError = FALSE) { |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
$soapHelper = new ConnectionHelper(); |
||||
try { |
||||
$client = $soapHelper->getSoapClient(variable_get('fedora_soap_url', 'http://localhost:8080/fedora/services/access?wsdl')); |
||||
$params = array( |
||||
'pid' => "$pid", |
||||
'dsID' => "$dsid", |
||||
'asOfDateTime' => "" |
||||
); |
||||
|
||||
if (!isset($client)) { |
||||
drupal_set_message(t('Error connection to Fedora using soap client.')); |
||||
return NULL; |
||||
} |
||||
$object = $client->__soapCall('getDatastreamDissemination', array('parameters' => $params)); |
||||
} catch (Exception $e) { |
||||
if ($showError) { |
||||
drupal_set_message(t('Error getting Datastream for %pid and %datastream<br />', array('%pid' => $pid, '%datastream' => $dsid)), 'error'); |
||||
} |
||||
return NULL; |
||||
} |
||||
$content = $object->dissemination->stream; |
||||
$content = trim($content); |
||||
return $content; |
||||
} |
||||
|
||||
/* |
||||
* gets the name of the content models for the specified object |
||||
* this now returns an array of pids as in Fedora 3 we can have more then one Cmodel for an object |
||||
*/ |
||||
|
||||
function get_content_models_list($pid, $include_fedora_system_content_models = FALSE) { |
||||
module_load_include('inc', 'fedora_repository', 'CollectionClass'); |
||||
$collectionHelper = new CollectionClass(); |
||||
$pids = array(); |
||||
$query = 'select $object from <#ri> |
||||
where <info:fedora/' . $pid . '> <fedora-model:hasModel> $object |
||||
and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>'; |
||||
$content_models = $collectionHelper->getRelatedItems($pid, $query); |
||||
|
||||
if (empty($content_models)) { |
||||
return $pids; |
||||
} |
||||
|
||||
try { |
||||
$sxml = new SimpleXMLElement($content_models); |
||||
} catch (exception $e) { |
||||
watchdog(t("Fedora_Repository"), t("Could not find a parent object for %s", $pid), NULL, WATCHDOG_ERROR); |
||||
return $pids; |
||||
} |
||||
|
||||
if (!isset($sxml)) { |
||||
return $pids; |
||||
} |
||||
$cmodels = array(); |
||||
foreach ($sxml->xpath('//@uri') as $uri) { |
||||
if (strpos($uri, 'fedora-system:FedoraObject-3.0') != FALSE && $include_fedora_system_content_models == FALSE) { |
||||
continue; |
||||
} |
||||
$cmodel_pid = substr(strstr($uri, '/'), 1); |
||||
$cm = ContentModel::loadFromModel($cmodel_pid); |
||||
if ($cm) { |
||||
$cmodels[] = $cm; |
||||
} |
||||
} |
||||
|
||||
return $cmodels; |
||||
} |
||||
|
||||
/* |
||||
* determines whether we can see the object or not |
||||
* checks PID namespace permissions, and user permissions |
||||
*/ |
||||
|
||||
function fedora_repository_access($op, $pid) { |
||||
global $user; |
||||
|
||||
$returnValue = FALSE; |
||||
$isRestricted = variable_get('fedora_namespace_restriction_enforced', TRUE); |
||||
if (!$isRestricted) { |
||||
$namespaceAccess = TRUE; |
||||
} |
||||
if ($pid == NULL) { |
||||
$pid = variable_get('fedora_repository_pid', 'islandora:top'); |
||||
} |
||||
$nameSpaceAllowed = explode(" ", variable_get('fedora_pids_allowed', 'default: demo: changeme: islandora: ilives: ')); |
||||
$pos = NULL; |
||||
foreach ($nameSpaceAllowed as $nameSpace) { |
||||
$pos = stripos($pid, $nameSpace); |
||||
if ($pos === 0) { |
||||
$namespaceAccess = TRUE; |
||||
} |
||||
} |
||||
if ($namespaceAccess) { |
||||
$user_access = user_access($op); |
||||
if ($user_access == NULL) { |
||||
return FALSE; |
||||
} |
||||
return $user_access; |
||||
} else { |
||||
return FALSE; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* internal function |
||||
* uses an xsl to parse the sparql xml returned from the ITQL query |
||||
* |
||||
* |
||||
* @param $content String |
||||
*/ |
||||
function parseContent($content, $pid, $dsId, $collection, $pageNumber = NULL) { |
||||
$path = drupal_get_path('module', 'fedora_repository'); |
||||
global $base_url; |
||||
$collection_pid = $pid; //we will be changing the pid later maybe |
||||
//module_load_include('php', ''Fedora_Repository'', 'ObjectHelper'); |
||||
$objectHelper = $this; |
||||
$parsedContent = NULL; |
||||
$contentModels = $objectHelper->get_content_models_list($pid); |
||||
$isCollection = FALSE; |
||||
//if this is a collection object store the $pid in the session as it will come in handy |
||||
//after a purge or ingest to return to the correct collection. |
||||
|
||||
$fedoraItem = NULL; |
||||
$datastreams = $this->get_formatted_datastream_list($pid, $contentModels, $fedoraItem); |
||||
|
||||
if (!empty($contentModels)) { |
||||
foreach ($contentModels as $contentModel) { |
||||
if ($contentModel == variable_get('fedora_collection_model_pid', 'islandora:collectionCModel')) { |
||||
$_SESSION['fedora_collection'] = $pid; |
||||
$isCollection = TRUE; |
||||
} |
||||
} |
||||
} |
||||
|
||||
if ($fedoraItem !== NULL) { |
||||
$dslist = $fedoraItem->get_datastreams_list_as_array(); |
||||
if (isset($dslist['COLLECTION_POLICY'])) { |
||||
$isCollection = TRUE; |
||||
} |
||||
} |
||||
//-------------------------------------------------------------------------------- |
||||
//show the collections datastreams |
||||
if ($results->length > 0 || $isCollection == TRUE) { |
||||
// if(strlen($objectList)>22||$contentModel=='Collection'||$contentModel=='Community')//length of empty dom still equals 22 because of <table/> etc |
||||
module_load_include('inc', 'Fedora_Repository', 'CollectionPolicy'); |
||||
$collectionPolicyExists = $objectHelper->getMimeType($pid, CollectionPolicy::getDefaultDSID()); |
||||
if (user_access(ObjectHelper :: $INGEST_FEDORA_OBJECTS) && $collectionPolicyExists) { |
||||
if (!empty($collectionPolicyExists)) { |
||||
$allow = TRUE; |
||||
if (module_exists('fedora_fesl')) { |
||||
$allow = fedora_fesl_check_roles($pid, 'write'); |
||||
} |
||||
if ($allow) { |
||||
// $ingestObject = '<a title="'. t('Ingest a New object into ') . $collectionName . ' '. $collection_pid . '" href="'. base_path() . |
||||
$ingestObject = '<a title="' . t('Ingest a New object into !collection_name PID !collection_pid', array('!collection_name' => $collectionName, '!collection_pid' => $collection_pid)) . '" href="' . base_path() . |
||||
'fedora/ingestObject/' . $collection_pid . '/' . $collectionName . '"><img src="' . $base_url . '/' . $path . |
||||
'/images/ingest.png" alt="' . t('Add a New Object') . '" class="icon"></a>' . t(' Add to this Collection'); |
||||
} |
||||
} |
||||
} else { |
||||
$ingestObject = ' '; |
||||
} |
||||
|
||||
} |
||||
|
||||
$datastreams .= $ingestObject; |
||||
|
||||
|
||||
$output .= $datastreams; |
||||
|
||||
$showDesc = FALSE; |
||||
switch (variable_get('fedora_object_display_description', ObjectHelper :: $DISPLAY_NO_MODEL_OUTPUT)) { |
||||
case ObjectHelper :: $DISPLAY_NEVER: break; |
||||
case ObjectHelper :: $DISPLAY_NO_MODEL_OUTPUT: |
||||
if (trim($datastreams) == '') { |
||||
$showDesc = TRUE; |
||||
} |
||||
break; |
||||
|
||||
case ObjectHelper :: $DISPLAY_ALWAYS: |
||||
default: |
||||
$showDesc = TRUE; |
||||
break; |
||||
} |
||||
if ($showDesc) { |
||||
//just show default dc or qdc as we could not find a content model |
||||
$metaDataText = t('Description'); |
||||
$body = $this->getQDC($pid); |
||||
$fieldset = array( |
||||
'#title' => t("!metaDataText", array('!metaDataText' => $metaDataText)), |
||||
'#collapsible' => TRUE, |
||||
'#collapsed' => TRUE, |
||||
'#value' => $body |
||||
); |
||||
$output .= theme('fieldset', $fieldset); |
||||
} |
||||
|
||||
|
||||
return $output; |
||||
} |
||||
|
||||
/** |
||||
* Gets the parent objects that this object is related to |
||||
* |
||||
* @param unknown_type $pid |
||||
* @return unknown |
||||
*/ |
||||
function get_parent_objects($pid) { |
||||
$query_string = 'select $object $title from <#ri> |
||||
where ($object <dc:title> $title |
||||
and <info:fedora/' . $pid . '> <fedora-rels-ext:isMemberOfCollection> $object |
||||
and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>) |
||||
order by $title'; |
||||
$objects = $this->getCollectionInfo($pid, $query_string); |
||||
return $objects; |
||||
} |
||||
|
||||
function get_parent_objects_asHTML($pid) { |
||||
global $base_url; |
||||
$parent_collections = $this->get_parent_objects($pid); |
||||
try { |
||||
$parent_collections = new SimpleXMLElement($parent_collections); |
||||
} catch (exception $e) { |
||||
drupal_set_message(t('Error getting parent objects !e', array('!e' => $e->getMessage()))); |
||||
return; |
||||
} |
||||
|
||||
$parent_collections_HTML = ''; |
||||
foreach ($parent_collections->results->result as $result) { |
||||
$collection_label = $result->title; |
||||
foreach ($result->object->attributes() as $a => $b) { |
||||
if ($a == 'uri') { |
||||
$uri = (string) $b; |
||||
$uri = $base_url . '/fedora/repository' . substr($uri, strpos($uri, '/')) . '/-/' . $collection_label; |
||||
} |
||||
} |
||||
$parent_collections_HTML .= '<a href="' . $uri . '">' . $collection_label . '</a><br />'; |
||||
} |
||||
if (!empty($parent_collections_HTML)) { |
||||
$parent_collections_HTML = '<tr><td><h3>' . t("Belongs to these collections: ") . '</h3></td><td colspan="4">' . $parent_collections_HTML . '</td></tr>'; |
||||
} |
||||
|
||||
return $parent_collections_HTML; |
||||
} |
||||
|
||||
/** |
||||
* gets a list of datastreams and related function that we should use to show datastreams in their own fieldsets |
||||
* from the content model associated with the object |
||||
*/ |
||||
function createExtraFieldsets($pid, $contentModel, $page_number) { |
||||
//$models = $collectionHelper->getContentModels($collectionPid, FALSE); |
||||
// possible problem in below if the collection policy has multiple content models |
||||
//with different pids but same dsid we could get wrong one, low probability and functionality |
||||
// will probably change for fedora version 3. |
||||
if (empty($contentModel)) { |
||||
return NULL; |
||||
} |
||||
$output = ''; |
||||
module_load_include('inc', 'fedora_repository', 'ContentModel'); |
||||
if (($cm = ContentModel :: loadFromModel($contentModel)) !== FALSE && $cm->validate()) { |
||||
$output .= $cm->displayExtraFieldset($pid, $page_number); |
||||
} |
||||
return $output; |
||||
} |
||||
|
||||
/** |
||||
* Look in the content model for rules to run on the specified datastream. |
||||
* |
||||
* @param string $pid |
||||
* @param string $dsid |
||||
* @return boolean |
||||
*/ |
||||
function get_and_do_datastream_rules($pid, $dsid, $file = '') { |
||||
if (!user_access('ingest new fedora objects')) { |
||||
drupal_set_message(t('You do not have permission to add datastreams.')); |
||||
return FALSE; |
||||
} |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'ContentModel'); |
||||
if ($dsid != NULL && $pid != NULL && ($cm = ContentModel::loadFromObject($pid)) !== FALSE) { |
||||
$cm->execAddDatastreamMethods($dsid, $file); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Get a tree of related pids - for the basket functionality |
||||
*/ |
||||
function get_all_related_pids($pid) { |
||||
if (!$pid) { |
||||
return FALSE; |
||||
} |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
|
||||
// Get title and descriptions for $pid |
||||
$query_string = 'select $title $desc from <#ri> |
||||
where $o <dc:title> $title |
||||
and $o <dc:description> $desc |
||||
and $o <mulgara:is> <info:fedora/' . $pid . '>'; |
||||
|
||||
$url = variable_get('fedora_repository_url', 'http://localhost:8080/fedora/risearch'); |
||||
$url .= "?type=tuples&flush=true&format=csv&limit=1000&lang=itql&stream=on&query="; |
||||
$content = do_curl($url . htmlentities(urlencode($query_string))); |
||||
|
||||
$rows = explode("\n", $content); |
||||
$fields = explode(',', $rows[1]); |
||||
|
||||
$pids[$pid] = array('title' => $fields[0], 'description' => $fields[1]); |
||||
|
||||
// $pids += $this->get_child_pids(array($pid)); |
||||
|
||||
return $pids; |
||||
} |
||||
|
||||
/** |
||||
* Get children of PID - but only 2 levels deep |
||||
*/ |
||||
function get_child_pids($pids) { |
||||
// Get pid, title and description for children of object $pid |
||||
$query_string = 'select $o $title from <#ri> ' . |
||||
// $query_string = 'select $o $title $desc from <#ri> '. |
||||
'where $s <info:fedora/fedora-system:def/relations-external#hasMember> $o ' . |
||||
'and $o <dc:title> $title ' . |
||||
// 'and $o <dc:description> $desc '. |
||||
'and ( '; |
||||
|
||||
foreach ($pids as $pid) { |
||||
$query_string .= '$s <mulgara:is> <info:fedora/' . $pid . '> or '; |
||||
} |
||||
$query_string = substr($query_string, 0, -3) . ' )'; |
||||
|
||||
$url = variable_get('fedora_repository_url', 'http://localhost:8080/fedora/risearch'); |
||||
$url .= "?type=tuples&flush=true&format=csv&limit=1000&lang=itql&stream=on&query="; |
||||
$url .= htmlentities(urlencode($query_string)); |
||||
$content = $this->doCurl($url); |
||||
|
||||
$rows = explode("\n", $content); |
||||
// Knock of the first heading row |
||||
array_shift($rows); |
||||
|
||||
$child_pids = array(); |
||||
if (count($rows)) { |
||||
// iterate through each row |
||||
foreach ($rows as $row) { |
||||
if ($row == "") { |
||||
continue; |
||||
} |
||||
$fields = explode(',', $row); |
||||
$child_pid = substr($fields[0], 12); |
||||
$child_pids[$child_pid] = array('title' => $fields[1], 'description' => $fields[2]); |
||||
} |
||||
if (!empty($child_pids)) { |
||||
$child_pids += $this->get_child_pids(array_keys($child_pids)); |
||||
} |
||||
} |
||||
|
||||
return $child_pids; |
||||
} |
||||
|
||||
/** |
||||
* Returns XML description of the object (export). |
||||
*/ |
||||
function getObject($pid, $context = 'archive', $format = FOXML_11) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
|
||||
$url = variable_get('fedora_base_url', 'http://localhost:8080/fedora') . '/objects/' . $pid . '/export?context=' . $context . '&format=' . $format; |
||||
$result_data = do_curl($url); |
||||
return $result_data; |
||||
} |
||||
|
||||
/** |
||||
* Builds an array of drupal links for use in breadcrumbs. |
||||
*/ |
||||
function getBreadcrumbs($pid, &$breadcrumbs, $level=10) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
// Before executing the query, we hve a base case of accessing the top-level collection |
||||
global $base_url; |
||||
if ($pid == variable_get('fedora_repository_pid', 'islandora:top')){ |
||||
$breadcrumbs[] = l(t('Digital repository'), 'fedora/repository'); |
||||
$breadcrumbs[] = l(t('Home'), $base_url); |
||||
} else { |
||||
$query_string = 'select $parentObject $title $content from <#ri> |
||||
where (<info:fedora/' . $pid . '> <dc:title> $title |
||||
and $parentObject <fedora-model:hasModel> $content |
||||
and (<info:fedora/' . $pid . '> <fedora-rels-ext:isMemberOfCollection> $parentObject |
||||
or <info:fedora/' . $pid . '> <fedora-rels-ext:isMemberOf> $parentObject |
||||
or <info:fedora/' . $pid . '> <fedora-rels-ext:isPartOf> $parentObject) |
||||
and $parentObject <fedora-model:state> <info:fedora/fedora-system:def/model#Active>) |
||||
minus $content <mulgara:is> <info:fedora/fedora-system:FedoraObject-3.0> |
||||
order by $title'; |
||||
$query_string = htmlentities(urlencode($query_string)); |
||||
|
||||
$url = variable_get('fedora_repository_url', 'http://localhost:8080/fedora/risearch'); |
||||
$url .= "?type=tuples&flush=TRUE&format=CSV&limit=1&offset=0&lang=itql&stream=on&query=" . $query_string; |
||||
|
||||
$result = preg_split('/[\r\n]+/',do_curl($url)); |
||||
array_shift($result); // throw away first line |
||||
$matches =str_getcsv(join("\n",$result)); |
||||
if ($matches !== FALSE) { |
||||
$parent = preg_replace('/^info:fedora\//','',$matches[0]); |
||||
|
||||
$breadcrumbs[] = l($matches[1], 'fedora/repository/' . $pid); |
||||
if ($parent == variable_get('fedora_repository_pid', 'islandora:top')) { |
||||
$breadcrumbs[] = l(t('Digital repository'), 'fedora/repository'); |
||||
$breadcrumbs[] = l(t('Home'), $base_url); |
||||
} elseif ($level > 0) { |
||||
$this->getBreadcrumbs($parent, $breadcrumbs, $level - 1); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
public static function warnIfMisconfigured($app) { |
||||
$messMap = array( |
||||
'Kakadu' => 'Full installation instructions for Kakadu can be found |
||||
<a href=http://www.kakadusoftware.com/index.php?option=com_content&task=view&id=27&Itemid=23>Here</a>', |
||||
'ImageMagick' => 'Check the path settings in the configuration of your <b>imageapi</b> module.<br/> |
||||
Further details can be found <a href=http://www.imagemagick.org/script/install-source.php>Here</a>', |
||||
); |
||||
|
||||
$warnMess = "Creation of one or more datastreams failed.<hr width='40%' align = 'left'/>"; |
||||
$configMess = "Please ensure that %app is installed and configured for this site. "; |
||||
drupal_set_message($warnMess, 'warning', false); |
||||
drupal_set_message(t($configMess . "<br />" . $messMap[$app] . "<hr width='40%' align = 'left'/>", array('%app' => $app)), 'warning', false); |
||||
} |
||||
|
||||
} |
||||
|
@ -1,525 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
class SearchClass { |
||||
public static $SEARCH_CLASS_ADVANCED_SEARCH_NUMBER_FIELDS = 5; |
||||
function solr_search($query, $startPage=1, $fq = NULL, $dismax = NULL) { |
||||
$solrFile = trim(variable_get('islandora_solr_search_block_handler_file', 'plugins/SolrResults.inc')); |
||||
if (strpos($solrField, '../')) { // Don't let us bust out of fedora_repository modules directory when looking for a handler |
||||
drupal_set_message(t('You have illegal characters in your solr handler function in the Islandora solr block config.'), 'error'); |
||||
} |
||||
$solrClass = trim(variable_get('islandora_solr_search_block_handler_class', 'SolrResults')); |
||||
$solrFunction = trim(variable_get('islandora_solr_search_block_handler_function', 'SearchAndDisplay')); |
||||
require_once(drupal_get_path('module', 'fedora_repository') . '/'. $solrFile); |
||||
try { |
||||
$implementation = new $solrClass(); |
||||
} catch (Exception $e) { |
||||
watchdog(t("Fedora_Repository"), t("Error getting solr search results class: !message", array('!message' => $e->getMessage())), NULL, WATCHDOG_ERROR); |
||||
return 'Error getting solr search results class. Check watchdog for more info.'; |
||||
} |
||||
return $implementation->$solrFunction($query, $startPage, $fq, $dismax); |
||||
} |
||||
function build_solr_search_form($repeat = NULL, $pathToSearchTerms = NULL, $query = NULL) { |
||||
$types = $this->get_search_terms_array(NULL, 'solrSearchTerms.xml'); |
||||
$queryArray=NULL; |
||||
if (isset($query)) { |
||||
$queryArray = explode('AND', $query); |
||||
} |
||||
|
||||
$andOrArray = array( |
||||
'AND' => 'and', |
||||
//'OR' => 'or' //removed or for now as it would be a pain to parse |
||||
); |
||||
$form = array(); |
||||
|
||||
if (!isset($repeat)) { |
||||
$repeat = variable_get('islandora_solr_search_block_repeat', t('3')); |
||||
} |
||||
$var0 = explode(':', $queryArray[0]); |
||||
$var1 = explode(':', $queryArray[1]); |
||||
$form['search_type']['type1'] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#options' => $types, |
||||
'#default_value' => trim($var0[0]) |
||||
); |
||||
$form['fedora_terms1'] = array( |
||||
'#size' => '24', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
'#required' => TRUE, |
||||
'#default_value' => (count($var0) >= 2 ? trim($var0[1]) : ''), |
||||
); |
||||
$form['andor1'] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#default_value' => 'AND', |
||||
'#options' => $andOrArray |
||||
); |
||||
$form['search_type']['type2'] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#options' => $types, |
||||
'#default_value' => (count($var1) >= 2 ? trim($var1[0]) : ''), |
||||
); |
||||
$form['fedora_terms2'] = array( |
||||
'#size' => '24', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
'#default_value' => (count($var1) >= 2 ? $var1[1] : ''), |
||||
); |
||||
if ($repeat>2 && $repeat < 9) { //don't want less then 2 or more then 9 |
||||
for ($i = 3; $i < $repeat + 1; $i++) { |
||||
$t = $i - 1; |
||||
$field_and_term = explode(':', $queryArray[$t]); |
||||
$form["andor$t"] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#default_value' => 'AND', |
||||
'#options' => $andOrArray |
||||
); |
||||
$form['search_type']["type$i"] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#options' => $types, |
||||
'#default_value' => trim($field_and_term[0]) |
||||
); |
||||
$form["fedora_terms$i"] = array( |
||||
'#size' => '24', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
'#default_value' => (count($field_and_term) >= 2 ? trim($field_and_term[1]) : ''), |
||||
); |
||||
} |
||||
} |
||||
|
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('search') |
||||
); |
||||
return $form; |
||||
} |
||||
|
||||
function build_simple_solr_form() { |
||||
//$form = array(); |
||||
$form["search_query"] = array( |
||||
'#size' => '30', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
// '#default_value' => (count($field_and_term) >= 2 ? trim($field_and_term[1]) : ''), |
||||
); |
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('search') |
||||
); |
||||
return $form; |
||||
} |
||||
function theme_solr_search_form($form) { |
||||
if (!isset($repeat)) { |
||||
$repeat = variable_get('islandora_solr_search_block_repeat', t('3')); |
||||
} |
||||
|
||||
$output = drupal_render($form['search_type']['type1']) ; |
||||
$output .= drupal_render($form['fedora_terms1']) ; |
||||
$output .= drupal_render($form['andor1']) . drupal_render($form['search_type']['type2']) ; |
||||
$output .= drupal_render($form['fedora_terms2']); |
||||
if ($repeat>2 && $repeat < 9) { |
||||
for ($i=3;$i<$repeat+1;$i++) { |
||||
$t = $i - 1; |
||||
$output .= drupal_render($form["andor$t"]) . drupal_render($form['search_type']["type$i"]) ; |
||||
$output .= drupal_render($form["fedora_terms$i"]) ; |
||||
} |
||||
} |
||||
$output .= drupal_render($form['submit']) ; |
||||
$output .= drupal_render($form); |
||||
return $output; |
||||
|
||||
|
||||
} |
||||
function quickSearch($type, $query, $showForm = 1, $orderBy = 0, & $userArray) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
if (user_access('view fedora collection')) { |
||||
$numberOfHistPerPage = '5000'; //hack for IR they do not want next button |
||||
$luceneQuery = NULL; |
||||
// Demo search string ?operation=gfindObjects&indexName=DemoOnLucene&query=fgs.DS.first.text%3Achristmas&hitPageStart=11&hitPageSize=10 |
||||
$keywords = explode(' ', $query); |
||||
|
||||
foreach ($keywords as $keyword) { |
||||
$luceneQuery .= $type . ':'. $keyword . '+AND+'; |
||||
} |
||||
$luceneQuery = substr($luceneQuery, 0, strlen($luceneQuery) - 5); |
||||
|
||||
$indexName = variable_get('fedora_index_name', 'DemoOnLucene'); |
||||
$keys = htmlentities(urlencode($query)); |
||||
$searchUrl = variable_get('fedora_fgsearch_url', 'http://localhost:8080/fedoragsearch/rest'); |
||||
$searchString = '?operation=gfindObjects&indexName='. $indexName . '&restXslt=copyXml&query='. $luceneQuery; |
||||
$searchString .= '&hitPageSize='. $numberOfHistPerPage . '&hitPageStart=1'; |
||||
//$searchString = htmlentities($searchString); |
||||
$searchUrl .= $searchString; |
||||
|
||||
// $objectHelper = new ObjectHelper(); |
||||
|
||||
$resultData = do_curl($searchUrl, 1); |
||||
if (isset($userArray)) { |
||||
$doc = new DOMDocument(); |
||||
$doc->loadXML($resultData); |
||||
$xPath = new DOMXPath($doc); |
||||
// Add users to department list. This is a hack as not all users will be in dupal |
||||
$nodeList = $xPath->query('//field[@name="refworks.u1"]'); |
||||
foreach ($nodeList as $node) { |
||||
if (!in_array($node->nodeValue, $userArray)) { |
||||
$userArray[]=$node->nodeValue; |
||||
} |
||||
} |
||||
} |
||||
if ($showForm) { |
||||
$output = '<Strong>Quick Search</strong><br /><table class="table-form"><tr>'. drupal_get_form('fedora_repository_quick_search_form') . '</tr></table>'; |
||||
} |
||||
$output .= $this->applyXSLT($resultData, $orderBy); |
||||
return $output; |
||||
} |
||||
} |
||||
|
||||
|
||||
// gets term from a lucene index and displays them in a list |
||||
function getTerms($fieldName, $startTerm, $displayName = NULL) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
$indexName = variable_get('fedora_index_name', 'DemoOnLucene'); |
||||
$searchUrl = variable_get('fedora_fgsearch_url', 'http://localhost:8080/fedoragsearch/rest'); |
||||
if ($startTerm == NULL) { |
||||
$startTerm = ""; |
||||
} |
||||
$startTerm = drupal_urlencode($startTerm); |
||||
$query = 'operation=browseIndex&startTerm='. $startTerm . '&fieldName='. $fieldName . '&termPageSize=20&indexName='. $indexName . '&restXslt=copyXml&resultPageXslt=copyXml'; |
||||
// $query=drupal_urlencode($query); |
||||
$query = '?'. $query; |
||||
$searchString=$searchUrl . $query; |
||||
|
||||
$objectHelper = new ObjectHelper(); |
||||
|
||||
$resultData = do_curl($searchString, 1); |
||||
$path = drupal_get_path('module', 'Fedora_Repository'); |
||||
|
||||
$output .= $this->applySpecifiedXSLT($resultData, $path . '/xsl/browseIndexToResultPage.xslt', $displayName); |
||||
//$output .= '<br />'.$alpha_out; |
||||
return $output; |
||||
|
||||
} |
||||
|
||||
|
||||
|
||||
function custom_search($query, $startPage=1, $xslt= '/xsl/advanced_search_results.xsl', $numberOfHistPerPage = 50) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
|
||||
if (user_access('view fedora collection')) { |
||||
//$numberOfHistPerPage = '50';//hack for IR they do not want next button |
||||
$luceneQuery = NULL; |
||||
$indexName = variable_get('fedora_index_name', 'DemoOnLucene'); |
||||
$copyXMLFile = 'copyXml'; |
||||
// if($indexName=='ilives' || $indexName=='BasicIndex'){ |
||||
// $copyXMLFile = 'copyXmliLives'; |
||||
// } |
||||
$query = trim($query); |
||||
$query = htmlentities(urlencode($query)); |
||||
$searchUrl = variable_get('fedora_fgsearch_url', 'http://localhost:8080/fedoragsearch/rest'); |
||||
$searchString = '?operation=gfindObjects&indexName=' . $indexName . '&restXslt='. $copyXMLFile . '&query=' . $query; |
||||
$searchString .= '&hitPageSize='. $numberOfHistPerPage . '&hitPageStart='. $startPage; |
||||
//$searchString = htmlentities($searchString); |
||||
$searchUrl .= $searchString; |
||||
|
||||
//$objectHelper = new ObjectHelper(); |
||||
|
||||
$resultData = do_curl($searchUrl, 1); |
||||
//var_dump($resultData);exit(0); |
||||
// $doc = new DOMDocument(); |
||||
// $doc->loadXML($resultData); |
||||
|
||||
$output .= $this->applyLuceneXSLT($resultData, $startPage, $xslt, $query); |
||||
return $output; |
||||
} |
||||
} |
||||
|
||||
|
||||
function applySpecifiedXSLT($resultData, $pathToXSLT, $displayName = NULL) { |
||||
$proc = NULL; |
||||
global $user; |
||||
if (!$resultData) { |
||||
drupal_set_message(t('No data found!')); |
||||
return ' '; //no results |
||||
} |
||||
try { |
||||
$proc = new XsltProcessor(); |
||||
} |
||||
catch (Exception $e) { |
||||
drupal_set_message(t('Error loading '. $pathToXSLT . ' xslt!') . $e->getMessage()); |
||||
return ' '; |
||||
} |
||||
|
||||
//$proc->setParameter('', 'searchUrl', url('search') . '/fedora_repository'); //needed in our xsl |
||||
$proc->setParameter('', 'objectsPage', base_path()); |
||||
$proc->setParameter('', 'userID', $user->uid); |
||||
if (isset($displayName)) { |
||||
$proc->setParameter('', 'displayName', $displayName); |
||||
} |
||||
else { |
||||
$proc->setParameter('', 'displayName', "test"); |
||||
} |
||||
|
||||
$xsl = new DomDocument(); |
||||
|
||||
$test= $xsl->load($pathToXSLT); |
||||
|
||||
if (!isset($test)) { |
||||
drupal_set_message(t('Error loading '. $pathToXSLT . ' xslt!')); |
||||
return t('Error loading !pathToXSLT xslt.', array('!pathToXSLT' => $pathToXSLT)); |
||||
} |
||||
|
||||
$input = new DomDocument(); |
||||
|
||||
$didLoadOk = $input->loadXML($resultData); |
||||
|
||||
if (!isset($didLoadOk)) { |
||||
drupal_set_message(t('Error loading XML data!')); |
||||
return t('Error loading XML data.'); |
||||
} |
||||
else { |
||||
$proc->importStylesheet($xsl); |
||||
$newdom = $proc->transformToDoc($input); |
||||
return $newdom->saveXML(); |
||||
} |
||||
} |
||||
//default function for lucene results |
||||
|
||||
|
||||
/** |
||||
* apply an xslt to lucene gsearch search results |
||||
* |
||||
* @param <type> $resultData |
||||
* @param <type> $startPage |
||||
* @param <type> $xslt_file |
||||
* @param <type> $query the query that was executed. May want to pass this on. |
||||
*/ |
||||
function applyLuceneXSLT($resultData, $startPage = 1, $xslt_file = '/xsl/results.xsl', $query=NULL) { |
||||
$path = drupal_get_path('module', 'Fedora_Repository'); |
||||
$test = $xslt_file; |
||||
$isRestricted = variable_get('fedora_namespace_restriction_enforced',TRUE); |
||||
if(!isRestricted && $xslt_file == null){ |
||||
$xslt_file = '/xsl/unfilteredresults.xsl'; |
||||
} |
||||
$proc = NULL; |
||||
if (!$resultData) { |
||||
//drupal_set_message(t('No Results!')); |
||||
return ' '; //no results |
||||
} |
||||
try { |
||||
$proc = new XsltProcessor(); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error loading results xslt!') . $e->getMessage()); |
||||
return ' '; |
||||
} |
||||
if (isset($query)) { |
||||
$proc->setParameter('', 'fullQuery', $query); |
||||
} |
||||
//inject into xsl stylesheet |
||||
global $user; |
||||
$proc->setParameter('', 'userID', $user->uid); |
||||
$proc->setParameter('', 'searchToken', drupal_get_token('fedora_repository_advanced_search')); //token generated by Drupal, keeps tack of what tab etc we are on |
||||
$proc->setParameter('', 'searchUrl', url('search') . '/fedora_repository'); //needed in our xsl |
||||
$proc->setParameter('', 'objectsPage', base_path()); |
||||
$proc->setParameter('', 'allowedPidNameSpaces', variable_get('fedora_pids_allowed', 'default: demo: changeme: islandora: ilives: ')); |
||||
$proc->setParameter('', 'hitPageStart', $startPage); |
||||
$proc->registerPHPFunctions(); |
||||
$xsl = new DomDocument(); |
||||
|
||||
$test = $xsl->load($path . $xslt_file); |
||||
if (!isset($test)) { |
||||
drupal_set_message(t('Error loading search results xslt!')); |
||||
return t('Error loading search results XSLT.'); |
||||
} |
||||
|
||||
$input = new DomDocument(); |
||||
$didLoadOk = $input->loadXML($resultData); |
||||
|
||||
if (!isset($didLoadOk)) { |
||||
drupal_set_message(t('Error loading search results!')); |
||||
return t('Error loading search results.'); |
||||
} |
||||
else { |
||||
$proc->importStylesheet($xsl); |
||||
$newdom = $proc->transformToDoc($input); |
||||
return $newdom->saveXML(); |
||||
} |
||||
} |
||||
|
||||
//xslt for islandscholar these xslt functions can probably be pulled into one |
||||
function applyXSLT($resultData, $orderBy = 0) { |
||||
$path = drupal_get_path('module', 'Fedora_Repository'); |
||||
$proc = NULL; |
||||
if (!$resultData) { |
||||
//drupal_set_message(t('No Results!')); |
||||
return ' '; //no results |
||||
} |
||||
try { |
||||
$proc = new XsltProcessor(); |
||||
} catch (Exception $e) { |
||||
drupal_set_message(t('Error loading results xslt! ') . $e->getMessage()); |
||||
return ' '; |
||||
} |
||||
|
||||
//inject into xsl stylesheet |
||||
//$proc->setParameter('', 'searchToken', drupal_get_token('search_form')); //token generated by Drupal, keeps tack of what tab etc we are on |
||||
$proc->setParameter('', 'userID', $user->uid); |
||||
$proc->setParameter('', 'searchUrl', url('search') . '/fedora_repository'); //needed in our xsl |
||||
$proc->setParameter('', 'objectsPage', base_path()); |
||||
$proc->setParameter('', 'allowedPidNameSpaces', variable_get('fedora_pids_allowed', 'default: demo: changeme: islandora: ilives: ')); |
||||
$proc->setParameter('', 'orderBy', $orderBy); |
||||
$xsl = new DomDocument(); |
||||
|
||||
$test=$xsl->load($path . '/ir/xsl/results.xsl'); |
||||
if (!isset($test)) { |
||||
drupal_set_message(t('Error loading search results xslt!')); |
||||
return t('Error loading search results XSLT.'); |
||||
} |
||||
|
||||
$input = new DomDocument(); |
||||
$didLoadOk = $input->loadXML($resultData); |
||||
|
||||
if (!isset($didLoadOk)) { |
||||
drupal_set_message(t('Error loading search results!')); |
||||
return t('Error loading search results.'); |
||||
} |
||||
else { |
||||
$xsl = $proc->importStylesheet($xsl); |
||||
$newdom = $proc->transformToDoc($input); |
||||
return $newdom->saveXML(); |
||||
} |
||||
} |
||||
|
||||
function theme_advanced_search_form($form, $repeat=NULL) { |
||||
if (!isset($repeat)) { |
||||
$repeat = variable_get('fedora_repository_advanced_block_repeat', t('3')); |
||||
} |
||||
|
||||
$output = drupal_render($form['search_type']['type1']) ; |
||||
$output .= drupal_render($form['fedora_terms1']) ; |
||||
$output .= drupal_render($form['andor1']) . drupal_render($form['search_type']['type2']) ; |
||||
$output .= drupal_render($form['fedora_terms2']); |
||||
if ($repeat>2 && $repeat < 9) { |
||||
for ($i=3;$i<$repeat+1;$i++) { |
||||
$t = $i - 1; |
||||
$output .= drupal_render($form["andor$t"]) . drupal_render($form['search_type']["type$i"]) ; |
||||
$output .= drupal_render($form["fedora_terms$i"]) ; |
||||
} |
||||
} |
||||
$output .= drupal_render($form['submit']) ; |
||||
$output .= drupal_render($form); |
||||
return $output; |
||||
} |
||||
|
||||
//build search form, custom blocks should set the number of repeats or it will use the default |
||||
function build_advanced_search_form($repeat = NULL, $pathToSearchTerms = NULL, $query = NULL) { |
||||
$types = $this->get_search_terms_array($pathToSearchTerms); |
||||
$queryArray=NULL; |
||||
if (isset($query)) { |
||||
$queryArray = explode('AND', $query); |
||||
} |
||||
|
||||
$andOrArray = array( |
||||
'AND' => 'and', |
||||
//'OR' => 'or' //removed or for now as it would be a pain to parse |
||||
); |
||||
$form = array(); |
||||
|
||||
if (!isset($repeat)) { |
||||
$repeat = variable_get('fedora_repository_advanced_block_repeat', t('3')); |
||||
} |
||||
$var0 = explode(':', $queryArray[0]); |
||||
$var1 = explode(':', $queryArray[1]); |
||||
$form['search_type']['type1'] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#options' => $types, |
||||
'#default_value' => trim($var0[0]) |
||||
); |
||||
$form['fedora_terms1'] = array( |
||||
'#size' => '24', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
'#required' => TRUE, |
||||
'#default_value' => (count($var0) >= 2 ? trim($var0[1]) : ''), |
||||
); |
||||
$form['andor1'] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#default_value' => 'AND', |
||||
'#options' => $andOrArray |
||||
); |
||||
$form['search_type']['type2'] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#options' => $types, |
||||
'#default_value' => (count($var1) >= 2 ? trim($var1[0]) : ''), |
||||
); |
||||
$form['fedora_terms2'] = array( |
||||
'#size' => '24', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
'#default_value' => (count($var1) >= 2 ? $var1[1] : ''), |
||||
); |
||||
if ($repeat>2 && $repeat < 9) { //don't want less then 2 or more then 9 |
||||
for ($i = 3; $i < $repeat + 1; $i++) { |
||||
$t = $i - 1; |
||||
$field_and_term = explode(':', $queryArray[$t]); |
||||
$form["andor$t"] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#default_value' => 'AND', |
||||
'#options' => $andOrArray |
||||
); |
||||
$form['search_type']["type$i"] = array( |
||||
'#title' => t(''), |
||||
'#type' => 'select', |
||||
'#options' => $types, |
||||
'#default_value' => trim($field_and_term[0]) |
||||
); |
||||
$form["fedora_terms$i"] = array( |
||||
'#size' => '24', |
||||
'#type' => 'textfield', |
||||
'#title' => t(''), |
||||
'#default_value' => (count($field_and_term) >= 2 ? trim($field_and_term[1]) : ''), |
||||
); |
||||
} |
||||
} |
||||
|
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('search') |
||||
); |
||||
return $form; |
||||
} |
||||
|
||||
|
||||
function get_search_terms_array($path = NULL, $file = NULL) { |
||||
if (!isset($path)) { |
||||
$path = drupal_get_path('module', 'Fedora_Repository'); |
||||
} |
||||
$xmlDoc = new DomDocument(); |
||||
if (!isset($file)) { |
||||
$file = 'searchTerms.xml'; |
||||
} |
||||
$xmlDoc->load($path . '/'. $file); |
||||
$nodeList = $xmlDoc->getElementsByTagName('term'); |
||||
$types = array(); |
||||
for ($i = 0; $i < $nodeList->length; $i++) { |
||||
$field = $nodeList->item($i)->getElementsByTagName('field'); |
||||
$value = $nodeList->item($i)->getElementsByTagName('value'); |
||||
$fieldValue = $field->item(0)->nodeValue; |
||||
$valueValue = $value->item(0)->nodeValue; |
||||
$types["$fieldValue"] = "$valueValue"; |
||||
} |
||||
return $types; |
||||
} |
||||
} |
@ -1,203 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/* |
||||
* Created on 22-Oct-08 |
||||
* |
||||
* To change the template for this generated file go to |
||||
* Window - Preferences - PHPeclipse - PHP - Code Templates |
||||
*/ |
||||
|
||||
class SecurityClass { |
||||
public static $SECURITY_CLASS_SECURITY_STREAM = 'POLICY'; |
||||
function SecurityClass() { |
||||
module_load_include('inc', 'SecurityClass', ''); |
||||
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); |
||||
} |
||||
|
||||
function canIngestHere($collection_pid) { |
||||
global $user; |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
$objectHelper = new ObjectHelper(); |
||||
// get the childsecurity policy from the collection. |
||||
$policyStream = $objectHelper->getStream($collection_pid, SECURITYCLASS :: $SECURITY_CLASS_SECURITY_STREAM, FALSE); |
||||
|
||||
if ($policyStream == NULL) { |
||||
// no child policy stream so collection is wide open to anyone to ingest, that has the permission ingest in Drupal. |
||||
// maybe we should return FALSE here?? would be more secure. |
||||
return TRUE; |
||||
} |
||||
$allowedUsersAndRoles = $this->getAllowedUsersAndRoles($policyStream); |
||||
if (!$allowedUsersAndRoles) { |
||||
// error processing stream so don't let them ingest here. |
||||
return FALSE; |
||||
} |
||||
$allowedUsers = $allowedUsersAndRoles["users"]; |
||||
$allowedRoles = $allowedUsersAndRoles["roles"]; |
||||
|
||||
foreach ($user->roles as $role) { |
||||
if (in_array($role, $allowedRoles)) { |
||||
return TRUE; |
||||
} |
||||
} |
||||
|
||||
if (in_array($user->name, $allowedUsers)) { |
||||
return TRUE; |
||||
} |
||||
return FALSE; |
||||
} |
||||
|
||||
//parses our simple xacml policies checking for users or roles that are allowed to ingest |
||||
function getAllowedUsersAndRoles($policyStream) { |
||||
$allowedRoles = array(); |
||||
$allowedUsers = array(); |
||||
$usersAndRoles = array(); |
||||
try { |
||||
$xml = new SimpleXMLElement($policyStream); |
||||
} |
||||
catch (Exception $e) { |
||||
watchdog(t("Fedora_Repository"), t("No roles found in security policy, could not parse policy stream."), NULL, WATCHDOG_ERROR); |
||||
//we may not want to send this to the screen. |
||||
drupal_set_message(t('No roles found in security policy, could not parse policy stream: !message', array('!message' => $e->getMessage())), 'error'); |
||||
return NULL; |
||||
} |
||||
$xml->registerXPathNamespace('default', 'urn:oasis:names:tc:xacml:1.0:policy'); |
||||
|
||||
$conditions = $xml->xpath("//default:Condition"); |
||||
|
||||
foreach ($conditions as $condition) { |
||||
$designator = $condition->Apply->SubjectAttributeDesignator; |
||||
if (empty($designator)) {//$disignator may be wrapped by an or |
||||
$designator=$condition->Apply->Apply->SubjectAttributeDesignator; |
||||
} |
||||
$attributeId = strip_tags($designator['AttributeId']); |
||||
|
||||
if ($attributeId == "fedoraRole") { |
||||
foreach ($condition->Apply->Apply->AttributeValue as $attributeValue) { |
||||
$allowedRoles[] = strip_tags($attributeValue->asXML()); |
||||
} |
||||
foreach ($condition->Apply->Apply->Apply->AttributeValue as $attributeValue) { |
||||
$allowedRoles[] = strip_tags($attributeValue->asXML()); |
||||
} |
||||
} |
||||
if ($attributeId == "urn:fedora:names:fedora:2.1:subject:loginId") { |
||||
foreach ($condition->Apply->Apply->AttributeValue as $attributeValue) { |
||||
$allowedUsers[] = strip_tags($attributeValue->asXML()); |
||||
} |
||||
foreach ($condition->Apply->Apply->Apply->AttributeValue as $attributeValue) { |
||||
$allowedUsers[] = strip_tags($attributeValue->asXML()); |
||||
} |
||||
} |
||||
} |
||||
$usersAndRoles['users'] = $allowedUsers; |
||||
$usersAndRoles['roles'] = $allowedRoles; |
||||
return $usersAndRoles; |
||||
|
||||
} |
||||
// When a user's profile is saved in drupal we will attempt to create a collection for them in Fedora |
||||
// this will be their personal space. In the IR it is editable by users with the same role in the VRE |
||||
// it probably would not be. |
||||
function createPersonalPolicy($user) { |
||||
$doc = new DOMDocument(); |
||||
try { |
||||
$doc->load(drupal_get_path('module', 'Fedora_Repository') . '/policies/noObjectEditPolicy.xml'); |
||||
} |
||||
catch (exception $e) { |
||||
watchdog(t("Fedora_Repository"), t("Problem loading policy file."), NULL, WATCHDOG_ERROR); |
||||
} |
||||
$conditions = $doc->getElementsByTagName('Condition'); |
||||
foreach ($conditions as $condition) { |
||||
$designator = $condition->getElementsByTagName('SubjectAttributeDesignator'); |
||||
foreach ($designator as $des) { |
||||
$attributeId = $des->getAttribute('AttributeId'); |
||||
if ($attributeId == 'fedoraRole') { |
||||
$applies = $condition->getElementsByTagName('Apply'); |
||||
foreach ($applies as $apply) { |
||||
$functionId = $apply->getAttribute('FunctionId'); |
||||
if ($functionId == 'urn:oasis:names:tc:xacml:1.0:function:string-bag') { |
||||
foreach ($user->roles as $role) { |
||||
if (!($role == 'authenticated user' || $role == 'administrator')) { //don't want authenticated user included administrator already is included' |
||||
$newAttributeValue=$doc->createElement('AttributeValue', '<![CDATA['. $role . ']]>'); |
||||
$newAttributeValue->setAttribute('DataType', 'http://www.w3.org/2001/XMLSchema#string'); |
||||
// $newAttributeValue->setAttribute('MustBePresent', 'FALSE'); |
||||
$apply->appendChild($newAttributeValue); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
if ($attributeId == 'urn:fedora:names:fedora:2.1:subject:loginId') { |
||||
$applies = $condition->getElementsByTagName('Apply'); |
||||
foreach ($applies as $apply) { |
||||
$functionId = $apply->getAttribute('FunctionId'); |
||||
if ($functionId == 'urn:oasis:names:tc:xacml:1.0:function:string-bag') { |
||||
$newAttributeValue=$doc->createElement('AttributeValue', $user->name); |
||||
$newAttributeValue->setAttribute('DataType', 'http://www.w3.org/2001/XMLSchema#string'); |
||||
//$newAttributeValue->setAttribute('MustBePresent', 'FALSE'); |
||||
$apply->appendChild($newAttributeValue); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
return $doc; //NULL; //$xml; |
||||
} |
||||
|
||||
/** |
||||
* Add a list of allowed users and roles to the given policy stream and return it. |
||||
* |
||||
* @param string $policy_stream |
||||
* @param array $users_and_roles |
||||
* @return DOMDocument |
||||
*/ |
||||
function set_allowed_users_and_roles(&$policy_stream, $users_and_roles) { |
||||
$allowed_roles = $users_and_roles['roles']; |
||||
$allowed_users = $users_and_roles['users']; |
||||
$dom = new DOMDocument(); |
||||
$dom->loadXML($policy_stream); |
||||
$conditions = $dom->getElementsByTagName('Condition'); |
||||
foreach ($conditions as $condition) { |
||||
$designator = $condition->getElementsByTagName('SubjectAttributeDesignator'); |
||||
foreach ($designator as $des) { |
||||
$attributeId = $des->getAttribute('AttributeId'); |
||||
if ($attributeId == 'fedoraRole') { |
||||
// $applies = $condition->getElementsByTagName('Apply'); |
||||
$applies = $des->parentNode->getElementsByTagName('Apply'); |
||||
foreach ($applies as $apply) { |
||||
$functionId = $apply->getAttribute('FunctionId'); |
||||
if ($functionId == 'urn:oasis:names:tc:xacml:1.0:function:string-bag') { |
||||
foreach ($allowed_roles as $role) { |
||||
if (!($role == 'authenticated user' || $role == 'administrator')) { //don't want authenticated user included administrator already is included' |
||||
$newAttributeValue=$dom->createElement('AttributeValue', $role); |
||||
$newAttributeValue->setAttribute('DataType', 'http://www.w3.org/2001/XMLSchema#string'); |
||||
//$newAttributeValue->setAttribute('MustBePresent', 'FALSE'); |
||||
$apply->appendChild($newAttributeValue); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
if ($attributeId == 'urn:fedora:names:fedora:2.1:subject:loginId') { |
||||
// $applies = $condition->getElementsByTagName('Apply'); |
||||
$applies = $des->parentNode->getElementsByTagName('Apply'); |
||||
foreach ($applies as $apply) { |
||||
$functionId = $apply->getAttribute('FunctionId'); |
||||
if ($functionId == 'urn:oasis:names:tc:xacml:1.0:function:string-bag') { |
||||
foreach ( $allowed_users as $username ) { |
||||
$newAttributeValue=$dom->createElement('AttributeValue', $username ); |
||||
$newAttributeValue->setAttribute('DataType', 'http://www.w3.org/2001/XMLSchema#string'); |
||||
//$newAttributeValue->setAttribute('MustBePresent', 'FALSE'); |
||||
$apply->appendChild($newAttributeValue); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
// $this->collection_policy_stream = $dom->saveXML(); |
||||
return $dom->saveXML(); |
||||
} |
||||
} |
@ -1,270 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
abstract class XMLDatastream { |
||||
|
||||
static $XMLNS = 'http://www.islandora.ca'; |
||||
static $errors = NULL; |
||||
protected $xml = NULL; |
||||
private $valid = NULL; |
||||
protected $forceSchema = FALSE; // if set, the datastream will be validated against the specified schema in self::$SCHEMA_URI instead of |
||||
// reading the schema URI from the datastream. |
||||
public $pid; |
||||
public $dsid; |
||||
|
||||
/** |
||||
* Parses an PID from an identifier. |
||||
* @param string $identifier |
||||
* @return string $pid |
||||
*/ |
||||
public static function getPidFromIdentifier($identifier) { |
||||
return substr($identifier, 0, strpos($identifier, "/")); |
||||
} |
||||
|
||||
/** |
||||
* validPid |
||||
* Validates a fedora PID based on the regexp provided in the fedora |
||||
* 3.3 documentation. |
||||
* http://www.fedora-commons.org/confluence/display/FCR30/Fedora+Identifiers |
||||
* |
||||
* @param String $pid |
||||
* @return boolean $valid |
||||
*/ |
||||
public static function validPid($pid) { |
||||
$valid = FALSE; |
||||
if (strlen(trim($pid)) <= 64 && preg_match('/^([A-Za-z0-9]|-|\.)+:(([A-Za-z0-9])|-|\.|~|_|(%[0-9A-F]{2}))+$/', trim($pid))) { |
||||
$valid = TRUE; |
||||
} |
||||
|
||||
return $valid; |
||||
} |
||||
|
||||
/** |
||||
* validDsid |
||||
* Validates a fedora Dsid based on the the allowed XML standard NCName. |
||||
* The regexp is a "regular" subset of names allowed, it excludes some extended hex characters that are |
||||
* technically permitted. |
||||
* http://www.fedora-commons.org/confluence/display/FCR30/Fedora+Identifiers |
||||
* |
||||
* @param String $pid |
||||
* @return boolean $valid |
||||
*/ |
||||
public static function validDsid($dsid) { |
||||
$valid = FALSE; |
||||
if (strlen(trim($dsid)) <= 64 && preg_match('/^[a-zA-Z0-9\_\-\.]+$/', trim($dsid))) { |
||||
$valid = TRUE; |
||||
} |
||||
|
||||
return $valid; |
||||
} |
||||
|
||||
/** |
||||
* Parses the DSID from an identifier. |
||||
* TODO: combine this method with getPidFromIdentifier? |
||||
* @param string $identifier |
||||
* @return string $dsid |
||||
*/ |
||||
public static function getDSIDFromIdentifier($identifier) { |
||||
$temp = strstr($identifier, "/"); |
||||
return substr($temp, 1); |
||||
} |
||||
|
||||
/** |
||||
* Constructs an XMLDatastream object from the XML file specified. |
||||
* Returns FALSE on failure. |
||||
* |
||||
* @param string $filename |
||||
* @return XMLDatastream $cm |
||||
*/ |
||||
public static function loadFromFile($filename) { |
||||
return new self(file_get_contents($filename)); |
||||
} |
||||
|
||||
/** |
||||
* Constructor |
||||
* NOTE: Use the static constructor methods whenever possible. |
||||
* |
||||
* @param string $xmlStr |
||||
* @param string $pid |
||||
* @param string $dsid |
||||
* @return XMLDatastream $cm |
||||
*/ |
||||
public function __construct($xmlStr, $pid = NULL, $dsid = NULL) { |
||||
libxml_use_internal_errors(true); |
||||
|
||||
$this->pid = $pid; |
||||
$this->dsid = $dsid; |
||||
if ($xmlStr !== NULL) { |
||||
if(is_object($xmlStr) && get_class($xmlStr) == DOMDocument) { |
||||
$this->xml = $xmlStr; |
||||
} |
||||
else { |
||||
$this->xml = new DOMDocument(); |
||||
$this->xml->loadXML($xmlStr); |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Gets the identifier for this XMLDatastream |
||||
* Returns FALSE on failure. |
||||
* |
||||
* NOTE: not available if constructed directly from file. |
||||
* |
||||
* @return string identifier |
||||
*/ |
||||
public function getIdentifier() { |
||||
return ($this->pid != NULL && $this->dsid != NULL) ? $this->pid . '/' . $this->dsid : FALSE; |
||||
} |
||||
|
||||
/** |
||||
* Dumps the XMLDatastream as an XML String |
||||
* |
||||
* |
||||
* @return string xml |
||||
*/ |
||||
public function dumpXml() { |
||||
if ($this->xml == NULL) { |
||||
$this->fetchXml(); |
||||
} |
||||
return $this->xml->saveXml(); |
||||
} |
||||
|
||||
/** |
||||
* Validates the XMLDatastream against the schema location |
||||
* defined by the xmlns:schemaLocation attribute of the root |
||||
* element. If the xmlns:schemaLocation attribute does not exist, |
||||
* then it is assumed to be the old schema and it attempts to convert |
||||
* using the convertFromOldSchema method. |
||||
* |
||||
* TODO: Maybe change it so that it always validates against a known |
||||
* schema. This makes more sense because this class assumes the structure |
||||
* to be known after it has been validated. |
||||
* |
||||
* @return boolean $valid |
||||
*/ |
||||
public function validate() { |
||||
global $user; |
||||
if ($this->valid === NULL) { |
||||
$ret = TRUE; |
||||
if ($this->xml == NULL) { |
||||
$this->fetchXml(); |
||||
} |
||||
// figure out if we're dealing with a new or old schema |
||||
$rootEl = $this->xml->firstChild; |
||||
if (!$rootEl->hasAttributes() || $rootEl->attributes->getNamedItem('schemaLocation') === NULL) { |
||||
//$tmpname = substr($this->pid, strpos($this->pid, ':') + 1); |
||||
$tmpname = user_password(10); |
||||
$this->convertFromOldSchema(); |
||||
drupal_add_js("fedora_repository_print_new_schema_$tmpname = function(tagID) { |
||||
var target = document.getElementById(tagID); |
||||
var content = target.innerHTML; |
||||
var text = '<html><head><title>Title' + |
||||
'</title><body>' + content +'</body></html>'; |
||||
printerWindow = window.open('', '', 'toolbar=no,location=no,' + 'status=no,menu=no,scrollbars=yes,width=650,height=400'); |
||||
printerWindow.document.open(); |
||||
printerWindow.document.write(text); |
||||
}", 'inline'); |
||||
|
||||
if (user_access('administer site configuration')) { |
||||
drupal_set_message('<span id="new_schema_' . $tmpname . '" style="display: none;">' . htmlentities($this->xml->saveXML()) . '</span>Warning: XMLDatastream performed conversion of \'' . $this->getIdentifier() . '\' from old schema. Please update the datastream. The new datastream contents are <a href="javascript:fedora_repository_print_new_schema_' . $tmpname . '(\'new_schema_' . $tmpname . '\')">here.</a> '); |
||||
} |
||||
|
||||
$rootEl = $this->xml->firstChild; |
||||
} |
||||
|
||||
$schemaLocation = NULL; |
||||
if ($this->forceSchema) { |
||||
// hack because you cant easily get the static property value from |
||||
// a subclass. |
||||
$vars = get_class_vars(get_class($this)); |
||||
$schemaLocation = $vars['SCHEMA_URI']; |
||||
} elseif ($rootEl->attributes->getNamedItem('schemaLocation') !== NULL) { |
||||
//figure out where the schema is located and validate. |
||||
list(, $schemaLocation) = preg_split('/\s+/', $rootEl->attributes->getNamedItem('schemaLocation')->nodeValue); |
||||
} |
||||
$schemaLocation = NULL; |
||||
return TRUE; |
||||
if ($schemaLocation !== NULL) { |
||||
if (!$this->xml->schemaValidate($schemaLocation)) { |
||||
$ret = FALSE; |
||||
$errors = libxml_get_errors(); |
||||
foreach ($errors as $err) { |
||||
self::$errors[] = 'XML Error: Line ' . $err->line . ': ' . $err->message; |
||||
} |
||||
} else { |
||||
$this->name = $rootEl->attributes->getNamedItem('name')->nodeValue; |
||||
} |
||||
} else { |
||||
$ret = FALSE; |
||||
self::$errors[] = 'Unable to load schema.'; |
||||
} |
||||
|
||||
$this->valid = $ret; |
||||
} |
||||
|
||||
return $this->valid; |
||||
} |
||||
|
||||
/** |
||||
* Saves the current XML datastream back to fedora. The XML must validate. |
||||
* |
||||
* @return boolean $success |
||||
*/ |
||||
public function saveToFedora() { |
||||
module_load_include('inc', 'Fedora_Repository', 'api/fedora_item'); |
||||
if ($this->validate()) { |
||||
$item = new Fedora_Item($this->pid); |
||||
$item->modify_datastream_by_value($this->dumpXml(), $this->dsid, $this->name, 'application/xml'); |
||||
return TRUE; |
||||
} |
||||
return FALSE; |
||||
} |
||||
|
||||
/** |
||||
* Purges veersions of the datastream newer than and including the start_date. If |
||||
* End date is specified, it can be used to purge a range of versions instead. Date should be in |
||||
* DATE_RFC822 format |
||||
* |
||||
* @param string $start_date |
||||
* @param string $end_date |
||||
* @return boolean $valid |
||||
*/ |
||||
public function purgeVersions($start_date, $end_date = NULL) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$fedora_item = new Fedora_Item($this->pid); |
||||
return $fedora_item->purge_datastream($this->dsid, $start_date, $end_date); |
||||
} |
||||
|
||||
/** |
||||
* Gets the history of the datastream from fedora. |
||||
* Returns false on failure. |
||||
* |
||||
* @return string[] $ret |
||||
*/ |
||||
public function getHistory() { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$fedora_item = new Fedora_Item($this->pid); |
||||
$history = $fedora_item->get_datastream_history($this->dsid); |
||||
|
||||
$ret = FALSE; |
||||
if ($history !== FALSE) { |
||||
$ret = array(); |
||||
foreach ($history as $version) { |
||||
if ($version->versionID !== NULL) |
||||
$ret[] = array('versionID' => $version->versionID, 'createDate' => $version->createDate); |
||||
} |
||||
} |
||||
return $ret; |
||||
} |
||||
|
||||
/** |
||||
* Attempts to convert from the old XML schema to the new by |
||||
* traversing the XML DOM and building a new DOM. When done |
||||
* $this->xml is replaced by the newly created DOM.. |
||||
* |
||||
* @return void |
||||
*/ |
||||
abstract protected function convertFromOldSchema(); |
||||
} |
@ -1,124 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/* |
||||
* Implements a simple class for working with Dublin Core data and exporting it |
||||
* back to XML. Inspiration and design shamelessly stolen from the pyfedora |
||||
* project at http://pypi.python.org/pypi/pyfedora/0.1.0 |
||||
*/ |
||||
|
||||
class Dublin_Core { |
||||
public $dc = array( |
||||
'dc:title' => array(), |
||||
'dc:creator' => array(), |
||||
'dc:subject' => array(), |
||||
'dc:description' => array(), |
||||
'dc:publisher' => array(), |
||||
'dc:contributor' => array(), |
||||
'dc:date' => array(), |
||||
'dc:type' => array(), |
||||
'dc:format' => array(), |
||||
'dc:identifier' => array(), |
||||
'dc:source' => array(), |
||||
'dc:language' => array(), |
||||
'dc:relation' => array(), |
||||
'dc:coverage' => array(), |
||||
'dc:rights' => array(), |
||||
); |
||||
public $owner; |
||||
|
||||
/** |
||||
* Constructs a Dublin_Core object from a Fedora_Item object and populates |
||||
* the $dc array. |
||||
* @param <type> $item |
||||
*/ |
||||
function Dublin_Core($item = NULL) { |
||||
if (!empty($item)) { |
||||
$this->owner = $item; |
||||
$dc_xml = $item->get_datastream_dissemination('DC'); |
||||
$this->dc = self::import_from_xml_string($dc_xml)->dc; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* |
||||
* @param <type> $element_name |
||||
* @param <type> $value |
||||
*/ |
||||
function add_element( $element_name, $value ) { |
||||
if (is_string($value) && is_array($this->dc[$element_name])) { |
||||
$this->dc[$element_name][] = $value; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Replace the given DC element with the values in $values |
||||
* @param string $elemnt_name |
||||
* @param array $values |
||||
*/ |
||||
function set_element($element_name, $values) { |
||||
if (is_array($values)) { |
||||
$this->dc[$element_name] = $values; |
||||
} |
||||
elseif (is_string($values)) { |
||||
$this->dc[$element_name] = array($values); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Serialize this object to XML and return it. |
||||
*/ |
||||
function as_xml( $with_preamble = FALSE ) { |
||||
$dc_xml = new DomDocument(); |
||||
$oai_dc = $dc_xml->createElementNS('http://www.openarchives.org/OAI/2.0/oai_dc/', 'oai_dc:dc'); |
||||
$oai_dc->setAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); |
||||
foreach ($this->dc as $dc_element => $values) { |
||||
if (is_array($values) && !empty($values)) { |
||||
foreach ($values as $value) { |
||||
$new_item = $dc_xml->createElement($dc_element, $value); |
||||
$oai_dc->appendChild($new_item); |
||||
} |
||||
} |
||||
else { |
||||
$new_item = $dc_xml->createElement($dc_element); |
||||
$oai_dc->appendChild($new_item); |
||||
} |
||||
} |
||||
$dc_xml->appendChild($oai_dc); |
||||
return $dc_xml->saveXML(); |
||||
} |
||||
|
||||
static function create_dc_from_dict() { |
||||
|
||||
} |
||||
|
||||
function save($alt_owner = NULL) { |
||||
$item_to_update = (!empty($alt_owner) ? $alt_owner : $this->owner); |
||||
// My Java roots showing, trying to do polymorphism in PHP. |
||||
if (!empty($item_to_update)) { |
||||
$item_to_update->modify_datastream_by_value($this->as_xml(), 'DC', 'Default Dublin Core Metadata', 'text/xml'); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Creates a new instance of the class by parsing dc_xml |
||||
* @param string $dc_xml |
||||
* @return Dublin_Core |
||||
*/ |
||||
static function import_from_xml_string($dc_xml) { |
||||
$dc_doc = new DomDocument(); |
||||
if ($dc_doc->loadXML($dc_xml)) { |
||||
$oai_dc = $dc_doc->getElementsByTagNameNS('http://purl.org/dc/elements/1.1/', '*'); |
||||
$new_dc = new Dublin_Core(); |
||||
foreach ($oai_dc as $child) { |
||||
array_push($new_dc->dc[$child->nodeName], $child->nodeValue); |
||||
} |
||||
return $new_dc; |
||||
} |
||||
else { |
||||
return NULL; |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
@ -1,133 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/* |
||||
* Operations that affect a Fedora repository at a collection level. |
||||
*/ |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'CollectionClass'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
module_load_include('module', 'fedora_repository'); |
||||
|
||||
/** |
||||
* Exports a fedora collection object and all of its children in a format |
||||
* that will let you import them into another repository. |
||||
* @param <type> $format |
||||
*/ |
||||
function export_collection($collection_pid, $relationship = 'isMemberOfCollection', $format = 'info:fedora/fedora-system:FOXML-1.1' ) { |
||||
$collection_item = new Fedora_Item($collection_pid); |
||||
$foxml = $collection_item->export_as_foxml(); |
||||
|
||||
$file_dir = file_directory_path(); |
||||
|
||||
// Create a temporary directory to contain the exported FOXML files. |
||||
$container = tempnam($file_dir, 'export_'); |
||||
file_delete($container); |
||||
print $container; |
||||
if (mkdir($container) && mkdir($container . '/'. $collection_pid)) { |
||||
$foxml_dir = $container . '/'. $collection_pid; |
||||
$file = fopen($foxml_dir . '/'. $collection_pid . '.xml', 'w'); |
||||
fwrite($file, $foxml); |
||||
fclose($file); |
||||
|
||||
$member_pids = get_related_items_as_array($collection_pid, $relationship); |
||||
foreach ($member_pids as $member) { |
||||
$file = fopen($foxml_dir . '/'. $member . '.xml', 'w'); |
||||
$item = new Fedora_Item($member); |
||||
$item_foxml = $item->export_as_foxml(); |
||||
fwrite($file, $item_foxml); |
||||
fclose($file); |
||||
} |
||||
if (system("cd $container;zip -r $collection_pid.zip $collection_pid/* >/dev/NULL") == 0) { |
||||
header("Content-type: application/zip"); |
||||
header('Content-Disposition: attachment; filename="' . $collection_pid . '.zip'. '"'); |
||||
$fh = fopen($container . '/'. $collection_pid . '.zip', 'r'); |
||||
$the_data = fread($fh, filesize($container . '/'. $collection_pid . '.zip')); |
||||
fclose($fh); |
||||
echo $the_data; |
||||
} |
||||
if (file_exists($container . '/'. $collection_pid)) { |
||||
system("rm -rf $container"); // I'm sorry. |
||||
} |
||||
} |
||||
else { |
||||
drupal_set_message("Error creating temp directory for batch export.", 'error'); |
||||
return FALSE; |
||||
} |
||||
return TRUE; |
||||
} |
||||
|
||||
/** |
||||
* Returns an array of pids that match the query contained in teh collection |
||||
* object's QUERY datastream or in the suppled $query parameter. |
||||
* @param <type> $collection_pid |
||||
* @param <type> $query |
||||
* @param <type> $query_format R |
||||
*/ |
||||
function get_related_items_as_xml($collection_pid, $relationship = array('isMemberOfCollection'), $limit = 10000, $offset = 0, $active_objects_only = TRUE, $cmodel = NULL, $orderby = '$title') { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
$collection_item = new Fedora_Item($collection_pid); |
||||
|
||||
global $user; |
||||
if (!fedora_repository_access(OBJECTHELPER :: $OBJECT_HELPER_VIEW_FEDORA, $pid, $user)) { |
||||
drupal_set_message(t("You do not have access to Fedora objects within the attempted namespace or access to Fedora denied."), 'error'); |
||||
return array(); |
||||
} |
||||
|
||||
$query_string = 'select $object $title $content from <#ri> |
||||
where ($object <dc:title> $title |
||||
and $object <fedora-model:hasModel> $content |
||||
and ('; |
||||
|
||||
if (is_array($relationship)) { |
||||
foreach ($relationship as $rel) { |
||||
$query_string .= '$object <fedora-rels-ext:'. $rel . '> <info:fedora/'. $collection_pid . '>'; |
||||
if (next($relationship)) { |
||||
$query_string .= ' OR '; |
||||
} |
||||
} |
||||
} |
||||
elseif (is_string($relationship)) { |
||||
$query_string .= '$object <fedora-rels-ext:'. $relationship . '> <info:fedora/'. $collection_pid . '>'; |
||||
} |
||||
else { |
||||
return ''; |
||||
} |
||||
|
||||
$query_string .= ') '; |
||||
$query_string .= $active_objects_only ? 'and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>' : ''; |
||||
|
||||
if ($cmodel) { |
||||
$query_string .= ' and $content <mulgara:is> <info:fedora/' . $cmodel . '>'; |
||||
} |
||||
|
||||
$query_string .= ') |
||||
minus $content <mulgara:is> <info:fedora/fedora-system:FedoraObject-3.0> |
||||
order by '.$orderby; |
||||
|
||||
$query_string = htmlentities(urlencode($query_string)); |
||||
|
||||
|
||||
$content = ''; |
||||
$url = variable_get('fedora_repository_url', 'http://localhost:8080/fedora/risearch'); |
||||
$url .= "?type=tuples&flush=TRUE&format=Sparql&limit=$limit&offset=$offset&lang=itql&stream=on&query=". $query_string; |
||||
$content .= do_curl($url); |
||||
|
||||
return $content; |
||||
} |
||||
|
||||
function get_related_items_as_array($collection_pid, $relationship = 'isMemberOfCollection', $limit = 10000, $offset = 0, $active_objects_only = TRUE, $cmodel = NULL, $orderby = '$title') { |
||||
$content = get_related_items_as_xml($collection_pid, $relationship, $limit, $offset, $active_objects_only, $cmodel, $orderby); |
||||
if (empty($content)) { |
||||
return array(); |
||||
} |
||||
|
||||
$content = new SimpleXMLElement($content); |
||||
|
||||
$resultsarray = array(); |
||||
foreach ($content->results->result as $result) { |
||||
$resultsarray[] = substr($result->object->attributes()->uri, 12); // Remove 'info:fedora/'. |
||||
} |
||||
return $resultsarray; |
||||
} |
@ -1,179 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
define('FOXML_10', 'info:fedora/fedora-system:FOXML-1.0'); |
||||
define('FOXML_11', 'info:fedora/fedora-system:FOXML-1.1'); |
||||
define('METS_10', 'info:fedora/fedora-system:METSFedoraExt-1.0'); |
||||
define('METS_11', 'info:fedora/fedora-system:METSFedoraExt-1.1'); |
||||
define('ATOM_11', 'info:fedora/fedora-system:ATOM-1.1'); |
||||
define('ATOMZip_11', 'info:fedora/fedora-system:ATOMZip-1.1'); |
||||
|
||||
/** |
||||
* Function to to export all objects assocoiated with a given pid to the export area |
||||
*/ |
||||
function export_to_export_area($pid, $foxml_dir, $ob_dir, &$log = array()) { |
||||
if (!$paths = export_objects_for_pid($pid, $ob_dir, $log)) { |
||||
return FALSE; |
||||
} |
||||
|
||||
if (!export_foxml_for_pid($pid, $foxml_dir, $paths, $log)) { |
||||
return FALSE; |
||||
} |
||||
|
||||
return TRUE; |
||||
} |
||||
|
||||
function export_objects_for_pid($pid, $dir, &$log) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
$item = new Fedora_Item($pid); |
||||
if (!$object = $item->get_datastreams_list_as_SimpleXML($pid)) { |
||||
$log[] = log_line(t("Failed to get datastream %dsid for pid %pid", array('%dsid' => $ds->ID, '%pid' => $pid)), 'error'); |
||||
return FALSE; |
||||
} |
||||
|
||||
// Datastreams added as a result of the ingest process |
||||
$ignore_dsids = array('QUERY'); |
||||
|
||||
$paths = array(); |
||||
foreach ($object->datastreamDef as $ds) { |
||||
if (!in_array($ds->ID, $ignore_dsids)) { |
||||
$file = $dir .'/'. $ds->label .'.'. get_file_extension($ds->MIMEType); |
||||
$paths[$ds->ID] = $file; |
||||
|
||||
//$content = $ob_helper->getDatastreamDissemination($pid, $ds->ID); |
||||
if ($content = $ob_helper->getStream($pid, $ds->ID, FALSE)) { |
||||
if (!$fp = @fopen($file, 'w')) { |
||||
$log[] = log_line(t("Failed to open file %file to write datastream %dsid for pid %pid", array('%file' => $file, '%dsid' => $ds->ID, '%pid' => $pid)), 'error'); |
||||
return FALSE; |
||||
} |
||||
fwrite($fp, $content); |
||||
fclose($fp); |
||||
} |
||||
else { |
||||
$log[] = log_line(t("Failed to get datastream %dsid for pid %pid", array('%dsid' => $ds->ID, '%pid' => $pid)), 'error'); |
||||
} |
||||
} |
||||
} |
||||
return $paths; |
||||
} |
||||
|
||||
function export_foxml_for_pid($pid, $dir, $paths, &$log, $format = FOXML_11, $remove_islandora = FALSE) { |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
$ob_helper = new ObjectHelper(); |
||||
if (!$object_xml = $ob_helper->getObject($pid, 'migrate', $format)) { |
||||
$log[] = log_line(t("Failed to get foxml for %pid", array('%pid' => $pid)), 'error'); |
||||
return FALSE; |
||||
} |
||||
|
||||
$foxml = new DOMDocument(); |
||||
$foxml->loadXML($object_xml); |
||||
|
||||
$xpath = new DOMXpath($foxml); |
||||
|
||||
// Remove rdf elements added during ingest (if present) |
||||
if ($remove_islandora) { |
||||
$xpath->registerNamespace('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'); |
||||
$descNode = $xpath->query("//rdf:RDF/rdf:Description")->item(0); |
||||
|
||||
if ($model = $descNode->getElementsByTagName('hasModel')->item(0)) { |
||||
$descNode->removeChild($model); |
||||
} |
||||
|
||||
if ($member = $descNode->getElementsByTagName('rel:isMemberOfCollection')->item(0)) { |
||||
$descNode->removeChild($member); |
||||
} |
||||
} |
||||
|
||||
if ($remove_islandora) { |
||||
// Update object paths in the foxml for this pid |
||||
switch ($format) { |
||||
case FOXML_10: |
||||
case FOXML_11: |
||||
|
||||
$disallowed_groups = array('E', 'R'); |
||||
|
||||
// Update datastream uris |
||||
$xpath->registerNamespace('foxml', 'info:fedora/fedora-system:def/foxml#'); |
||||
foreach ($xpath->query("//foxml:datastream[@ID]") as $dsNode) { |
||||
|
||||
// Don't update datastreams having external uris |
||||
if (in_array($dsNode->getAttribute('CONTROL_GROUP'), $disallowed_groups)) { |
||||
continue; |
||||
} |
||||
|
||||
$dsId = $dsNode->getAttribute('ID'); |
||||
|
||||
// Remove QUERY datastream |
||||
if ($dsId == "QUERY") { |
||||
$parentNode = $xpath->query('/foxml:digitalObject')->item(0); |
||||
$parentNode->removeChild($dsNode); |
||||
} |
||||
|
||||
foreach ($dsNode->getElementsByTagName('*') as $contentNode) { |
||||
if ($str = $contentNode->getAttribute('REF')) { |
||||
$contentNode->setAttribute('REF', url($paths[$dsId], array('absolute' => TRUE))); |
||||
} |
||||
} |
||||
} |
||||
break; |
||||
|
||||
case METS_10: |
||||
case METS_11: |
||||
// Update datastream uris |
||||
$xpath->registerNamespace('METS', 'http://www.loc.gov/METS/'); |
||||
foreach ($xpath->query('//METS:fileGrp[@ID="DATASTREAMS"]/METS:fileGrp') as $dsNode) { |
||||
|
||||
$dsId = $dsNode->getAttribute('ID'); |
||||
|
||||
// Remove QUERY datastream |
||||
if ($dsId == "QUERY") { |
||||
$parentNode = $xpath->query('//METS:fileGrp[@ID="DATASTREAMS"]')->item(0); |
||||
$parentNode->removeChild($dsNode); |
||||
} |
||||
|
||||
$xpath->registerNamespace('xlink', 'http://www.loc.gov/METS/'); |
||||
foreach ($xpath->query('METS:file[@OWNERID!="E"][@OWNERID!="R"]/METS:FLocat[@xlink:href]', $dsNode) as $Floc) { |
||||
$Floc->setAttribute('xlink:href', url($paths[$dsId], array('absolute' => TRUE))); |
||||
} |
||||
/* |
||||
foreach ($dsNode->getElementsByTagName('METS:file') as $contentNode) { |
||||
// Don't update datastreams having external uris |
||||
if (in_array($dsNode->getAttribute('OWNERID'), $disallowed_groups)) { |
||||
continue; |
||||
} |
||||
|
||||
foreach ($xpath->('METS:FLocat[@xlink:href]', $contentNode) as $Floc) { |
||||
$Floc->setAttribute('xlink:href', url($paths[$dsId], array('absolute' => true))); |
||||
} |
||||
`} |
||||
*/ |
||||
} |
||||
|
||||
break; |
||||
|
||||
default: |
||||
$log[] = log_line(t("Unknown or invalid format: ". $format), 'error'); |
||||
return FALSE; |
||||
} |
||||
} //if $remove_islandora |
||||
|
||||
$file = $dir .'/'. $pid .'.xml'; |
||||
if (!$foxml->save($file)) { |
||||
$log[] = log_line(t("Failed to write datastream %dsid for pid %pid to %file", array('%dsid' => $ds->ID, '%pid' => $pid, '%file' => $file)), 'error'); |
||||
return FALSE; |
||||
} |
||||
else { |
||||
$log[] = log_line(t("Exported %pid to %file", array('%pid' => $pid, '%file' => $file)), 'info'); |
||||
} |
||||
|
||||
return TRUE; |
||||
} |
||||
|
||||
function get_file_extension($mimeType) { |
||||
return substr(strstr($mimeType, '/'), 1); |
||||
} |
||||
|
||||
function log_line($msg, $severity = 'info', $sep = "\t") { |
||||
return date("Y-m-d H:i:s") . $sep . ucfirst($severity) . $sep . $msg; |
||||
} |
@ -1,799 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
define('RELS_EXT_URI', 'info:fedora/fedora-system:def/relations-external#'); |
||||
define("FEDORA_MODEL_URI", 'info:fedora/fedora-system:def/model#'); |
||||
|
||||
class Fedora_Item { |
||||
|
||||
public $pid = NULL; // The $pid of the fedora object represented by an instance of this class. |
||||
public $objectProfile = NULL; |
||||
private $datastreams_list = NULL; // A SimpleXML object to store a list of this item's datastreams |
||||
public $datastreams = NULL; |
||||
private static $connection_helper = NULL; |
||||
private static $instantiated_pids = array(); |
||||
|
||||
/** |
||||
* Create an object to represent an item in the Fedora repository. |
||||
* Throws a SOAPException if the PID is not in the repository. |
||||
* |
||||
* @param string $pid |
||||
* @return Fedora_Item |
||||
*/ |
||||
function __construct($pid) { |
||||
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
|
||||
$this->pid = $pid; |
||||
if (isset(Fedora_Item::$instantiated_pids[$pid])) { |
||||
$this->objectProfile = & Fedora_Item::$instantiated_pids[$pid]->objectProfile; |
||||
$this->datastreams = & Fedora_Item::$instantiated_pids[$pid]->datastreams; |
||||
$this->datastreams_list = & Fedora_Item::$instantiated_pids[$pid]->datastreams_list; |
||||
} |
||||
else { |
||||
if (empty(self::$connection_helper)) { |
||||
self::$connection_helper = new ConnectionHelper(); |
||||
} |
||||
|
||||
$raw_objprofile = $this->soap_call('getObjectProfile', array('pid' => $this->pid, 'asOfDateTime' => "")); |
||||
|
||||
if (!empty($raw_objprofile)) { |
||||
$this->objectProfile = $raw_objprofile->objectProfile; |
||||
$this->datastreams = $this->get_datastreams_list_as_array(); |
||||
} |
||||
else { |
||||
$this->objectProfile = ''; |
||||
$this->datastreams = array(); |
||||
} |
||||
Fedora_Item::$instantiated_pids[$pid] = &$this; |
||||
} |
||||
} |
||||
|
||||
function exists() { |
||||
return (!empty($this->objectProfile)); |
||||
} |
||||
|
||||
function add_datastream_from_file($datastream_file, $datastream_id, $datastream_label = NULL, $datastream_mimetype = '', $controlGroup = 'M', $logMessage = null) { |
||||
module_load_include('inc', 'fedora_repository', 'MimeClass'); |
||||
if (empty($datastream_mimetype)) { |
||||
// Get mime type from the file extension. |
||||
$mimetype_helper = new MimeClass(); |
||||
$datastream_mimetype = $mimetype_helper->getType($datastream_file); |
||||
} |
||||
$original_path = $datastream_file; |
||||
// Temporarily move file to a web-accessible location. |
||||
file_copy($datastream_file, file_directory_path()); |
||||
$datastream_url = drupal_urlencode($datastream_file); |
||||
$url = file_create_url($datastream_url); |
||||
|
||||
$return_value = $this->add_datastream_from_url($url, $datastream_id, $datastream_label, $datastream_mimetype, $controlGroup, $logMessage); |
||||
|
||||
if ($original_path != $datastream_file) { |
||||
file_delete($datastream_file); |
||||
} |
||||
return $return_value; |
||||
} |
||||
|
||||
function add_datastream_from_url($datastream_url, $datastream_id, $datastream_label = NULL, $datastream_mimetype = '', $controlGroup = 'M', $logMessage = null) { |
||||
if (empty($datastream_label)) { |
||||
$datastream_label = $datastream_id; |
||||
} |
||||
|
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $datastream_id, |
||||
'altIDs' => NULL, |
||||
'dsLabel' => $datastream_label, |
||||
'versionable' => TRUE, |
||||
'MIMEType' => $datastream_mimetype, |
||||
'formatURI' => NULL, |
||||
'dsLocation' => $datastream_url, |
||||
'controlGroup' => $controlGroup, |
||||
'dsState' => 'A', |
||||
'checksumType' => 'DISABLED', |
||||
'checksum' => 'none', |
||||
'logMessage' => ($logMessage != null) ? $logMessage : 'Ingested object ' . $datastream_id |
||||
); |
||||
|
||||
|
||||
return $this->soap_call( 'addDataStream', $params ); |
||||
|
||||
} |
||||
|
||||
function add_datastream_from_string($str, $datastream_id, $datastream_label = NULL, $datastream_mimetype = 'text/xml', $controlGroup = 'M', $logMessage = null) { |
||||
$dir = sys_get_temp_dir(); |
||||
$tmpfilename = tempnam($dir, 'fedoratmp'); |
||||
$tmpfile = fopen($tmpfilename, 'w'); |
||||
fwrite($tmpfile, $str, strlen($str)); |
||||
fclose($tmpfile); |
||||
$returnvalue = $this->add_datastream_from_file($tmpfilename, $datastream_id, $datastream_label, $datastream_mimetype, $controlGroup, $logMessage); |
||||
unlink($tmpfilename); |
||||
return $returnvalue; |
||||
} |
||||
|
||||
/** |
||||
* Add a relationship string to this object's RELS-EXT. |
||||
* does not support rels-int yet. |
||||
* @param string $relationship |
||||
* @param <type> $object |
||||
*/ |
||||
function add_relationship($relationship, $object, $namespaceURI = RELS_EXT_URI) { |
||||
$ds_list = $this->get_datastreams_list_as_array(); |
||||
|
||||
if (empty($ds_list['RELS-EXT'])) { |
||||
$this->add_datastream_from_string(' <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/' . $this->pid . '"> |
||||
</rdf:Description> |
||||
</rdf:RDF>', 'RELS-EXT', 'Fedora object-to-object relationship metadata', 'text/xml', 'X'); |
||||
} |
||||
|
||||
$relsext = $this->get_datastream_dissemination('RELS-EXT'); |
||||
|
||||
if (substr($object, 0, 12) != 'info:fedora/') { |
||||
$object = "info:fedora/$object"; |
||||
} |
||||
|
||||
$relsextxml = new DomDocument(); |
||||
|
||||
$relsextxml->loadXML($relsext); |
||||
$description = $relsextxml->getElementsByTagNameNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'Description'); |
||||
if ($description->length == 0) { |
||||
$description = $relsextxml->getElementsByTagNameNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'description'); |
||||
} |
||||
$description = $description->item(0); |
||||
|
||||
// Create the new relationship node. |
||||
$newrel = $relsextxml->createElementNS($namespaceURI, $relationship); |
||||
|
||||
$newrel->setAttribute('rdf:resource', $object); |
||||
|
||||
$description->appendChild($newrel); |
||||
$this->modify_datastream_by_value($relsextxml->saveXML(), 'RELS-EXT', "Fedora Object-to-Object Relationship Metadata", 'text/xml'); |
||||
//print ($description->dump_node()); |
||||
/* |
||||
$params = array( 'pid' => $this->pid, |
||||
'relationship' => $relationship, |
||||
'object' => $object, |
||||
'isLiteral' => FALSE, |
||||
'datatype' => '', |
||||
); |
||||
|
||||
return $this->soap_call( 'addRelationship', $params ); |
||||
*/ |
||||
} |
||||
|
||||
/** |
||||
* Removes the given relationship from the item's RELS-EXT and re-saves it. |
||||
* @param string $relationship |
||||
* @param string $object |
||||
*/ |
||||
function purge_relationship($relationship, $object) { |
||||
$relsext = $this->get_datastream_dissemination('RELS-EXT'); |
||||
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#'; |
||||
// Pre-pend a namespace prefix to recognized relationships |
||||
|
||||
switch ($relationship) { |
||||
case 'rel:isMemberOf': |
||||
case 'fedora:isMemberOf': |
||||
$relationship = "isMemberOf"; |
||||
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#'; |
||||
break; |
||||
case "rel:isMemberOfCollection": |
||||
case "fedora:isMemberOfCollection": |
||||
$relationship = "isMemberOfCollection"; |
||||
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#'; |
||||
break; |
||||
case "fedora:isPartOf": |
||||
$relationship = "isPartOf"; |
||||
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#'; |
||||
break; |
||||
} |
||||
|
||||
if (substr($object, 0, 12) != 'info:fedora/') { |
||||
$object = "info:fedora/$object"; |
||||
} |
||||
|
||||
$relsextxml = new DomDocument(); |
||||
$relsextxml->loadXML($relsext); |
||||
$modified = FALSE; |
||||
$rels = $relsextxml->getElementsByTagNameNS($namespaceURI, $relationship); |
||||
if (!empty($rels)) { |
||||
foreach ($rels as $rel) { |
||||
if ($rel->getAttributeNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'resource') == $object) { |
||||
$rel->parentNode->removeChild($rel); |
||||
$modified = TRUE; |
||||
} |
||||
} |
||||
} |
||||
if ($modified) { |
||||
$this->modify_datastream_by_value($relsextxml->saveXML(), 'RELS-EXT', "Fedora Object-to-Object Relationship Metadata", 'text/xml'); |
||||
} |
||||
return $modified; |
||||
//print ($description->dump_node()); |
||||
} |
||||
|
||||
function export_as_foxml() { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'format' => 'info:fedora/fedora-system:FOXML-1.1', |
||||
'context' => 'migrate', |
||||
); |
||||
$result = self::soap_call('export', $params); |
||||
return $result->objectXML; |
||||
} |
||||
|
||||
/** |
||||
* Does a search using the "query" format followed by the Fedora REST APi. |
||||
* |
||||
* @param string $pattern to search for, including wildcards. |
||||
* @param string $field The field to search on, e.g. pid, title, cDate. See http://www.fedora-commons.org/confluence/display/FCR30/REST+API#RESTAPI-findObjects for details |
||||
* @param int $max_results not used at this time |
||||
* @return Array of pid => title pairs that match the results |
||||
*/ |
||||
static function find_objects_by_pattern($pattern = '*', $field = 'pid', $max_results = 100, $resultFields = array()) { |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
|
||||
$pattern = drupal_urlencode($pattern); |
||||
$done = FALSE; |
||||
$cursor = 0; |
||||
$session_token = ''; |
||||
$i = 0; |
||||
$results = array(); |
||||
while (!$done && $i < 5) { |
||||
$i++; |
||||
$url = variable_get('fedora_base_url', 'http://localhost:8080/fedora'); |
||||
if ($cursor == 0) { |
||||
$url .= "/objects?query=$field~$pattern&pid=true&title=true&resultFormat=xml&maxResults=$max_results"; |
||||
} |
||||
else { |
||||
$url .= "/objects?pid=true&title=truesessionToken=$session_token&resultFormat=xml&maxResults=$max_results"; |
||||
} |
||||
|
||||
if (count($resultFields) > 0) { |
||||
$url .= '&' . join('=true&', $resultFields) . '=true'; |
||||
} |
||||
|
||||
$resultxml = do_curl($url); |
||||
|
||||
libxml_use_internal_errors(TRUE); |
||||
$resultelements = simplexml_load_string($resultxml); |
||||
if ($resultelements === FALSE) { |
||||
libxml_clear_errors(); |
||||
break; |
||||
} |
||||
$cursor += count($resultelements->resultList->objectFields); |
||||
if (count($resultelements->resultList->objectFields) < $max_results |
||||
|| count($resultelements->resultList->objectFields) == 0) { |
||||
$done = TRUE; |
||||
} |
||||
foreach ($resultelements->resultList->objectFields as $obj) { |
||||
|
||||
$ret = (string) $obj->title; |
||||
if (count($resultFields) > 0) { |
||||
$ret = array('title' => $ret); |
||||
foreach ($resultFields as $field) { |
||||
$ret[$field] = (string) $obj->$field; |
||||
} |
||||
} |
||||
$results[(string) $obj->pid] = $ret; |
||||
$cursor++; |
||||
if ($cursor >= $max_results) { |
||||
$done = TRUE; |
||||
break; |
||||
} |
||||
} |
||||
$session_token = $resultelements->listSession->token; |
||||
$done = !empty($session_token); |
||||
} |
||||
return $results; |
||||
} |
||||
|
||||
function get_datastream_dissemination($dsid, $as_of_date_time = "") { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsid, |
||||
'asOfDateTime' => $as_of_date_time, |
||||
); |
||||
$object = self::soap_call('getDataStreamDissemination', $params); |
||||
if (!empty($object)) { |
||||
$content = $object->dissemination->stream; |
||||
$content = trim($content); |
||||
} |
||||
else { |
||||
$content = NULL; |
||||
} |
||||
return $content; |
||||
} |
||||
|
||||
function get_datastream($dsid, $as_of_date_time = "") { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsid, |
||||
'asOfDateTime' => $as_of_date_time, |
||||
); |
||||
$object = self::soap_call('getDatastream', $params); |
||||
|
||||
return $object->datastream; |
||||
} |
||||
|
||||
function get_datastream_history($dsid) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsid |
||||
); |
||||
$object = self::soap_call('getDatastreamHistory', $params); |
||||
$ret = FALSE; |
||||
if (!empty($object)) { |
||||
$ret = $object->datastream; |
||||
} |
||||
|
||||
return $ret; |
||||
} |
||||
|
||||
function get_dissemination($service_definition_pid, $method_name, $parameters = array(), $as_of_date_time = null) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'serviceDefinitionPid' => $service_definition_pid, |
||||
'methodName' => $method_name, |
||||
'parameters' => $parameters, |
||||
'asOfDateTime' => $as_of_date_time, |
||||
); |
||||
$object = self::soap_call('getDissemination', $params); |
||||
if (!empty($object)) { |
||||
$content = $object->dissemination->stream; |
||||
$content = trim($content); |
||||
} |
||||
else { |
||||
$content = ""; |
||||
} |
||||
return $content; |
||||
} |
||||
|
||||
/** |
||||
* Retrieves and returns a SimpleXML list of this item's datastreams, and stores them |
||||
* as an instance variable for caching purposes. |
||||
* |
||||
* @return SimpleXMLElement |
||||
*/ |
||||
function get_datastreams_list_as_SimpleXML() { |
||||
//if ( empty( $this->datastreams_list ) ) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'asOfDateTime' => "" |
||||
); |
||||
|
||||
$this->datastreams_list = $this->soap_call('listDataStreams', $params); |
||||
//} |
||||
return $this->datastreams_list; |
||||
} |
||||
|
||||
/** |
||||
* * DatastreamControlGroup controlGroup - String restricted to the values of "X", "M", "R", or "E" (InlineXML,Managed Content,Redirect, or External Referenced). |
||||
* String ID - The datastream ID (64 characters max). |
||||
* String versionID - The ID of the most recent datastream version |
||||
* String[] altIDs - Alternative IDs for the datastream, if any. |
||||
* String label - The Label of the datastream. |
||||
* boolean versionable - Whether the datastream is versionable. |
||||
* String MIMEType - The mime-type for the datastream, if set. |
||||
* String formatURI - The format uri for the datastream, if set. |
||||
* String createDate - The date the first version of the datastream was created. |
||||
* long size - The size of the datastream in Fedora. Only valid for inline XML metadata and managed content datastreams. |
||||
* String state - The state of the datastream. Will be "A" (active), "I" (inactive) or "D" (deleted). |
||||
* String location - If the datastream is an external reference or redirect, the url to the contents. TODO: Managed? |
||||
* String checksumType - The algorithm used to compute the checksum. One of "DEFAULT", "DISABLED", "MD5", "SHA-1", "SHA-256", "SHA-385", "SHA-512". |
||||
* String checksum - The value of the checksum represented as a hexadecimal string. |
||||
|
||||
* |
||||
* @param string $dsid |
||||
* @return datastream object |
||||
* get the mimetype size etc. in one shot. instead of iterating throught the datastream list for what we need |
||||
*/ |
||||
function get_datastream_info($dsid, $as_of_date_time = "") { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsid, |
||||
'asOfDateTime' => $as_of_date_time |
||||
); |
||||
|
||||
return $this->soap_call('getDatastream', $params); |
||||
} |
||||
|
||||
/** |
||||
* Returns an associative array of this object's datastreams. Results look like this: |
||||
* |
||||
* 'DC' => |
||||
* array |
||||
* 'label' => string 'Dublin Core Record for this object' (length=34) |
||||
* 'MIMEType' => string 'text/xml' (length=8) |
||||
* 'RELS-EXT' => |
||||
* array |
||||
* 'label' => string 'RDF Statements about this object' (length=32) |
||||
* 'MIMEType' => string 'application/rdf+xml' (length=19) |
||||
* |
||||
* @return array |
||||
*/ |
||||
function get_datastreams_list_as_array() { |
||||
$this->get_datastreams_list_as_SimpleXML(); |
||||
$ds_list = array(); |
||||
if ($this->datastreams_list != FALSE) { |
||||
|
||||
// This is a really annoying edge case: if there is only one |
||||
// datastream, instead of returning it as an array, only |
||||
// the single item will be returned directly. We have to |
||||
// check for this. |
||||
if (count($this->datastreams_list->datastreamDef) >= 2) { |
||||
foreach ($this->datastreams_list->datastreamDef as $ds) { |
||||
if (!is_object($ds)) { |
||||
print_r($ds); |
||||
} |
||||
$ds_list[$ds->ID]['label'] = $ds->label; |
||||
$ds_list[$ds->ID]['MIMEType'] = $ds->MIMEType; |
||||
$ds_list[$ds->ID]['URL'] = $this->url() . '/' . $ds->ID . '/' . drupal_urlencode($ds->label); |
||||
} |
||||
} |
||||
else { |
||||
$ds = $this->datastreams_list->datastreamDef; |
||||
$ds_list[$ds->ID]['label'] = $ds->label; |
||||
$ds_list[$ds->ID]['MIMEType'] = $ds->MIMEType; |
||||
$ds_list[$ds->ID]['URL'] = $this->url() . '/' . $ds->ID . '/' . drupal_urlencode($ds->label); |
||||
} |
||||
} |
||||
|
||||
return $ds_list; |
||||
} |
||||
|
||||
/** |
||||
* Returns a MIME type string for the given Datastream ID. |
||||
* |
||||
* @param string $dsid |
||||
* @return string |
||||
*/ |
||||
function get_mimetype_of_datastream($dsid) { |
||||
$this->get_datastreams_list_as_SimpleXML(); |
||||
|
||||
$mimetype = ''; |
||||
foreach ($datastream_list as $datastream) { |
||||
foreach ($datastream as $datastreamValue) { |
||||
if ($datastreamValue->ID == $dsid) { |
||||
return $datastreamValue->MIMEType; |
||||
} |
||||
} |
||||
} |
||||
|
||||
return ''; |
||||
} |
||||
|
||||
/** |
||||
* Currently the Fedora API call getRelationships is reporting an uncaught |
||||
* exception so we will parse the RELS-EXT ourselves and simulate the |
||||
* documented behaviour. |
||||
* @param String $relationship - filter the results to match this string. |
||||
*/ |
||||
function get_relationships($relationship = NULL) { |
||||
$relationships = array(); |
||||
try { |
||||
$relsext = $this->get_datastream_dissemination('RELS-EXT'); |
||||
} catch (exception $e) { |
||||
drupal_set_message("Error retrieving RELS-EXT of object $pid", 'error'); |
||||
return $relationships; |
||||
} |
||||
|
||||
// Parse the RELS-EXT into an associative array. |
||||
$relsextxml = new DOMDocument(); |
||||
$relsextxml->loadXML($relsext); |
||||
$relsextxml->normalizeDocument(); |
||||
$rels = $relsextxml->getElementsByTagNameNS('info:fedora/fedora-system:def/relations-external#', '*'); |
||||
|
||||
foreach ($rels as $child) { |
||||
if (empty($relationship) || preg_match("/$relationship/", $child->tagName)) { |
||||
$relationships[] = array( |
||||
'subject' => $this->pid, |
||||
'predicate' => $child->tagName, |
||||
'object' => substr($child->getAttributeNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'resource'), 12), |
||||
); |
||||
} |
||||
} |
||||
return $relationships; |
||||
//$children = $relsextxml->RDF->description; |
||||
//$children = $relsextxml->RDF->description; |
||||
//$params = array( 'pid' => $this->pid, |
||||
// 'relationship' => 'NULL' ); |
||||
//return $this->soap_call( 'getRelationships', $params ); |
||||
} |
||||
|
||||
/** |
||||
* Creates a RELS-EXT XML stream from the supplied array and saves it to |
||||
* the item on the server. |
||||
* @param <type> $relationships |
||||
*/ |
||||
function save_relationships($relationships) { |
||||
// Verify the array format and that it isn't empty. |
||||
if (!empty($relationships)) { |
||||
$relsextxml = '<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:fedora="info:fedora/fedora-system:def/relations-external#" xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">' |
||||
. '<rdf:description rdf:about="' . $this->pid . '">'; |
||||
|
||||
foreach ($relationships as $rel) { |
||||
if (empty($rel['subject']) || empty($rel['predicate']) || empty($rel['object']) || $rel['subject'] != 'info:fedora/' . $this->pid) { |
||||
// drupal_set_message should use parameterized variables, not interpolated. |
||||
drupal_set_message("Error with relationship format: " . $rel['subject'] . " - " . $rel['predicate'] . ' - ' . $rel['object'], "error"); |
||||
return FALSE; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// Do the messy work constructing the RELS-EXT XML. Because addRelationship is broken. |
||||
|
||||
return FALSE; |
||||
} |
||||
|
||||
/** |
||||
* Removes this object form the repository. |
||||
*/ |
||||
function purge($log_message = 'Purged using Islandora API.', $force = FALSE) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'logMessage' => $log_message, |
||||
'force' => $force |
||||
); |
||||
|
||||
return $this->soap_call('purgeObject', $params); |
||||
} |
||||
|
||||
function purge_datastream($dsID, $start_date = NULL, $end_date = NULL, $log_message = 'Purged datastream using Islandora API', $force = FALSE) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsID, |
||||
'startDT' => $start_date, |
||||
'endDT' => $end_date, |
||||
'logMessage' => $log_message, |
||||
'force' => $force, |
||||
); |
||||
return $this->soap_call('purgeDatastream', $params); |
||||
} |
||||
|
||||
function url() { |
||||
global $base_url; |
||||
return $base_url . '/fedora/repository/' . $this->pid . (!empty($this->objectProfile) ? '/-/' . drupal_urlencode($this->objectProfile->objLabel) : ''); |
||||
} |
||||
|
||||
static function get_next_PID_in_namespace($pid_namespace = '') { |
||||
|
||||
if (empty($pid_namespace)) { |
||||
// Just get the first one in the config settings. |
||||
$allowed_namespaces = explode(" ", variable_get('fedora_pids_allowed', 'default: demo: changeme: islandora: ilives: ')); |
||||
$pid_namespace = $allowed_namespaces[0]; |
||||
if (!empty($pid_namespace)) { |
||||
$pid_namespace = substr($pid_namespace, 0, strpos($pid_namespace, ":")); |
||||
} |
||||
else { |
||||
$pid_namespace = 'default'; |
||||
} |
||||
} |
||||
|
||||
$params = array( |
||||
'numPIDs' => '', |
||||
'pidNamespace' => $pid_namespace, |
||||
); |
||||
|
||||
$result = self::soap_call('getNextPID', $params); |
||||
return $result->pid; |
||||
} |
||||
|
||||
static function ingest_from_FOXML($foxml) { |
||||
$params = array('objectXML' => $foxml->saveXML(), 'format' => "info:fedora/fedora-system:FOXML-1.1", 'logMessage' => "Fedora Object Ingested"); |
||||
$object = self::soap_call('ingest', $params); |
||||
return new Fedora_Item($object->objectPID); |
||||
} |
||||
|
||||
static function ingest_from_FOXML_file($foxml_file) { |
||||
$foxml = new DOMDocument(); |
||||
$foxml->load($foxml_file); |
||||
return self::ingest_from_FOXML($foxml); |
||||
} |
||||
|
||||
static function ingest_from_FOXML_files_in_directory($path) { |
||||
// Open the directory |
||||
$dir_handle = @opendir($path); |
||||
// Loop through the files |
||||
while ($file = readdir($dir_handle)) { |
||||
if ($file == "." || $file == ".." || strtolower(substr($file, strlen($file) - 4)) != '.xml') { |
||||
continue; |
||||
} |
||||
|
||||
try { |
||||
self::ingest_from_FOXML_file($path . '/' . $file); |
||||
} catch (exception $e) { |
||||
|
||||
} |
||||
} |
||||
// Close |
||||
closedir($dir_handle); |
||||
} |
||||
|
||||
function modify_object($label = '', $state = null, $ownerId = null, $logMessage = 'Modified by Islandora API', $quiet=TRUE) { |
||||
|
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'ownerId' => $ownerId, |
||||
'state' => $state, |
||||
'label' => $label, |
||||
'logMessage' => $logMessage |
||||
); |
||||
|
||||
return self::soap_call('modifyObject', $params, $quiet); |
||||
} |
||||
|
||||
function modify_datastream_by_reference($external_url, $dsid, $label, $mime_type, $force = FALSE, $logMessage = 'Modified by Islandora API', $quiet=FALSE) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsid, |
||||
'altIDs' => NULL, |
||||
'dsLabel' => $label, |
||||
'MIMEType' => $mime_type, |
||||
'formatURI' => NULL, |
||||
'dsLocation' => $external_url, |
||||
'checksumType' => 'DISABLED', |
||||
'checksum' => 'none', |
||||
'logMessage' => $logMessage, |
||||
'force' => $force |
||||
); |
||||
return self::soap_call('modifyDatastreamByReference', $params, $quiet); |
||||
} |
||||
|
||||
function modify_datastream_by_value($content, $dsid, $label, $mime_type, $force = FALSE, $logMessage = 'Modified by Islandora API', $quiet=FALSE) { |
||||
$params = array( |
||||
'pid' => $this->pid, |
||||
'dsID' => $dsid, |
||||
'altIDs' => NULL, |
||||
'dsLabel' => $label, |
||||
'MIMEType' => $mime_type, |
||||
'formatURI' => NULL, |
||||
'dsContent' => $content, |
||||
'checksumType' => 'DISABLED', |
||||
'checksum' => 'none', |
||||
'logMessage' => $logMessage, |
||||
'force' => $force |
||||
); |
||||
return self::soap_call('modifyDatastreamByValue', $params, $quiet); |
||||
} |
||||
|
||||
static function soap_call($function_name, $params_array, $quiet = FALSE) { |
||||
if (!self::$connection_helper) { |
||||
module_load_include('inc', 'fedora_repository', 'ConnectionHelper'); |
||||
self::$connection_helper = new ConnectionHelper(); |
||||
} |
||||
switch ($function_name) { |
||||
case 'ingest': |
||||
case 'addDataStream': |
||||
case 'addRelationship': |
||||
case 'export': |
||||
case 'getDatastream': |
||||
case 'getDatastreamHistory': |
||||
case 'getNextPID': |
||||
case 'getRelationships': |
||||
case 'modifyDatastreamByValue': |
||||
case 'modifyDatastreamByReference': |
||||
case 'purgeDatastream': |
||||
case 'purgeObject': |
||||
case 'modifyObject': |
||||
$soap_client = self::$connection_helper->getSoapClient(variable_get('fedora_soap_manage_url', 'http://localhost:8080/fedora/services/management?wsdl')); |
||||
try { |
||||
if (!empty($soap_client)) { |
||||
$result = $soap_client->__soapCall($function_name, array('parameters' => $params_array)); |
||||
} |
||||
else { |
||||
watchdog(t("FEDORA_REPOSITORY"), t("Error trying to get SOAP client connection.")); |
||||
return NULL; |
||||
} |
||||
} catch (exception $e) { |
||||
if (!$quiet) { |
||||
|
||||
if (preg_match('/org\.fcrepo\.server\.security\.xacml\.pep\.AuthzDeniedException/', $e->getMessage())) { |
||||
drupal_set_message(t('Error: Insufficient permissions to call SOAP function !fn.', array('!fn' => $function_name)), 'error'); |
||||
} |
||||
else { |
||||
drupal_set_message(t("Error trying to call SOAP function $function_name. Check watchdog logs for more information."), 'error'); |
||||
} |
||||
|
||||
watchdog(t("FEDORA_REPOSITORY"), t("Error Trying to call SOAP function !fn: !e", array('!fn' => $function_name, '!e' => $e)), NULL, WATCHDOG_ERROR); |
||||
} |
||||
return NULL; |
||||
} |
||||
break; |
||||
|
||||
default: |
||||
try { |
||||
$soap_client = self::$connection_helper->getSoapClient(variable_get('fedora_soap_url', 'http://localhost:8080/fedora/services/access?wsdl')); |
||||
if (!empty($soap_client)) { |
||||
$result = $soap_client->__soapCall($function_name, array('parameters' => $params_array)); |
||||
} |
||||
else { |
||||
watchdog(t("FEDORA_REPOSITORY"), t("Error trying to get SOAP client connection.")); |
||||
return NULL; |
||||
} |
||||
} catch (exception $e) { |
||||
|
||||
if (!$quiet) { |
||||
watchdog(t("FEDORA_REPOSITORY"), t("Error trying to call SOAP function !fn: !e", array('!fn' => $function_name, '!e' => $e)), NULL, WATCHDOG_ERROR); |
||||
} |
||||
return NULL; |
||||
} |
||||
} |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* Creates the minimal FOXML for a new Fedora object, which is then passed to |
||||
* ingest_from_FOXML to be added to the repository. |
||||
* |
||||
* @param string $pid if none given, getnextpid will be called. |
||||
* @param string $state The initial state, A - Active, I - Inactive, D - Deleted |
||||
*/ |
||||
static function create_object_FOXML($pid = '', $state = 'A', $label = 'Untitled', $owner = '') { |
||||
$foxml = new DOMDocument("1.0", "UTF-8"); |
||||
$foxml->formatOutput = TRUE; |
||||
if (empty($pid)) { |
||||
// Call getNextPid |
||||
$pid = self::get_next_PID_in_namespace(); |
||||
} |
||||
if (empty($owner)) { |
||||
if (!empty($user->uid)) { // Default to current Drupal user. |
||||
$owner = $user->uid; |
||||
} |
||||
else { // We are not inside Drupal |
||||
$owner = 'fedoraAdmin'; |
||||
} |
||||
} |
||||
|
||||
$root_element = $foxml->createElement("foxml:digitalObject"); |
||||
$root_element->setAttribute("VERSION", "1.1"); |
||||
$root_element->setAttribute("PID", $pid); |
||||
$root_element->setAttribute("xmlns:foxml", "info:fedora/fedora-system:def/foxml#"); |
||||
$root_element->setAttribute("xmlns:xsl", "http://www.w3.org/2001/XMLSchema-instance"); |
||||
$root_element->setAttribute("xsl:schemaLocation", "info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"); |
||||
$foxml->appendChild($root_element); |
||||
|
||||
// FOXML object properties section |
||||
$object_properties = $foxml->createElement("foxml:objectProperties"); |
||||
$state_property = $foxml->createElement("foxml:property"); |
||||
$state_property->setAttribute("NAME", "info:fedora/fedora-system:def/model#state"); |
||||
$state_property->setAttribute("VALUE", $state); |
||||
|
||||
$label_property = $foxml->createElement("foxml:property"); |
||||
$label_property->setAttribute("NAME", "info:fedora/fedora-system:def/model#label"); |
||||
$label_property->setAttribute("VALUE", $label); |
||||
|
||||
$owner_property = $foxml->createElement("foxml:property"); |
||||
$owner_property->setAttribute("NAME", "info:fedora/fedora-system:def/model#ownerId"); |
||||
$owner_property->setAttribute("VALUE", $owner); |
||||
|
||||
$object_properties->appendChild($state_property); |
||||
$object_properties->appendChild($label_property); |
||||
$object_properties->appendChild($owner_property); |
||||
$root_element->appendChild($object_properties); |
||||
$foxml->appendChild($root_element); |
||||
|
||||
return $foxml; |
||||
} |
||||
|
||||
static function ingest_new_item($pid = '', $state = 'A', $label = '', $owner = '') { |
||||
return self::ingest_from_FOXML(self::create_object_FOXML($pid, $state, $label, $owner)); |
||||
} |
||||
|
||||
static function fedora_item_exists($pid) { |
||||
$item = new Fedora_Item($pid); |
||||
return $item->exists(); |
||||
} |
||||
|
||||
/* * ****************************************************** |
||||
* Relationship Functions |
||||
* ****************************************************** */ |
||||
|
||||
/** |
||||
* Returns an associative array of relationships that this item has |
||||
* in its RELS-EXT. |
||||
*/ |
||||
} |
||||
|
@ -1,128 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
// @file fedora_utils.inc |
||||
// Base utilities used by the Islansora fedora module. |
||||
|
||||
/* |
||||
* Functions that emulate php5.3 functionality for backwards compatiablity |
||||
*/ |
||||
if (!function_exists('str_getcsv')) { |
||||
function str_getcsv($input, $delimiter=',', $enclosure='"', $escape=null, $eol=null) { |
||||
$temp=fopen("php://memory", "rw"); |
||||
fwrite($temp, $input); |
||||
fseek($temp, 0); |
||||
$r=fgetcsv($temp, 4096, $delimiter, $enclosure); |
||||
fclose($temp); |
||||
return $r; |
||||
} |
||||
} |
||||
/* |
||||
* Functions that emulate php5.3 functionality for backwards compatiablity |
||||
*/ |
||||
|
||||
/* |
||||
* Static functions used by the Fedora PHP API. |
||||
*/ |
||||
|
||||
|
||||
function do_curl($url, $return_to_variable = 1, $number_of_post_vars = 0, $post = NULL) { |
||||
global $user; |
||||
// Check if we are inside Drupal and there is a valid user. |
||||
if ((!isset ($user)) || $user->uid == 0) { |
||||
$fedora_user = 'anonymous'; |
||||
$fedora_pass = 'anonymous'; |
||||
} |
||||
else { |
||||
$fedora_user = $user->name; |
||||
$fedora_pass = $user->pass; |
||||
} |
||||
|
||||
if (function_exists("curl_init")) { |
||||
$ch = curl_init(); |
||||
$user_agent = "Mozilla/4.0 pp(compatible; MSIE 5.01; Windows NT 5.0)"; |
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); |
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); |
||||
curl_setopt($ch, CURLOPT_FAILONERROR, TRUE); // Fail on errors |
||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // allow redirects |
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 90); // times out after 90s |
||||
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, $return_to_variable); // return into a variable |
||||
curl_setopt($ch, CURLOPT_URL, $url); |
||||
curl_setopt($ch, CURLOPT_USERPWD, "$fedora_user:$fedora_pass"); |
||||
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); |
||||
if ($number_of_post_vars>0&&$post) { |
||||
curl_setopt($ch, CURLOPT_POST, $number_of_post_vars); |
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, "$post"); |
||||
} |
||||
return curl_exec($ch); |
||||
} |
||||
else { |
||||
if (function_exists(drupal_set_message)) { |
||||
drupal_set_message(t('No curl support.'), 'error'); |
||||
} |
||||
return NULL; |
||||
} |
||||
} |
||||
|
||||
function fedora_available() { |
||||
|
||||
$response = do_curl(variable_get('fedora_base_url', 'http://localhost:8080/fedora').'/describe'); |
||||
return strstr($response, 'Repository Information HTML Presentation') !== FALSE; |
||||
|
||||
} |
||||
|
||||
|
||||
/** |
||||
* Returns a UTF-8-encoded transcripiton of the string given in $in_str. |
||||
* @param string $in_str |
||||
* @return string A UTF-8 encoded string. |
||||
*/ |
||||
function fix_encoding($in_str) { |
||||
$cur_encoding = mb_detect_encoding($in_str) ; |
||||
if ($cur_encoding == "UTF-8" && mb_check_encoding($in_str, "UTF-8")) { |
||||
return $in_str; |
||||
} |
||||
else { |
||||
return utf8_encode($in_str); |
||||
} |
||||
} |
||||
|
||||
function validPid($pid) { |
||||
$valid = FALSE; |
||||
if (strlen(trim($pid)) <= 64 && preg_match('/^([A-Za-z0-9]|-|\.)+:(([A-Za-z0-9])|-|\.|~|_|(%[0-9A-F]{2}))+$/', trim($pid))) { |
||||
$valid = TRUE; |
||||
} |
||||
|
||||
return $valid; |
||||
} |
||||
|
||||
function validDsid($dsid) { |
||||
$valid = FALSE; |
||||
if (strlen(trim($dsid)) <= 64 && preg_match('/^[a-zA-Z0-9\_\-\.]+$/', trim($dsid))) { |
||||
$valid = TRUE; |
||||
} |
||||
|
||||
return $valid; |
||||
} |
||||
|
||||
function fixDsid($dsid) { |
||||
$new_dsid = trim($dsid); |
||||
|
||||
$find = '/[^a-zA-Z0-9\.\_\-]/'; |
||||
$replace = ''; |
||||
$new_dsid = preg_replace($find, $replace, $new_dsid); |
||||
|
||||
if( strlen($new_dsid) > 63 ) |
||||
$new_dsid = substr($new_dsid, -63); |
||||
|
||||
if( preg_match('/^[^a-zA-Z]/', $dsid ) ) |
||||
$new_dsid = 'x' . $new_dsid; |
||||
|
||||
if( strlen($new_dsid) == 0 ) |
||||
$new_dsid = 'item' . rand(1, 100); |
||||
|
||||
return $new_dsid; |
||||
|
||||
} |
||||
|
@ -1,43 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
|
||||
/** |
||||
* Description of relsext |
||||
* |
||||
* @author aoneill |
||||
*/ |
||||
class RelsExt { |
||||
// Instance variables |
||||
public $relsExtArray = array(); |
||||
private $originalRelsExtArray = array(); // Used to determine the result of modified() funciton. |
||||
// Member functions |
||||
|
||||
/** |
||||
* Constructor that builds itself by retrieving the RELS-EXT stream from |
||||
* the repository for the given Fedora_Item. |
||||
* @param Fedora_Item $item |
||||
*/ |
||||
function RelsExt( $item ) { |
||||
$relsextxml = $item->get_datastream_dissemination('RELS-EXT'); |
||||
|
||||
} |
||||
|
||||
function modified() { |
||||
return !(empty(array_diff($this->relsExtArray, $this->originalRelsExtArray)) && |
||||
empty(array_diff($this->originalRelsExtArray, $this->relsExtArray))); |
||||
} |
||||
|
||||
/** |
||||
* Save the current state of the RELS-EXT array out to the repository item |
||||
* as a datastream. |
||||
*/ |
||||
function save() { |
||||
|
||||
} |
||||
} |
||||
|
@ -1,69 +0,0 @@
|
||||
<?php |
||||
// $Id$ |
||||
|
||||
/* |
||||
* @file tagging.inc |
||||
*/ |
||||
|
||||
/** |
||||
* Description of tagging |
||||
* |
||||
* @author aoneill |
||||
*/ |
||||
class TagSet { |
||||
public $tags = array(); |
||||
public $item = NULL; |
||||
public $tagsDSID = 'TAGS'; |
||||
|
||||
function TagSet($item = NULL) { |
||||
if (!empty($item) && get_class($item) == 'Fedora_Item') { |
||||
$this->item = $item; |
||||
$this->load(); |
||||
} |
||||
} |
||||
|
||||
function load() { |
||||
$tagsxml = isset($this->item->datastreams[$this->tagsDSID])? $this->item->get_datastream_dissemination($this->tagsDSID) : NULL; |
||||
if (empty($tagsxml)) { |
||||
$this->tags = array(); |
||||
return FALSE; |
||||
} |
||||
$tagsdoc = new DOMDocument(); |
||||
$tagsdoc->loadXML($tagsxml); |
||||
$tags = $tagsdoc->getElementsByTagName('tag'); |
||||
foreach ($tags as $tag) { |
||||
$this->tags[] = array( |
||||
'name' => $tag->nodeValue, |
||||
'creator' => $tag->getAttribute('creator') |
||||
); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Saves an associative array of tags to a datastream. |
||||
*/ |
||||
function save() { |
||||
$tagdoc = new DomDocument(); |
||||
$e_tags = new DomElement('tags'); |
||||
$tagdoc->appendChild($e_tags); |
||||
foreach ($this->tags as $tag) { |
||||
$e_tag = $tagdoc->createElement('tag', $tag['name']); |
||||
$e_tag->setAttribute('creator', (!empty($tag['creator'])) ? $tag['creator'] : ''); |
||||
$e_tags->appendChild($e_tag); |
||||
} |
||||
try { |
||||
$datastreams = $this->item->get_datastreams_list_as_array(); |
||||
if (empty($datastreams[$this->tagsDSID])) { |
||||
$this->item->add_datastream_from_string($tagdoc->saveXML(), $this->tagsDSID, 'Tags', 'text/xml', 'X'); |
||||
} |
||||
else { |
||||
$this->item->modify_datastream_by_value($tagdoc->saveXML(), $this->tagsDSID, 'Tags', 'text/xml', 'X'); |
||||
} |
||||
} |
||||
catch (exception $e) { |
||||
drupal_set_message('There was an error saving the tags datastream: !e', array('!e' => $e), 'error'); |
||||
return FALSE; |
||||
} |
||||
return TRUE; |
||||
} |
||||
} |
@ -1,21 +0,0 @@
|
||||
<collection_policy name="" xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://syn.lib.umanitoba.ca/collection_policy.xsd"> |
||||
<content_models> |
||||
<content_model dsid="ISLANDORACM" name="Collection" namespace="islandora:collection" pid="islandora:collectionCModel"/> |
||||
</content_models> |
||||
<search_terms> |
||||
<term field="dc.title">dc.title</term> |
||||
<term field="dc.creator">dc.creator</term> |
||||
<term default="true" field="dc.description">dc.description</term> |
||||
<term field="dc.date">dc.date</term> |
||||
<term field="dc.identifier">dc.identifier</term> |
||||
<term field="dc.language">dc.language</term> |
||||
<term field="dc.publisher">dc.publisher</term> |
||||
<term field="dc.rights">dc.rights</term> |
||||
<term field="dc.subject">dc.subject</term> |
||||
<term field="dc.relation">dc.relation</term> |
||||
<term field="dcterms.temporal">dcterms.temporal</term> |
||||
<term field="dcterms.spatial">dcterms.spatial</term> |
||||
<term field="fgs.DS.first.text">Full Text</term> |
||||
</search_terms> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
</collection_policy> |
@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<collection_policy> |
||||
<!---we will define allowed mimetypes and what to do with various types as part of the content model--> |
||||
<contentmodels> |
||||
<contentmodel name="standard_flv"> |
||||
<pid_namespace>vre:test</pid_namespace> |
||||
<pid>vre:contentmodel</pid> |
||||
<dsid>STANDARD_FLV</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<search_terms> |
||||
<!--define what fields we can query as part of the advanced search for this collection--> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,70 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<collection_policy> |
||||
<!---we will define allowed mimetypes and what to do with various types as part of the content model--> |
||||
<contentmodels> |
||||
<contentmodel name="STANDARD_IMAGE"> |
||||
<pid_namespace>vre:spdf</pid_namespace> |
||||
<pid>vre:contentmodel</pid> |
||||
<dsid>STANDARD_IMAGE</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<!--if we define a query for an object the relationship we ask for may not be isMemberOfCollection. So when we ingest in th |
||||
Collection we will want the relationship to match the query. If this element is null we will use the isMemberOfCollection relationship--> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
<search_terms> |
||||
<!--define what fields we can query as part of the advanced search for this collection--> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<collection_policy xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="" xsi:schemaLocation="http://www.islandora.ca http://syn.lib.umanitoba.ca/collection_policy.xsd"> |
||||
<content_models> |
||||
<content_model name="STANDARD_JPEG" dsid="ISLANDORACM" namespace="demo:Smiley" pid="demo:DualResImage"/> |
||||
</content_models> |
||||
<search_terms> |
||||
<term field="dc.title">dc.title</term> |
||||
<term field="dc.creator">dc.creator</term> |
||||
<term field="dc.description" default="true">dc.description</term> |
||||
<term field="dc.date">dc.date</term> |
||||
<term field="dc.identifier">dc.identifier</term> |
||||
<term field="dc.language">dc.language</term> |
||||
<term field="dc.publisher">dc.publisher</term> |
||||
<term field="dc.rights">dc.rights</term> |
||||
<term field="dc.subject">dc.subject</term> |
||||
<term field="dc.relation">dc.relation</term> |
||||
<term field="dcterms.temporal">dcterms.temporal</term> |
||||
<term field="dcterms.spatial">dcterms.spatial</term> |
||||
<term field="fgs.DS.first.text">Full Text</term> |
||||
</search_terms> |
||||
<relationship>isMemberOf</relationship> |
||||
</collection_policy> |
@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> <collection_policy xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="" xsi:schemaLocation="http://www.islandora.ca http://syn.lib.umanitoba.ca/collection_policy.xsd"> <content_models> <content_model name="STANDARD_PDF" dsid="ISLANDORACM" namespace="islandora:spdf" pid="islandora:standard_pdf"/> <content_model name="STRICT_PDF" dsid="ISLANDORACM" namespace="islandora:strictpdf" pid="islandora:strict_pdf"/> <content_model name="REFWORKS_BATCH" dsid="ISLANDORACM" namespace="islandora:ref" pid="islandora:refworks_cm"/> </content_models> <search_terms> <term field="dc.title">dc.title</term> <term field="dc.creator">dc.creator</term> <term field="dc.description" default="true">dc.description</term> <term field="dc.date">dc.date</term> <term field="dc.identifier">dc.identifier</term> <term field="dc.language">dc.language</term> <term field="dc.publisher">dc.publisher</term> <term field="dc.rights">dc.rights</term> <term field="dc.subject">dc.subject</term> <term field="dc.relation">dc.relation</term> <term field="dcterms.temporal">dcterms.temporal</term> <term field="dcterms.spatial">dcterms.spatial</term> <term field="fgs.DS.first.text">Full Text</term> </search_terms> <relationship>isMemberOfCollection</relationship> </collection_policy> |
@ -1,79 +0,0 @@
|
||||
<collection_policy> |
||||
<!---we will define allowed mimetypes and what to do with various types as part of the content model--> |
||||
<contentmodels> |
||||
<contentmodel name="REFWORKS"> |
||||
<pid_namespace>ir:ref</pid_namespace> |
||||
<pid>vre:contentmodel</pid> |
||||
<dsid>REFWORKS</dsid> |
||||
</contentmodel> |
||||
<contentmodel name="STANDARD_PDF"> |
||||
<pid_namespace>ir:ref</pid_namespace> |
||||
<pid>vre:contentmodel</pid> |
||||
<dsid>STANDARD_PDF</dsid> |
||||
</contentmodel> |
||||
<contentmodel name="STANDARD_IMAGE"> |
||||
<pid_namespace>ir:image</pid_namespace> |
||||
<pid>vre:contentmodel</pid> |
||||
<dsid>STANDARD_IMAGE</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<!--if we define a query for an object the relationship we ask for may not be isMemberOfCollection. So when we ingest in th |
||||
Collection we will want the relationship to match the query. If this element is null we will use the isMemberOfCollection relationship--> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
<search_terms> |
||||
<!--define what fields we can query as part of the advanced search for this collection--> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,7 +0,0 @@
|
||||
This folder holds sample collection policy xml files. |
||||
|
||||
These are not used by the module directly from this location but should |
||||
be added as datatreams to objects with a content model property of Collection or |
||||
Community. The datastream id should be COLLECTION_POLICY. |
||||
|
||||
PERSONAL-COLLECTION-POLCIY is referenced from code do not remove |
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<collection_policy> |
||||
<!---we will define allowed mimetypes and what to do with various types as part of the content model--> |
||||
<contentmodels> |
||||
<contentmodel name="REFWORKS"> |
||||
<pid_namespace>ir:ref</pid_namespace> |
||||
<pid>islandora:refworksCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
</collection_policy> |
@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<collection_policy> |
||||
<!---we will define allowed mimetypes and what to do with various types as part of the content model--> |
||||
<contentmodels> |
||||
<contentmodel name="STANDARD_PDF"> |
||||
<pid_namespace>vre:riri-</pid_namespace> |
||||
<pid>vre:contentmodel</pid> |
||||
<dsid>STANDARD_PDF</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<search_terms> |
||||
<!--define what fields we can query as part of the advanced search for this collection--> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,69 +0,0 @@
|
||||
<collection_policy> |
||||
<!---we will define allowed mimetypes and what to do with various types as part of the content model--> |
||||
<contentmodels> |
||||
<contentmodel name="Book"> |
||||
<pid_namespace>islandora</pid_namespace> |
||||
<pid>ilives:bookCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<!--if we define a query for an object the relationship we ask for may not be isMemberOfCollection. So when we ingest in th |
||||
Collection we will want the relationship to match the query. If this element is null we will use the isMemberOfCollection relationship--> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
<search_terms> |
||||
<!--define what fields we can query as part of the advanced search for this collection--> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,84 +0,0 @@
|
||||
<!-- |
||||
Document : slide_collection_policy.xml |
||||
Created on : January 12, 2010, 4:02 PM |
||||
Author : aoneill |
||||
Description: |
||||
Purpose of the document follows. |
||||
--> |
||||
<collection_policy> |
||||
<contentmodels> |
||||
<contentmodel name="SLIDE_CMODEL"> |
||||
<pid_namespace>islandora:slide</pid_namespace> |
||||
<pid>islandora:slideCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
<contentmodel name="MAP_CMODEL"> |
||||
<pid_namespace>islandora:map</pid_namespace> |
||||
<pid>islandora:mapCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
<contentmodel name="HERB_CMODEL"> |
||||
<pid_namespace>islandora:herb</pid_namespace> |
||||
<pid>islandora:herbCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<!--if we define a query for an object the relationship we ask for may not be isMemberOfCollection. So when we ingest in th |
||||
Collection we will want the relationship to match the query.--> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
<search_terms> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<collection_policy xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="" xsi:schemaLocation="http://www.islandora.ca http://syn.lib.umanitoba.ca/collection_policy.xsd"> |
||||
<content_models> |
||||
<content_model name="Video" dsid="ISLANDORACM" namespace="islandora" pid="islandora:qtCModel"/> |
||||
</content_models> |
||||
<search_terms> |
||||
<term field="dc.title"> |
||||
dc.title</term> |
||||
<term field="dc.creator"> |
||||
dc.creator</term> |
||||
<term field="dc.description" default="true"> |
||||
dc.description</term> |
||||
<term field="dc.date"> |
||||
dc.date</term> |
||||
<term field="dc.identifier"> |
||||
dc.identifier</term> |
||||
<term field="dc.language"> |
||||
dc.language</term> |
||||
<term field="dc.publisher"> |
||||
dc.publisher</term> |
||||
<term field="dc.rights"> |
||||
dc.rights</term> |
||||
<term field="dc.subject"> |
||||
dc.subject</term> |
||||
<term field="dc.relation"> |
||||
dc.relation</term> |
||||
<term field="dcterms.temporal"> |
||||
dcterms.temporal</term> |
||||
<term field="dcterms.spatial"> |
||||
dcterms.spatial</term> |
||||
</search_terms> |
||||
<relationship> |
||||
isMemberOfCollection</relationship> |
||||
</collection_policy> |
||||
|
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
||||
<!-- |
||||
Document : slide_collection_policy.xml |
||||
Created on : January 12, 2010, 4:02 PM |
||||
Author : aoneill |
||||
Description: |
||||
Purpose of the document follows. |
||||
--> |
||||
<collection_policy> |
||||
<contentmodels> |
||||
<contentmodel name="SLIDE_CMODEL"> |
||||
<pid_namespace>islandora:slide</pid_namespace> |
||||
<pid>islandora:slideCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<!--if we define a query for an object the relationship we ask for may not be isMemberOfCollection. So when we ingest in th |
||||
Collection we will want the relationship to match the query.--> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
<search_terms> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
@ -1,47 +0,0 @@
|
||||
<xsd:schema xmlns="http://www.islandora.ca" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.islandora.ca" elementFormDefault="qualified" > |
||||
<xsd:annotation> |
||||
<xsd:documentation xml:lang="en"> |
||||
Islandora Collection Policy Schema |
||||
Islandora, Robertson Library, University of Prince Edward Island, 550 University Ave., Charlottetown, Prince Edward Island |
||||
</xsd:documentation> |
||||
</xsd:annotation> |
||||
|
||||
<xsd:element name="collection_policy" type="collection_policyType"/> |
||||
<xsd:complexType name="collection_policyType"> |
||||
<xsd:all> |
||||
<xsd:element name="content_models" type="content_modelsType"/> |
||||
<xsd:element name="search_terms" type="search_termsType"/> |
||||
<xsd:element name="relationship" type="xsd:string"/> |
||||
<xsd:element name="staging_area" type="xsd:string" minOccurs="0" maxOccurs="1"/> |
||||
</xsd:all> |
||||
<xsd:attribute name="name" type="xsd:normalizedString" use="required"/> |
||||
</xsd:complexType> |
||||
|
||||
<xsd:complexType name="content_modelsType"> |
||||
<xsd:sequence> |
||||
<xsd:element name="content_model" type="content_modelType" minOccurs="1" maxOccurs="unbounded"/> |
||||
</xsd:sequence> |
||||
</xsd:complexType> |
||||
|
||||
<xsd:complexType name="content_modelType"> |
||||
<xsd:attribute name="name" type="xsd:normalizedString" use="required"/> |
||||
<xsd:attribute name="dsid" type="xsd:normalizedString" use="required"/> |
||||
<xsd:attribute name="namespace" type="xsd:normalizedString" use="required"/> |
||||
<xsd:attribute name="pid" type="xsd:normalizedString" use="required"/> |
||||
</xsd:complexType> |
||||
|
||||
<xsd:complexType name="search_termsType"> |
||||
<xsd:sequence> |
||||
<xsd:element name="term" type="termType" minOccurs="0" maxOccurs="unbounded"/> |
||||
</xsd:sequence> |
||||
</xsd:complexType> |
||||
|
||||
<xsd:complexType name="termType"> |
||||
<xsd:simpleContent> |
||||
<xsd:extension base="xsd:string"> |
||||
<xsd:attribute name="field" type="xsd:string" use="optional"/> |
||||
<xsd:attribute name="default" type="xsd:boolean" default="false"/> |
||||
</xsd:extension> |
||||
</xsd:simpleContent> |
||||
</xsd:complexType> |
||||
</xsd:schema> |
@ -1,264 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(s:sparql/s:results/s:result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3"> |
||||
<tr> |
||||
<td colspan="{$cellsPerRow}"> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$count"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$count"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$end"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$end"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
<br clear="all" /> |
||||
</td> |
||||
</tr> |
||||
<xsl:apply-templates select="s:sparql/s:results"/> |
||||
</table> |
||||
<br clear="all" /> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$count"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$count"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$end"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>- |
||||
<xsl:value-of select="$end"/> |
||||
of |
||||
<xsl:value-of select="$count"/>  |
||||
<br /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$thisPid"/>/-/ |
||||
<xsl:value-of select="$thisTitle"/>/ |
||||
<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="s:sparql/s:results"> |
||||
<xsl:for-each select="s:result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::s:result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="s:result"> |
||||
<xsl:variable name='OBJECTURI' select="s:object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="s:title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="(content='Collection' or content='Community')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:copy-of select="$PID"/>/-/ |
||||
<xsl:value-of select="s:title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:copy-of select="$PID"/>/ |
||||
<xsl:value-of select="s:title"/>/ |
||||
<xsl:value-of select="s:title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
|
||||
<img> |
||||
<xsl:attribute name="src"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
<br clear="all" /> |
||||
|
||||
|
||||
<xsl:value-of select="$newTitle"/> |
||||
|
||||
<xsl:if test="($CONTENTMODEL!='islandora:collectionCModel')"> |
||||
<br />-- |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/ |
||||
<xsl:copy-of select="$PID"/>/-/ |
||||
<xsl:value-of select="s:title"/> |
||||
</xsl:attribute> |
||||
DETAILS |
||||
</a>-- |
||||
</xsl:if> |
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,7 +0,0 @@
|
||||
select $object $title from <#ri> |
||||
where ($object <dc:title> $title |
||||
and $object <fedora-model:hasModel> $content |
||||
and $object <fedora-rels-ext:isMemberOfCollection> <info:fedora/islandora:demos> |
||||
and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>) |
||||
|
||||
order by $title |
@ -1,79 +0,0 @@
|
||||
<xsl:stylesheet exclude-result-prefixes="php" version="1.0" xmlns:php="http://php.net/xsl" |
||||
xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:template match="/"> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="collTitle" select="/s:sparql/s:results/s:result/s:collTitle"/> |
||||
<xsl:variable name="collDesc" select="/s:sparql/s:results/s:result/s:collDesc"/> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/animation/animation-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/element/element-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/container/container_core-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/menu/menu-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/button/button-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script type="text/javascript"> |
||||
<xsl:attribute name="src"> |
||||
<xsl:value-of select="$PATH"/> |
||||
<xsl:text>/collection_views/yui_coverflow/js/CoverFlow.js</xsl:text> |
||||
</xsl:attribute> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script type="text/javascript"> |
||||
<xsl:text> |
||||
|
||||
// YAHOO.util.Event.onDOMReady(function(){ |
||||
//$(document).ready(function(){ |
||||
window.onload = function(){ |
||||
var images = [</xsl:text> |
||||
<xsl:for-each select="/s:sparql/s:results/s:result"> |
||||
<xsl:variable name="OBJECTURI" select="s:object/@uri"/> |
||||
<xsl:variable name="pid" select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:text>{src: '</xsl:text> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/TN', label: '</xsl:text> |
||||
<xsl:value-of select="s:memberTitle"/> |
||||
<xsl:text>', onclick: function(){alert('image1');}}, |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
<xsl:text> |
||||
]; |
||||
|
||||
var myCoverFlow = new YAHOO.ext.CoverFlow('coverFlowTest', {height: 200, width: 600, images: images}); |
||||
|
||||
function moveLeft(e, coverFlow){ |
||||
coverFlow.selectNext(); |
||||
} |
||||
function moveRight(e, coverFlow){ |
||||
coverFlow.selectPrevious(); |
||||
} |
||||
var myMoveLeftBtn = new YAHOO.widget.Button('moveLeftButton', {onclick: {fn: moveLeft, obj: myCoverFlow}}); |
||||
var myMoveRightBtn = new YAHOO.widget.Button('moveRightButton', {onclick: {fn: moveRight, obj: myCoverFlow}}); |
||||
|
||||
};</xsl:text> |
||||
</script> |
||||
<div class="title">Testing YUI's CoverFlow version 0.1 (beta)</div> |
||||
<div id="coverFlowTest"/> |
||||
<input id="moveLeftButton" type="button" value="Select Next"/> |
||||
<input id="moveRightButton" type="button" value="Select Previous"/> |
||||
<br/> |
||||
<br/> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,83 +0,0 @@
|
||||
<xsl:stylesheet exclude-result-prefixes="php" version="1.0" xmlns:php="http://php.net/xsl" |
||||
xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:template match="/"> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="collTitle" select="/s:sparql/s:results/s:result/s:collTitle"/> |
||||
<xsl:variable name="collDesc" select="/s:sparql/s:results/s:result/s:collDesc"/> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/yahoo-dom-event/yahoo-dom-event.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/animation/animation-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/element/element-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/container/container_core-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/menu/menu-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script src="http://yui.yahooapis.com/2.7.0/build/button/button-min.js" type="text/javascript"> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script type="text/javascript"> |
||||
<xsl:attribute name="src"> |
||||
<xsl:value-of select="$PATH"/> |
||||
<xsl:text>/collection_views/yui_coverflow/js/CoverFlow.js</xsl:text> |
||||
</xsl:attribute> |
||||
<xsl:comment>Comment added so script is recognised</xsl:comment> |
||||
</script> |
||||
<script type="text/javascript"> |
||||
<xsl:text> |
||||
|
||||
// YAHOO.util.Event.onDOMReady(function(){ |
||||
//$(document).ready(function(){ |
||||
window.onload = function(){ |
||||
var images = [</xsl:text> |
||||
<xsl:for-each select="/s:sparql/s:results/s:result"> |
||||
<xsl:variable name="OBJECTURI" select="s:object/@uri"/> |
||||
<xsl:variable name="pid" select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:text>{src: '</xsl:text> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/PRE', label: '</xsl:text> |
||||
<xsl:value-of select="s:memberTitle"/> |
||||
<xsl:text>', onclick: function(){ window.location='</xsl:text> |
||||
<xsl:value-of select="$BASEURL" /> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>';}}, |
||||
</xsl:text> |
||||
</xsl:for-each> |
||||
<xsl:text> |
||||
]; |
||||
|
||||
var myCoverFlow = new YAHOO.ext.CoverFlow('coverFlowTest', {height: 300, width: 650, images: images}); |
||||
|
||||
function moveLeft(e, coverFlow){ |
||||
coverFlow.selectNext(); |
||||
} |
||||
function moveRight(e, coverFlow){ |
||||
coverFlow.selectPrevious(); |
||||
} |
||||
var myMoveLeftBtn = new YAHOO.widget.Button('moveLeftButton', {onclick: {fn: moveLeft, obj: myCoverFlow}}); |
||||
var myMoveRightBtn = new YAHOO.widget.Button('moveRightButton', {onclick: {fn: moveRight, obj: myCoverFlow}}); |
||||
|
||||
};</xsl:text> |
||||
</script> |
||||
<div class="title">Testing YUI's CoverFlow version 0.1 (beta)</div> |
||||
<div id="coverFlowTest"/> |
||||
<input id="moveLeftButton" type="button" value="Select Next"/> |
||||
<input id="moveRightButton" type="button" value="Select Previous"/> |
||||
<br/> |
||||
<br/> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,212 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3" width="90%"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
|
||||
<!--<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each>- |
||||
--> |
||||
<xsl:apply-templates select="sparql/results"/> |
||||
</table><br clear="all" /> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="sparql/results"> |
||||
<xsl:for-each select="result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="result"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="(content='Collection' or content='Community')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/OBJ/<xsl:value-of select="title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
<xsl:attribute name="alt"><xsl:value-of select="$newTitle"/> |
||||
</xsl:attribute> |
||||
</img> </a> <br clear="all" /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="$newTitle"/> |
||||
</a> |
||||
|
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,11 +0,0 @@
|
||||
This folder holds xslt files that can be used to transform the |
||||
display of a collection. These files are not used by the module from |
||||
this location but should be added as datastreams to objects that have a |
||||
content model of Collection. |
||||
|
||||
The datastream id should be COLLECTION_VIEW |
||||
|
||||
NOTE: If you add a invalid xslt to a as a collection view you will |
||||
no longer have access to that object or collection. You may have to |
||||
fire up the fedora-admin utility and move or modify the Collection_View datastream. This |
||||
is a bug but not sure when it will be fixed. |
@ -1,215 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(s:sparql/s:results/s:result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3" width="90%"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
|
||||
<!--<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each>- |
||||
--> |
||||
<xsl:apply-templates select="s:sparql/s:results"/> |
||||
</table><br clear="all" /> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="s:sparql/s:results"> |
||||
<xsl:for-each select="s:result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::s:result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="s:result"> |
||||
<xsl:variable name='OBJECTURI' select="s:object/@uri"/> |
||||
<xsl:variable name='CONTENTURI' select="s:content/@uri"/> |
||||
<xsl:variable name='CONTENTMODEL' select="substring-after($CONTENTURI,'/')"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="s:title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="($CONTENTMODEL='islandora:collectionCModel')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="s:title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/OBJ/<xsl:value-of select="s:title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
<xsl:value-of select="s:content"/> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
<!-- <a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$linkUrl"/> |
||||
</xsl:attribute> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
<xsl:attribute name="alt"><xsl:value-of select="$newTitle"/> |
||||
</xsl:attribute> |
||||
</img> </a> <br clear="all" />--> |
||||
|
||||
<br /><a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="s:title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="$newTitle"/> |
||||
</a> |
||||
|
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,215 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(s:sparql/s:results/s:result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3" width="90%"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
|
||||
<!--<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each>- |
||||
--> |
||||
<xsl:apply-templates select="s:sparql/s:results"/> |
||||
</table><br clear="all" /> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="s:sparql/s:results"> |
||||
<xsl:for-each select="s:result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::s:result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="s:result"> |
||||
<xsl:variable name='OBJECTURI' select="s:object/@uri"/> |
||||
<xsl:variable name='CONTENTURI' select="s:content/@uri"/> |
||||
<xsl:variable name='CONTENTMODEL' select="substring-after($CONTENTURI,'/')"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="s:title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="($CONTENTMODEL='islandora:collectionCModel')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="s:title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/OBJ/<xsl:value-of select="s:title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
<xsl:value-of select="s:content"/> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$linkUrl"/> |
||||
</xsl:attribute> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
<xsl:attribute name="alt"><xsl:value-of select="$newTitle"/> |
||||
</xsl:attribute> |
||||
</img> </a> <br clear="all" /> |
||||
|
||||
<br /><a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="s:title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="$newTitle"/> |
||||
</a> |
||||
|
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,67 +0,0 @@
|
||||
<xsl:stylesheet version="1.0" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:template match="/"> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="collTitle" select="/s:sparql/s:results/s:result/s:collTitle"/> |
||||
<xsl:variable name="collDesc" select="/s:sparql/s:results/s:result/s:collDesc"/> |
||||
|
||||
<center> |
||||
<font face="arial,helvetica"> |
||||
<h2> |
||||
<xsl:value-of select="$collTitle"/> |
||||
<br/> |
||||
<i> |
||||
<xsl:value-of select="$collDesc"/> |
||||
</i> |
||||
</h2> |
||||
</font> |
||||
</center> |
||||
<hr size="1"/> |
||||
<center> |
||||
<table border="0" cellpadding="5"> |
||||
<xsl:for-each select="/s:sparql/s:results/s:result"> |
||||
<xsl:variable name="pid" select="substring-after(s:member/@uri, '/')"/> |
||||
<tr> |
||||
<td> |
||||
<center> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/FULL_SIZE</xsl:text> |
||||
</xsl:attribute> |
||||
<img height="120" width="160"> |
||||
<xsl:attribute name="src"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/MEDIUM_SIZE</xsl:text> |
||||
</xsl:attribute> |
||||
</img> |
||||
<br/> |
||||
( Full Size ) |
||||
</a> |
||||
</center> |
||||
</td> |
||||
<td> |
||||
<b> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/>/-/<xsl:value-of select="s:memberTitle"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="s:memberTitle"/> |
||||
</a> |
||||
</b> |
||||
<br/> |
||||
<xsl:value-of select="s:memberDesc"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</table> |
||||
</center> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,64 +0,0 @@
|
||||
<xsl:stylesheet version="1.0" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:template match="/"> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="collTitle" select="/s:sparql/s:results/s:result/s:collTitle"/> |
||||
<xsl:variable name="collDesc" select="/s:sparql/s:results/s:result/s:collDesc"/> |
||||
|
||||
<center> |
||||
<font face="arial,helvetica"> |
||||
<h2> |
||||
<xsl:value-of select="$collTitle"/> |
||||
<br/> |
||||
<i> |
||||
<xsl:value-of select="$collDesc"/> |
||||
</i> |
||||
</h2> |
||||
</font> |
||||
</center> |
||||
<hr size="1"/> |
||||
<center> |
||||
<table border="0" cellpadding="5"> |
||||
<xsl:for-each select="/s:sparql/s:results/s:result"> |
||||
<xsl:variable name="pid" select="substring-after(s:member/@uri, '/')"/> |
||||
<tr> |
||||
<td> |
||||
<center> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
</xsl:attribute> |
||||
<img height="120" width="160"> |
||||
<xsl:attribute name="src"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/THUMBNAIL</xsl:text> |
||||
</xsl:attribute> |
||||
</img> |
||||
</a> |
||||
</center> |
||||
</td> |
||||
<td> |
||||
<b> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/>/-/<xsl:value-of select="s:memberTitle"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="s:memberTitle"/> |
||||
</a> |
||||
</b> |
||||
<br/> |
||||
<xsl:value-of select="s:memberDesc"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</table> |
||||
</center> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,6 +0,0 @@
|
||||
select $object $title from <#ri> |
||||
where ($object <dc:title> $title |
||||
and ($object <fedora-model:hasModel> <info:fedora/fedora-system:ContentModel-3.0> |
||||
or $object <fedora-rels-ext:isMemberOfCollection> <info:fedora/islandora:ContentModelsCollection>) |
||||
and $object <fedora-model:state> <info:fedora/fedora-system:def/model#Active>) |
||||
order by $title |
@ -1,124 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- DEFAULT XSLT FOR COLLECTIONS THAT DO NOT DEFINE THEIR OWN--> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name='columns' select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
|
||||
<table> |
||||
<tr><td colspan="2"> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</td></tr> |
||||
<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
</td><td> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td></tr> |
||||
</xsl:for-each> |
||||
</table> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Demo Image Collection</dc:title> |
||||
<dc:identifier>islandora:demo_image_collection</dc:identifier> |
||||
<dc:description>Demo image collection</dc:description> |
||||
</oai_dc:dc> |
@ -1,28 +0,0 @@
|
||||
<xsl:stylesheet version="1.0" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<!-- simple list view for a itql query that looks queries for $object and $title only --> |
||||
<xsl:template match="/"> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
|
||||
<ul> |
||||
<xsl:for-each select="/s:sparql/s:results/s:result"> |
||||
<xsl:variable name="pid" select="substring-after(s:object/@uri, '/')"/> |
||||
<li> |
||||
|
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/>/-/<xsl:value-of select="s:title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="s:title"/> |
||||
</a> |
||||
|
||||
|
||||
</li> |
||||
</xsl:for-each> |
||||
</ul> |
||||
|
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,7 +0,0 @@
|
||||
select $collTitle $collDesc $member $memberTitle $memberDesc |
||||
from <#ri> |
||||
where %parent_collection% <dc:title> $collTitle |
||||
and %parent_collection% <dc:description> $collDesc |
||||
and $member <fedora-rels-ext:isMemberOf> %parent_collection% |
||||
and $member <dc:title> $memberTitle |
||||
and $member <dc:description> $memberDesc |
@ -1,66 +0,0 @@
|
||||
<xsl:stylesheet version="1.0" xmlns:s="http://www.w3.org/2001/sw/DataAccess/rf1/result" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:template match="/"> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="collTitle" select="/s:sparql/s:results/s:result/s:collTitle"/> |
||||
<xsl:variable name="collDesc" select="/s:sparql/s:results/s:result/s:collDesc"/> |
||||
<center> |
||||
<font face="arial,helvetica"> |
||||
<h2> |
||||
<xsl:value-of select="$collTitle"/> |
||||
<br/> |
||||
<i> |
||||
<xsl:value-of select="$collDesc"/> |
||||
</i> |
||||
</h2> |
||||
</font> |
||||
</center> |
||||
<hr size="1"/> |
||||
<center> |
||||
<table border="0" cellpadding="5"> |
||||
<xsl:for-each select="/s:sparql/s:results/s:result"> |
||||
<xsl:variable name="pid" select="substring-after(s:member/@uri, '/')"/> |
||||
<tr> |
||||
<td> |
||||
<center> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/FULL_SIZE</xsl:text> |
||||
</xsl:attribute> |
||||
<img height="120" width="160"> |
||||
<xsl:attribute name="src"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/> |
||||
<xsl:text>/MEDIUM_SIZE</xsl:text> |
||||
</xsl:attribute> |
||||
</img> |
||||
<br/> |
||||
( Full Size ) |
||||
</a> |
||||
</center> |
||||
</td> |
||||
<td> |
||||
<b> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/> |
||||
<xsl:text>/fedora/repository/</xsl:text> |
||||
<xsl:value-of select="$pid"/>/-/<xsl:value-of select="s:memberTitle"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="s:memberTitle"/> |
||||
</a> |
||||
</b> |
||||
<br/> |
||||
<xsl:value-of select="s:memberDesc"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</table> |
||||
</center> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,18 +0,0 @@
|
||||
body { |
||||
font-family: Arial; |
||||
font-size: 12px; |
||||
color: gray; |
||||
background: black; |
||||
} |
||||
|
||||
.title { |
||||
font-size: 18px; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
#coverFlowTest .coverFlowLabel { |
||||
margin-top: 10px; |
||||
font-size: 14px; |
||||
color: #C0C0C0; |
||||
font-weight: bold; |
||||
} |
@ -1,936 +0,0 @@
|
||||
/** |
||||
* @author elmasse (Maximiliano Fierro) |
||||
* @version 0.1 beta |
||||
* |
||||
* @usage: |
||||
* <code>
|
||||
* var images = [ |
||||
* {src: 'images/ardillitaMac.jpg'}, |
||||
* {src: 'http://farm2.static.flickr.com/1380/1426855399_b4b8eccbdb.jpg?v=0'}, |
||||
* {src: 'http://farm1.static.flickr.com/69/213130158_0d1aa23576_d.jpg'} |
||||
* ]; |
||||
* var myCoverFlow = new YAHOO.ext.CoverFlow('coverFlowTest', {height: 200, width: 800, images: images, bgColor: '#C0C0C0'}); |
||||
* </code> |
||||
* |
||||
*/ |
||||
|
||||
|
||||
YAHOO.namespace("ext"); |
||||
|
||||
//(function(){
|
||||
|
||||
/** |
||||
* @class CoverFlow
|
||||
* @namespace YAHOO.ext |
||||
* @constructor |
||||
* @param el {String|HTMLElement} Reference to element where CoverFlow will be rendered. |
||||
* @param config {Object} configuration object |
||||
* config.height {Number} Element height. Optional. Default: CoverFlow.DEFAULT_HEIGHT. |
||||
* config.width {Number} Element width. Optional. Default: CoverFlow.DEFAULT_WIDTH. |
||||
* config.images {Array} Array of Images. [{src:}] |
||||
* config.bgColor {String} Background color. Could be in the form #00000 or black. Optional. Default: CoverFlow.DEFAULT_BG_COLOR.
|
||||
*
|
||||
*/ |
||||
YAHOO.ext.CoverFlow = function(el, userConfig){ |
||||
if(el) |
||||
this.init(el, userConfig || {}); |
||||
}; |
||||
|
||||
//shortcuts
|
||||
var CoverFlow = YAHOO.ext.CoverFlow;
|
||||
var Dom = YAHOO.util.Dom; |
||||
|
||||
|
||||
/** |
||||
* Defaults |
||||
*/ |
||||
CoverFlow.DEFAULT_HEIGHT = 300; |
||||
CoverFlow.DEFAULT_WIDTH = 800; |
||||
CoverFlow.DEFAULT_BG_COLOR = '#000000';
|
||||
CoverFlow.IMAGE_SEPARATION = 50; |
||||
CoverFlow.RIGHT = 'right'; |
||||
CoverFlow.LEFT = 'left'; |
||||
CoverFlow.LABEL_CLASS = 'coverFlowLabel'; |
||||
|
||||
CoverFlow.prototype = { |
||||
//Images array (it's a sort of transient var)
|
||||
images: [],
|
||||
//Items array {CoverFlowItem[]}
|
||||
coverFlowItems: [], |
||||
|
||||
remainingImages: 9999, |
||||
|
||||
element: null, |
||||
labelElement: null, |
||||
containerHeight: 0, |
||||
containerWidth: 0, |
||||
|
||||
imageHeightRatio: 0.6, |
||||
imageWidthRatio: 0.2, |
||||
reflectionRatio: 0.6, // this causes: imageTotalHeightRatio = imageHeightRatio + imageHeightRatio*reflectionRatio
|
||||
topRatio: 0.1, |
||||
sideRatio: 0.4, |
||||
|
||||
perspectiveAngle: 20, |
||||
imageZIndex: 1000, |
||||
selectedImageZIndex: 9999, |
||||
selectedItem: 0, |
||||
|
||||
moveQueue: [], |
||||
animationWorking: false, |
||||
|
||||
init: function(el, userConfig){ |
||||
|
||||
this.element = Dom.get(el); |
||||
this.applyConfig(userConfig); |
||||
|
||||
if(userConfig.images) |
||||
this.addImages(userConfig.images); |
||||
|
||||
this.attachEventListeners(); |
||||
this.createLabelElement(); |
||||
}, |
||||
|
||||
applyConfig: function(config){ |
||||
this.containerHeight = config.height || CoverFlow.DEFAULT_HEIGHT; |
||||
this.containerWidth = config.width || CoverFlow.DEFAULT_WIDTH; |
||||
this.backgroundColor = config.bgColor || CoverFlow.DEFAULT_BG_COLOR; |
||||
|
||||
this.element.style.position = 'relative'; |
||||
this.element.style.height = this.containerHeight + 'px'; |
||||
this.element.style.width = this.containerWidth + 'px'; |
||||
this.element.style.background = this.backgroundColor; |
||||
this.element.style.overflow = 'hidden'; |
||||
}, |
||||
|
||||
addImages: function(images){ |
||||
this.images = []; |
||||
this.remainingImages = images.length; |
||||
|
||||
for(var i=0; i < images.length; i++){ |
||||
var img = images[i]; |
||||
var image = new Image(); |
||||
image.id = Dom.generateId(); |
||||
image.index = i; |
||||
image.onclick = img.onclick; |
||||
image.label = img.label; |
||||
|
||||
//hide images
|
||||
image.style.visibility = 'hidden'; |
||||
image.style.display = 'none'; |
||||
//this is to maintain image order since image.onload will be called randomly
|
||||
this.element.appendChild(image); |
||||
//a shortcut to not create another context to call onload
|
||||
var me = this; |
||||
// image.onload = function(){
|
||||
// CoverFlow.preloadImage(me, this); // this = image
|
||||
// };
|
||||
YAHOO.util.Event.on(image, 'load', this.preloadImage, image, this); |
||||
image.src = img.src; |
||||
|
||||
};
|
||||
|
||||
}, |
||||
|
||||
/** |
||||
* @function preloadImage |
||||
* @param event |
||||
* @param image |
||||
* @return void |
||||
*/ |
||||
preloadImage : function(e, image){ |
||||
this.images.push(image); |
||||
this.checkAllImagesLoaded(); |
||||
}, |
||||
|
||||
checkAllImagesLoaded: function(){ |
||||
this.remainingImages--; |
||||
if(!this.remainingImages){ |
||||
this.setup(); |
||||
} |
||||
}, |
||||
|
||||
setup: function(){ |
||||
this.createCoverFlowItems(); |
||||
this.sortCoverFlowItems(); |
||||
this.initCoverFlow(); |
||||
}, |
||||
|
||||
initCoverFlow: function(){ |
||||
|
||||
for(var i=0; i < this.coverFlowItems.length; i++){ |
||||
var coverFlowItem = this.coverFlowItems[i]; |
||||
|
||||
var angle = 0; |
||||
var direction; |
||||
|
||||
if(i==0){ |
||||
coverFlowItem.setZIndex(this.selectedImageZIndex); |
||||
coverFlowItem.setLeft(this.getCenter() - coverFlowItem.element.width/2); |
||||
coverFlowItem.isSelected(true); |
||||
this.selectedItem = 0; |
||||
this.showLabel(coverFlowItem.getLabel()); |
||||
}else{ |
||||
angle = this.perspectiveAngle; |
||||
direction = CoverFlow.LEFT; |
||||
coverFlowItem.setZIndex(this.imageZIndex - i); |
||||
coverFlowItem.setLeft( this.getRightStart()+ (i - 1)* CoverFlow.IMAGE_SEPARATION); |
||||
coverFlowItem.isSelected(false); |
||||
} |
||||
coverFlowItem.setAngle(angle); |
||||
coverFlowItem.drawInPerspective(direction); |
||||
} |
||||
}, |
||||
|
||||
createLabelElement: function(){ |
||||
var label = document.createElement('div'); |
||||
label.id = Dom.generateId(); |
||||
label.style.position = 'absolute'; |
||||
label.style.top = this.getFooterOffset() + 'px'; |
||||
label.innerHTML = ' '; |
||||
label.style.textAlign = 'center'; |
||||
label.style.width = this.containerWidth + 'px'; |
||||
label.style.zIndex = this.selectedImageZIndex + 10; |
||||
label.className = CoverFlow.LABEL_CLASS; |
||||
this.labelElement = this.element.appendChild(label); |
||||
}, |
||||
|
||||
showLabel: function(text){ |
||||
if(text) |
||||
this.labelElement.innerHTML = text; |
||||
else |
||||
this.labelElement.innerHTML = ''; |
||||
}, |
||||
|
||||
attachEventListeners: function(){ |
||||
new YAHOO.util.KeyListener(this.element, { keys:39 },
|
||||
{ fn:this.selectNext, |
||||
scope:this, |
||||
correctScope:true } ).enable(); |
||||
|
||||
new YAHOO.util.KeyListener(this.element, { keys:37 },
|
||||
{ fn:this.selectPrevious, |
||||
scope:this, |
||||
correctScope:true } ).enable(); |
||||
|
||||
|
||||
}, |
||||
|
||||
select: function(e,coverFlowItem){ |
||||
var distance = this.selectedItem - coverFlowItem.index; |
||||
if(distance < 0){ |
||||
for(var i=0; i < -distance; i++) |
||||
this.selectNext(); |
||||
}else{ |
||||
for(var i=0; i < distance; i++) |
||||
this.selectPrevious(); |
||||
} |
||||
}, |
||||
|
||||
|
||||
selectNext: function(){ |
||||
if(this.animationWorking){ |
||||
this.moveQueue.push('moveLeft'); |
||||
return; |
||||
} |
||||
|
||||
var animateItems = []; |
||||
|
||||
for(var i=0; i < this.coverFlowItems.length; i++){ |
||||
var coverFlowItem = this.coverFlowItems[i]; |
||||
var isLast = (this.selectedItem == this.coverFlowItems.length -1); |
||||
if(!isLast){ |
||||
var distance = i-this.selectedItem; |
||||
|
||||
if(distance == 0){// selected
|
||||
coverFlowItem.setZIndex(this.imageZIndex); |
||||
coverFlowItem.isSelected(false); |
||||
animateItems.push({item: coverFlowItem, attribute:{angle: {start: 0, end: this.perspectiveAngle} } }); |
||||
|
||||
coverFlowItem = this.coverFlowItems[++i]; |
||||
coverFlowItem.isSelected(true); |
||||
this.showLabel(coverFlowItem.getLabel()); |
||||
animateItems.push({item: coverFlowItem, attribute:{angle: {start: this.perspectiveAngle, end: 0} } }); |
||||
|
||||
}else{ |
||||
animateItems.push({item: coverFlowItem, attribute: {left: {start:coverFlowItem.getLeft(), end: coverFlowItem.getLeft() - CoverFlow.IMAGE_SEPARATION} }}); |
||||
} |
||||
} |
||||
} |
||||
|
||||
var animation = new CoverFlowAnimation({ |
||||
direction: CoverFlow.LEFT, |
||||
center: this.getCenter(), |
||||
startLeftPos: this.getLeftStart(), |
||||
startRightPos: this.getRightStart() |
||||
},
|
||||
animateItems, 0.5); |
||||
|
||||
animation.onStart.subscribe(this.handleAnimationWorking, this); |
||||
animation.onComplete.subscribe(this.handleQueuedMove, this); |
||||
|
||||
animation.animate(); |
||||
|
||||
if(this.selectedItem + 1 < this.coverFlowItems.length) |
||||
this.selectedItem++; |
||||
}, |
||||
|
||||
selectPrevious: function(){ |
||||
if(this.animationWorking){ |
||||
this.moveQueue.push('moveRight'); |
||||
return; |
||||
} |
||||
|
||||
var animateItems = []; |
||||
|
||||
for(var i=0; i < this.coverFlowItems.length; i++){ |
||||
var coverFlowItem = this.coverFlowItems[i]; |
||||
var isFirst = (this.selectedItem == 0); |
||||
var distance = i-this.selectedItem; |
||||
if(!isFirst){ |
||||
if(distance == - 1){ |
||||
coverFlowItem.setZIndex(this.selectedImageZIndex); |
||||
coverFlowItem.isSelected(true); |
||||
this.showLabel(coverFlowItem.getLabel()); |
||||
animateItems.push({item: coverFlowItem, attribute: {angle: {start: this.perspectiveAngle, end: 0}}}); |
||||
|
||||
coverFlowItem = this.coverFlowItems[++i]; |
||||
coverFlowItem.isSelected(false); |
||||
coverFlowItem.setZIndex(this.imageZIndex); |
||||
animateItems.push({item: coverFlowItem, attribute: {angle: {start: 0, end: this.perspectiveAngle}}}); |
||||
}else{ |
||||
coverFlowItem.setZIndex(coverFlowItem.getZIndex() - 1); |
||||
animateItems.push({item: coverFlowItem, attribute: {left: {start:coverFlowItem.getLeft(), end: coverFlowItem.getLeft() + CoverFlow.IMAGE_SEPARATION} }}); |
||||
} |
||||
} |
||||
} |
||||
var animation = new CoverFlowAnimation({ |
||||
direction: CoverFlow.RIGHT, |
||||
center: this.getCenter(), |
||||
startLeftPos: this.getLeftStart(), |
||||
startRightPos: this.getRightStart() |
||||
},
|
||||
animateItems, 0.5); |
||||
|
||||
animation.onStart.subscribe(this.handleAnimationWorking, this); |
||||
animation.onComplete.subscribe(this.handleQueuedMove, this); |
||||
|
||||
animation.animate(); |
||||
|
||||
if(this.selectedItem > 0) |
||||
this.selectedItem--; |
||||
}, |
||||
|
||||
handleAnimationWorking: function(a, b, cf){ |
||||
cf.animationWorking = true; |
||||
}, |
||||
|
||||
handleQueuedMove: function(msg, data, cf){ |
||||
cf.animationWorking = false; |
||||
|
||||
var next = cf.moveQueue.pop(); |
||||
if(next == 'moveLeft') |
||||
cf.selectNext(); |
||||
if(next == 'moveRight') |
||||
cf.selectPrevious(); |
||||
}, |
||||
|
||||
getCenter: function(){ |
||||
return this.containerWidth / 2; |
||||
}, |
||||
|
||||
getRightStart: function() { |
||||
return this.containerWidth - this.sideRatio * this.containerWidth; |
||||
}, |
||||
|
||||
getLeftStart: function() { |
||||
return this.sideRatio * this.containerWidth; |
||||
}, |
||||
|
||||
sortCoverFlowItems: function(){ |
||||
function sortFunction(aCoverFlowItem, bCoverFlowItem){ |
||||
return aCoverFlowItem.index - bCoverFlowItem.index; |
||||
} |
||||
|
||||
this.coverFlowItems.sort(sortFunction); |
||||
}, |
||||
|
||||
createCoverFlowItems: function(){ |
||||
this.coverFlowItems = []; |
||||
for(var i=0; i<this.images.length; i++){ |
||||
var image = this.images[i]; |
||||
var coverFlowItem = new CoverFlowItem(image, { |
||||
scaledWidth: this.scaleWidth(image),
|
||||
scaledHeight: this.scaleHeight(image),
|
||||
reflectionRatio: this.reflectionRatio, |
||||
bgColor: this.backgroundColor, |
||||
onclick: {fn: this.select, scope: this} |
||||
}); |
||||
this.alignCenterHeight(coverFlowItem); |
||||
this.coverFlowItems.push(coverFlowItem); |
||||
}; |
||||
delete this.images; |
||||
}, |
||||
|
||||
alignCenterHeight: function(coverFlowItem){//review!!!!!
|
||||
coverFlowItem.element.style.position = 'absolute'; |
||||
|
||||
var imageHeight = coverFlowItem.canvas.height / (1 + this.reflectionRatio); |
||||
var top = this.getMaxImageHeight() - imageHeight; |
||||
top += this.topRatio * this.containerHeight; |
||||
|
||||
coverFlowItem.setTop(top); |
||||
|
||||
}, |
||||
|
||||
scaleHeight: function(image){ |
||||
var height = 0; |
||||
if(image.height <= this.getMaxImageHeight() && image.width <= this.getMaxImageWidth()){ |
||||
height = image.height; |
||||
} |
||||
if(image.height > this.getMaxImageHeight() && image.width <= this.getMaxImageWidth()){ |
||||
height = ((image.height / this.getMaxImageHeight())) * image.height; |
||||
} |
||||
if(image.height <= this.getMaxImageHeight() && image.width > this.getMaxImageWidth()){ |
||||
height = ((image.width / this.getMaxImageWidth())) * image.height; |
||||
} |
||||
if(image.height > this.getMaxImageHeight() && image.width > this.getMaxImageWidth()){ |
||||
if(image.height > image.width) |
||||
height = ((this.getMaxImageHeight() / image.height)) * image.height; |
||||
else |
||||
height = ((this.getMaxImageWidth() / image.width)) * image.height; |
||||
} |
||||
return height; |
||||
}, |
||||
|
||||
scaleWidth: function(image){ |
||||
var width = 0; |
||||
if(image.height <= this.getMaxImageHeight() && image.width <= this.getMaxImageWidth()){ |
||||
width = image.width; |
||||
} |
||||
if(image.height > this.getMaxImageHeight() && image.width <= this.getMaxImageWidth()){ |
||||
width = ((image.height / this.getMaxImageHeight())) * image.width; |
||||
} |
||||
if(image.height <= this.getMaxImageHeight() && image.width > this.getMaxImageWidth()){ |
||||
width = ((image.width / this.getMaxImageWidth())) * image.width; |
||||
} |
||||
if(image.height > this.getMaxImageHeight() && image.width > this.getMaxImageWidth()){ |
||||
if(image.height > image.width) |
||||
width = ((this.getMaxImageHeight() / image.height)) * image.width; |
||||
else |
||||
width = ((this.getMaxImageWidth() / image.width)) * image.width; |
||||
} |
||||
return width; |
||||
}, |
||||
|
||||
|
||||
getMaxImageHeight: function(){ |
||||
return (this.containerHeight * this.imageHeightRatio); |
||||
}, |
||||
|
||||
getMaxImageWidth: function(){ |
||||
return (this.containerWidth * this.imageWidthRatio); |
||||
}, |
||||
|
||||
getTopOffset: function(){ |
||||
return this.containerHeight * this.topRatio; |
||||
}, |
||||
|
||||
getFooterOffset: function(){ |
||||
return this.containerHeight * (this.topRatio + this.imageHeightRatio); |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* @class CoverFlowItem
|
||||
*
|
||||
*/ |
||||
CoverFlowItem = function(image, config){ |
||||
if(image) |
||||
this.init(image, config); |
||||
}; |
||||
|
||||
CoverFlowItem.prototype = { |
||||
canvas: null, |
||||
element: null, |
||||
index: null, |
||||
id: null, |
||||
angle: 0, |
||||
selected: false, |
||||
onclickFn: null, |
||||
selectedOnclickFn: null, |
||||
label: null, |
||||
|
||||
onSelected: null, |
||||
|
||||
init: function(image, config){ |
||||
var scaledWidth = config.scaledWidth; |
||||
var scaledHeight = config.scaledHeight; |
||||
var reflectionRatio = config.reflectionRatio; |
||||
var bgColor = config.bgColor; |
||||
|
||||
this.id = image.id; |
||||
this.index = image.index; |
||||
this.onclickFn = config.onclick; |
||||
this.selectedOnclickFn = image.onclick; |
||||
this.label = image.label; |
||||
var parent = image.parentNode; |
||||
this.canvas = this.createImageCanvas(image,scaledWidth,scaledHeight,reflectionRatio, bgColor); |
||||
this.element = this.canvas.cloneNode(false); |
||||
this.element.id = this.id; |
||||
parent.replaceChild(this.element, image); |
||||
|
||||
this.onSelected = new YAHOO.util.CustomEvent('onSelected', this); |
||||
this.onSelected.subscribe(this.handleOnclick); |
||||
|
||||
}, |
||||
|
||||
getLabel: function(){ |
||||
return this.label; |
||||
}, |
||||
|
||||
handleOnclick: function(){ |
||||
YAHOO.util.Event.removeListener(this.element, 'click'); |
||||
if(!this.selected){ |
||||
YAHOO.util.Event.addListener(this.element, 'click', this.onclickFn.fn, this, this.onclickFn.scope); |
||||
}else{ |
||||
if(this.selectedOnclickFn && this.selectedOnclickFn.fn) |
||||
YAHOO.util.Event.addListener(this.element, 'click', this.selectedOnclickFn.fn, this, this.selectedOnclickFn.scope); |
||||
else |
||||
YAHOO.util.Event.addListener(this.element, 'click', this.selectedOnclickFn); |
||||
} |
||||
}, |
||||
|
||||
isSelected: function(selected){ |
||||
this.selected = selected; |
||||
this.onSelected.fire(); |
||||
}, |
||||
|
||||
setAngle: function(angle){ |
||||
this.angle = angle; |
||||
}, |
||||
|
||||
getAngle: function(){ |
||||
return this.angle; |
||||
}, |
||||
|
||||
setTop: function(top){ |
||||
this.element.style.top = top + 'px';
|
||||
}, |
||||
|
||||
setLeft: function(left){ |
||||
this.element.style.left = left + 'px'; |
||||
}, |
||||
|
||||
getLeft: function(){ |
||||
var ret = this.element.style.left; |
||||
return new Number(ret.replace("px", "")); |
||||
}, |
||||
|
||||
getZIndex: function(){ |
||||
return this.element.style.zIndex; |
||||
}, |
||||
|
||||
setZIndex: function(zIndex){ |
||||
this.element.style.zIndex = zIndex; |
||||
}, |
||||
|
||||
createImageCanvas: function(image, sWidth, sHeight, reflectionRatio, bgColor){ |
||||
|
||||
var imageCanvas = document.createElement('canvas'); |
||||
|
||||
if(imageCanvas.getContext){ |
||||
|
||||
var scaledWidth = sWidth; |
||||
var scaledHeight = sHeight; |
||||
var reflectionHeight = scaledHeight * reflectionRatio; |
||||
|
||||
imageCanvas.height = scaledHeight + reflectionHeight; |
||||
imageCanvas.width = scaledWidth; |
||||
|
||||
var ctx = imageCanvas.getContext('2d'); |
||||
|
||||
ctx.clearRect(0, 0, imageCanvas.width, imageCanvas.height); |
||||
ctx.globalCompositeOperation = 'source-over'; |
||||
ctx.fillStyle = 'rgba(0, 0, 0, 1)'; |
||||
ctx.fillRect(0, 0, imageCanvas.width, imageCanvas.height); |
||||
|
||||
//draw the reflection image
|
||||
ctx.save(); |
||||
ctx.translate(0, (2*scaledHeight)); |
||||
ctx.scale(1, -1); |
||||
ctx.drawImage(image, 0, 0, scaledWidth, scaledHeight); |
||||
ctx.restore(); |
||||
//create the gradient effect
|
||||
ctx.save(); |
||||
ctx.translate(0, scaledHeight); |
||||
ctx.globalCompositeOperation = 'destination-out'; |
||||
var grad = ctx.createLinearGradient( 0, 0, 0, scaledHeight); |
||||
grad.addColorStop(1, 'rgba(0, 0, 0, 1)'); |
||||
grad.addColorStop(0, 'rgba(0, 0, 0, 0.75)'); |
||||
ctx.fillStyle = grad; |
||||
ctx.fillRect(0, 0, scaledWidth, scaledHeight); |
||||
//apply the background color to the gradient
|
||||
ctx.globalCompositeOperation = 'destination-over'; |
||||
ctx.fillStyle = bgColor; '#000'; |
||||
ctx.globalAlpha = 0.8; |
||||
ctx.fillRect(0, 0 , scaledWidth, scaledHeight); |
||||
ctx.restore(); |
||||
//draw the image
|
||||
ctx.save(); |
||||
ctx.translate(0, 0); |
||||
ctx.globalCompositeOperation = 'source-over'; |
||||
ctx.drawImage(image, 0, 0, scaledWidth, scaledHeight); |
||||
ctx.restore(); |
||||
|
||||
return imageCanvas; |
||||
} |
||||
}, |
||||
|
||||
drawInPerspective: function(direction, frameSize){ |
||||
var canvas = this.element; |
||||
var image = this.canvas; |
||||
var angle = Math.ceil(this.angle); |
||||
var ctx; |
||||
var originalWidth = image.width; |
||||
var originalHeight = image.height; |
||||
var destinationWidth = destinationWidth || originalWidth; // for future use
|
||||
var destinationHeight = destinationHeight || originalHeight; // for future use
|
||||
|
||||
var perspectiveCanvas = document.createElement('canvas'); |
||||
perspectiveCanvas.height = destinationHeight; |
||||
perspectiveCanvas.width = destinationWidth; |
||||
var perspectiveCtx = perspectiveCanvas.getContext('2d'); |
||||
|
||||
var alpha = angle * Math.PI/180; // Math uses radian
|
||||
|
||||
if(alpha > 0){ // if we have an angle greater than 0 then apply the perspective
|
||||
var right = (direction == CoverFlow.RIGHT); |
||||
|
||||
var initialX=0, finalX=0, initialY=0, finalY=0; |
||||
|
||||
frameSize = frameSize || 1; |
||||
var xDes, yDes; |
||||
var heightDes, widthDes; |
||||
var perspectiveWidht = destinationWidth; |
||||
|
||||
var frameFactor = frameSize / originalWidth; |
||||
var frames = Math.floor(originalWidth / frameSize); |
||||
|
||||
var widthSrc = frameSize ; |
||||
var heightSrc = originalHeight; |
||||
|
||||
for(var i=0; i < frames; i++){ |
||||
var xSrc = (i) * frameSize; |
||||
var ySrc = 0; |
||||
var betaTan = 0; |
||||
width = destinationWidth * (i) * frameFactor; |
||||
horizon = destinationHeight / 2; |
||||
|
||||
if(right){ |
||||
betaTan = horizon/((Math.tan(alpha)*horizon) + width); |
||||
xDes = (betaTan*width)/(Math.tan(alpha) + betaTan); |
||||
yDes = Math.tan(alpha) * xDes; |
||||
|
||||
if(i == frames -1){ |
||||
finalX=xDes; |
||||
finalY=yDes; |
||||
} |
||||
}else{ |
||||
betaTan = horizon/((Math.tan(alpha)*horizon) +(destinationWidth-width)); |
||||
xDes = (Math.tan(alpha)*(destinationWidth) + (betaTan * width))/(Math.tan(alpha) + betaTan); |
||||
yDes = -Math.tan(alpha)*xDes + (Math.tan(alpha)*(destinationWidth)); |
||||
|
||||
if(i == 0){ |
||||
initialX = xDes; |
||||
initialY = yDes; |
||||
finalX = destinationWidth; |
||||
finalY = 0; |
||||
} |
||||
} |
||||
|
||||
heightDes = destinationHeight - (2*yDes); |
||||
widthDes = heightDes / destinationHeight * destinationWidth; |
||||
|
||||
perspectiveCtx.drawImage(image, xSrc, ySrc, widthSrc, heightSrc, xDes, yDes, widthDes, heightDes); |
||||
|
||||
} |
||||
|
||||
perspectiveWidth = finalX - initialX; |
||||
originalCanvasWidth = destinationWidth; |
||||
canvas.width = perspectiveWidth; |
||||
|
||||
ctx = canvas.getContext('2d'); |
||||
|
||||
//remove exceeded pixels
|
||||
ctx.beginPath(); |
||||
if(right){ |
||||
ctx.moveTo(0, 0); |
||||
ctx.lineTo(finalX, finalY); |
||||
ctx.lineTo(finalX, finalY + (destinationHeight - 2*finalY)); |
||||
ctx.lineTo(0, destinationHeight); |
||||
ctx.lineTo(0,0); |
||||
}else{ |
||||
var initialX1 = initialX - (originalCanvasWidth - perspectiveWidth); |
||||
var finalX1 = finalX - (originalCanvasWidth - perspectiveWidth); |
||||
ctx.moveTo(0, initialY); |
||||
ctx.lineTo(finalX1, finalY); |
||||
ctx.lineTo(finalX1, destinationHeight); |
||||
ctx.lineTo(initialX1, initialY + (destinationHeight - 2*initialY)); |
||||
ctx.lineTo(0, initialY); |
||||
} |
||||
ctx.closePath(); |
||||
ctx.clip(); |
||||
|
||||
ctx.drawImage(perspectiveCanvas, initialX, 0, perspectiveWidth, destinationHeight, 0, 0, perspectiveWidth, destinationHeight); |
||||
|
||||
}else{ |
||||
|
||||
canvas.width = perspectiveCanvas.width; |
||||
canvas.height = perspectiveCanvas.height; |
||||
perspectiveCtx.drawImage(image, 0, 0, originalWidth, originalHeight, 0, 0, destinationWidth, destinationHeight); |
||||
ctx = canvas.getContext('2d'); |
||||
ctx.clearRect(0, 0, canvas.width, canvas.height); |
||||
ctx.drawImage(perspectiveCanvas, 0, 0); |
||||
} |
||||
} |
||||
|
||||
}; |
||||
|
||||
/** |
||||
* @class CoverFlowAnimation |
||||
* @requires YAHOO.util.AnimMgr |
||||
*/ |
||||
CoverFlowAnimation = function(config, animationItems, duration){ |
||||
this.init(config, animationItems, duration); |
||||
};
|
||||
|
||||
CoverFlowAnimation.prototype = { |
||||
direction: null, |
||||
|
||||
center: null, |
||||
|
||||
startLeftPos: null, |
||||
|
||||
startRightPos: null, |
||||
|
||||
animationItems: null, |
||||
|
||||
method : YAHOO.util.Easing.easeNone, |
||||
|
||||
animated: false, |
||||
|
||||
startTime: null, |
||||
|
||||
actualFrames : 0,
|
||||
|
||||
useSeconds : true, // default to seconds
|
||||
|
||||
currentFrame : 0, |
||||
|
||||
totalFrames : YAHOO.util.AnimMgr.fps, |
||||
|
||||
init: function(config, animationItems, duration){ |
||||
this.direction = config.direction; |
||||
this.center = config.center; |
||||
this.startLeftPos = config.startLeftPos; |
||||
this.startRightPos = config.startRightPos; |
||||
this.animationItems = animationItems; |
||||
this.duration = duration || 1; |
||||
this.registerEvents(); |
||||
}, |
||||
|
||||
registerEvents: function(){ |
||||
/** |
||||
* Custom event that fires after onStart, useful in subclassing |
||||
* @private |
||||
*/ |
||||
this._onStart = new YAHOO.util.CustomEvent('_start', this, true); |
||||
|
||||
/** |
||||
* Custom event that fires when animation begins |
||||
* Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction) |
||||
* @event onStart |
||||
*/ |
||||
this.onStart = new YAHOO.util.CustomEvent('start', this); |
||||
|
||||
/** |
||||
* Custom event that fires between each frame |
||||
* Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction) |
||||
* @event onTween |
||||
*/ |
||||
this.onTween = new YAHOO.util.CustomEvent('tween', this); |
||||
|
||||
/** |
||||
* Custom event that fires after onTween |
||||
* @private |
||||
*/ |
||||
this._onTween = new YAHOO.util.CustomEvent('_tween', this, true); |
||||
|
||||
/** |
||||
* Custom event that fires when animation ends |
||||
* Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction) |
||||
* @event onComplete |
||||
*/ |
||||
this.onComplete = new YAHOO.util.CustomEvent('complete', this); |
||||
/** |
||||
* Custom event that fires after onComplete |
||||
* @private |
||||
*/ |
||||
this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true); |
||||
|
||||
this._onStart.subscribe(this.doOnStart); |
||||
this._onTween.subscribe(this.doOnTween); |
||||
this._onComplete.subscribe(this.doOnComplete);
|
||||
|
||||
}, |
||||
|
||||
isAnimated : function() { |
||||
return this.animated; |
||||
}, |
||||
|
||||
getStartTime : function() { |
||||
return this.startTime; |
||||
},
|
||||
|
||||
doMethod: function(start, end) { |
||||
return this.method(this.currentFrame, start, end - start, this.totalFrames); |
||||
},
|
||||
|
||||
animate : function() { |
||||
if ( this.isAnimated() ) { |
||||
return false; |
||||
} |
||||
|
||||
this.currentFrame = 0; |
||||
|
||||
this.totalFrames = ( this.useSeconds ) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration; |
||||
|
||||
if (this.duration === 0 && this.useSeconds) { // jump to last frame if zero second duration
|
||||
this.totalFrames = 1;
|
||||
} |
||||
YAHOO.util.AnimMgr.registerElement(this); |
||||
return true; |
||||
}, |
||||
|
||||
stop : function(finish) { |
||||
if (!this.isAnimated()) { // nothing to stop
|
||||
return false; |
||||
} |
||||
|
||||
if (finish) { |
||||
this.currentFrame = this.totalFrames; |
||||
this._onTween.fire(); |
||||
} |
||||
YAHOO.util.AnimMgr.stop(this); |
||||
}, |
||||
|
||||
doOnStart : function() {
|
||||
this.onStart.fire(); |
||||
|
||||
this.runtimeItems = []; |
||||
for (var i=0; i<this.animationItems.length; i++) { |
||||
this.setRuntimeItem(this.animationItems[i]); |
||||
} |
||||
|
||||
this.animated = true; |
||||
this.actualFrames = 0; |
||||
this.startTime = new Date();
|
||||
}, |
||||
|
||||
doOnTween : function() { |
||||
var data = { |
||||
duration: new Date() - this.getStartTime(), |
||||
currentFrame: this.currentFrame |
||||
}; |
||||
|
||||
data.toString = function() { |
||||
return ( |
||||
'duration: ' + data.duration + |
||||
', currentFrame: ' + data.currentFrame |
||||
); |
||||
}; |
||||
|
||||
this.onTween.fire(data); |
||||
|
||||
this.actualFrames += 1; |
||||
|
||||
var runtimeItems = this.runtimeItems; |
||||
|
||||
for (var i=0; i < runtimeItems.length; i++) { |
||||
this.setItemAttributes(runtimeItems[i]);
|
||||
} |
||||
|
||||
}, |
||||
|
||||
doOnComplete : function() { |
||||
var actual_duration = (new Date() - this.getStartTime()) / 1000 ; |
||||
|
||||
var data = { |
||||
duration: actual_duration, |
||||
frames: this.actualFrames, |
||||
fps: this.actualFrames / actual_duration |
||||
}; |
||||
|
||||
data.toString = function() { |
||||
return ( |
||||
'duration: ' + data.duration + |
||||
', frames: ' + data.frames + |
||||
', fps: ' + data.fps |
||||
); |
||||
}; |
||||
|
||||
this.animated = false; |
||||
this.actualFrames = 0; |
||||
this.onComplete.fire(data); |
||||
}, |
||||
|
||||
setRuntimeItem: function(item){ |
||||
var runtimeItem = {}; |
||||
runtimeItem.item = item.item; |
||||
runtimeItem.attribute = {}; |
||||
for(var attr in item.attribute){ |
||||
runtimeItem.attribute[attr] = item.attribute[attr]; |
||||
if(attr == 'angle'){ |
||||
if(item.attribute[attr].start - item.attribute[attr].end > 0){ |
||||
runtimeItem.attribute[attr].perspectiveDirection = this.direction; |
||||
runtimeItem.attribute[attr].center = true; |
||||
}else{ |
||||
runtimeItem.attribute[attr].perspectiveDirection = this.direction == CoverFlow.RIGHT ? CoverFlow.LEFT : CoverFlow.RIGHT; |
||||
runtimeItem.attribute[attr].center = false; |
||||
} |
||||
} |
||||
} |
||||
this.runtimeItems.push(runtimeItem); |
||||
}, |
||||
|
||||
setItemAttributes: function(item){ |
||||
|
||||
for(var attr in item.attribute){ |
||||
|
||||
var value = Math.ceil(this.doMethod(item.attribute[attr].start, item.attribute[attr].end)); |
||||
|
||||
if(attr == 'angle'){ |
||||
item.item.setAngle(value); |
||||
var frameSize = Math.ceil(this.doMethod(3, 1)); |
||||
item.item.drawInPerspective(item.attribute[attr].perspectiveDirection, frameSize); |
||||
var left; |
||||
if(item.attribute[attr].center){ |
||||
left = this.doMethod(item.item.getLeft(), this.center - item.item.element.width/2); |
||||
}else{ |
||||
if(this.direction == CoverFlow.LEFT) |
||||
left = this.doMethod(item.item.getLeft(), this.startLeftPos - item.item.element.width); |
||||
else |
||||
left = this.doMethod(item.item.getLeft(), this.startRightPos); |
||||
} |
||||
item.item.setLeft(Math.ceil(left)); |
||||
|
||||
}else{ |
||||
item.item.setLeft(value); |
||||
} |
||||
} |
||||
} |
||||
}; |
||||
|
||||
//});
|
@ -1,37 +0,0 @@
|
||||
|
||||
|
||||
|
||||
YAHOO.util.Event.onDOMReady(function(){ |
||||
|
||||
var images = [ |
||||
{src: 'images/ardillitaMac.jpg', label: 'Ardileta!', onclick: function(){alert('image1');}}, |
||||
{src: 'http://farm2.static.flickr.com/1380/1426855399_b4b8eccbdb.jpg?v=0'}, |
||||
{src: 'http://farm1.static.flickr.com/69/213130158_0d1aa23576_d.jpg'}, |
||||
{src: 'http://farm1.static.flickr.com/69/213130158_0d1aa23576_d.jpg'}, |
||||
{src: 'images/msn2.jpg', label: 'My Mac'}, |
||||
{src: 'images/msn2.jpg', label: 'My Mac again...'} |
||||
|
||||
]; |
||||
var myCoverFlow = new YAHOO.ext.CoverFlow('coverFlowTest', {height: 200, width: 600, images: images}); |
||||
|
||||
function moveLeft(e, coverFlow){ |
||||
coverFlow.selectNext(); |
||||
} |
||||
function moveRight(e, coverFlow){ |
||||
coverFlow.selectPrevious(); |
||||
} |
||||
var myMoveLeftBtn = new YAHOO.widget.Button('moveLeftButton', {onclick: {fn: moveLeft, obj: myCoverFlow}}); |
||||
var myMoveRightBtn = new YAHOO.widget.Button('moveRightButton', {onclick: {fn: moveRight, obj: myCoverFlow}}); |
||||
|
||||
|
||||
var otherImages = [ |
||||
{src: 'images/ardillitaMac.jpg', label: 'Ardileta!', onclick: function(){alert('image1');}}, |
||||
{src: 'images/msn2.jpg', label: 'My Mac'}, |
||||
{src: 'images/msn2.jpg', label: 'My Mac again...'} |
||||
|
||||
];
|
||||
var anotherCoverFlow = new YAHOO.ext.CoverFlow('anotherCoverFlowTest', {height: 150, width: 500, images: otherImages, bgColor: '#C0C0C0'}); |
||||
|
||||
|
||||
|
||||
}); |
@ -1,218 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="standard_qt"> |
||||
<mimetypes> |
||||
<type>video/quicktime</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="OBJ"> |
||||
<method> |
||||
<file>plugins/qt_viewer.inc</file> |
||||
<class_name>ShowQtStreamsInFieldSets</class_name> |
||||
<method_name>showQt</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="QDC"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showQdc</method_name> |
||||
</method> |
||||
</datastream> |
||||
</display_in_fieldset> |
||||
<!-- ingest rules element is required and must have a rule that applies to the mimetypes above or ingest will fail even if the rule has no methods--> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
video/quicktime |
||||
</applies_to> |
||||
<methods/> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/QtFormBuilder.php</file> |
||||
<class_name>QtFormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Video Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the Video</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
|
||||
<item> |
||||
<field>home recording</field> |
||||
<value>home recording</value> |
||||
</item> |
||||
<item> |
||||
<field>meeting</field> |
||||
<value>meeting</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
|
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description of Video</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>select</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>none</field> |
||||
<value>none</value> |
||||
</item> |
||||
<item> |
||||
<field>video</field> |
||||
<value>video</value> |
||||
</item> |
||||
|
||||
<item> |
||||
<field>event</field> |
||||
<value>event</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>interactive resource</field> |
||||
<value>interactive resource</value> |
||||
</item> |
||||
<item> |
||||
<field>model</field> |
||||
<value>model</value> |
||||
</item> |
||||
<item> |
||||
<field>party</field> |
||||
<value>party</value> |
||||
</item> |
||||
<item> |
||||
<field>physical object</field> |
||||
<value>physical object</value> |
||||
</item> |
||||
<item> |
||||
<field>place</field> |
||||
<value>place</value> |
||||
</item> |
||||
<item> |
||||
<field>service</field> |
||||
<value>service</value> |
||||
</item> |
||||
<item> |
||||
<field>software</field> |
||||
<value>software</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,218 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="standard_qt"> |
||||
<mimetypes> |
||||
<type>video/quicktime</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="OBJ"> |
||||
<method> |
||||
<file>plugins/qt_viewer.inc</file> |
||||
<class_name>ShowQtStreamsInFieldSets</class_name> |
||||
<method_name>showQt</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="QDC"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showQdc</method_name> |
||||
</method> |
||||
</datastream> |
||||
</display_in_fieldset> |
||||
<!-- ingest rules element is required and must have a rule that applies to the mimetypes above or ingest will fail even if the rule has no methods--> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
video/quicktime |
||||
</applies_to> |
||||
<methods/> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/QtFormBuilder.php</file> |
||||
<class_name>QtFormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Video Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the Video</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
|
||||
<item> |
||||
<field>home recording</field> |
||||
<value>home recording</value> |
||||
</item> |
||||
<item> |
||||
<field>meeting</field> |
||||
<value>meeting</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
|
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description of Video</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>select</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>none</field> |
||||
<value>none</value> |
||||
</item> |
||||
<item> |
||||
<field>video</field> |
||||
<value>video</value> |
||||
</item> |
||||
|
||||
<item> |
||||
<field>event</field> |
||||
<value>event</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>interactive resource</field> |
||||
<value>interactive resource</value> |
||||
</item> |
||||
<item> |
||||
<field>model</field> |
||||
<value>model</value> |
||||
</item> |
||||
<item> |
||||
<field>party</field> |
||||
<value>party</value> |
||||
</item> |
||||
<item> |
||||
<field>physical object</field> |
||||
<value>physical object</value> |
||||
</item> |
||||
<item> |
||||
<field>place</field> |
||||
<value>place</value> |
||||
</item> |
||||
<item> |
||||
<field>service</field> |
||||
<value>service</value> |
||||
</item> |
||||
<item> |
||||
<field>software</field> |
||||
<value>software</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,88 +0,0 @@
|
||||
<content_model xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Collection" version="2" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules></ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="DC"> |
||||
<display_method class="CollectionClass" file="CollectionClass.inc" method="showFieldSets" module=""></display_method> |
||||
</datastream> |
||||
<datastream dsid="TN"></datastream> |
||||
<datastream dsid="COLLECTION_POLICY"></datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="CollectionFormBuilder" file="plugins/CollectionFormBuilder.inc" handler="handleQDCForm" method="buildQDCForm" module=""></form_builder_method> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>Multi Media</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,105 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!--This model is incomplete only the showStreams in Fieldset is currently used--> |
||||
<content_model name="CRITTERS"> |
||||
<display_in_fieldset> |
||||
<datastream id="QDC"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showQdc</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="CRITTERS"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showCritter</method_name> |
||||
</method> |
||||
</datastream> |
||||
</display_in_fieldset> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
|
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
text/xml |
||||
</applies_to> |
||||
<applies_to> |
||||
text/plain |
||||
</applies_to> |
||||
<applies_to> |
||||
|
||||
application/xml |
||||
</applies_to> |
||||
<methods> |
||||
|
||||
</methods> |
||||
<disseminators> |
||||
<disseminator> |
||||
<name>dis1</name> |
||||
<parameters> |
||||
<parameter name="param1"> |
||||
|
||||
200 |
||||
</parameter> |
||||
</parameters> |
||||
</disseminator> |
||||
</disseminators> |
||||
</rule> |
||||
<rule> |
||||
<!--Method will be called for all text/xml datastreams added so we would have to check that namespace=critters in the xml or something to only do critters schema--> |
||||
<applies_to>text/xml</applies_to> |
||||
|
||||
<methods> |
||||
<method> |
||||
<name>addCritterToDCStream</name> |
||||
<datastream_id>critter</datastream_id> |
||||
</method> |
||||
<method> |
||||
<name>another XMLFile</name> |
||||
|
||||
<datastream_id>someotherstream</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/Refworks.inc</file> |
||||
<class_name>Refworks</class_name> |
||||
|
||||
<method_name>buildForm</method_name> |
||||
<form_handler>handleForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Ingest</label> |
||||
|
||||
<name>hiddenvalue</name> |
||||
<value>hidden</value> |
||||
<type>hidden</type> |
||||
<prefix>We now have all the information we need to ingest.</prefix> |
||||
<description>The name given to the resource</description> |
||||
<required>false</required> |
||||
|
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
<!-- show the external links on the objects page --> |
||||
<external_links> |
||||
<link url="http://www.romeo.com"> |
||||
<url_parameters> |
||||
<parameter name="file"> |
||||
dc.title |
||||
</parameter> |
||||
|
||||
<parameter/> |
||||
</url_parameters> |
||||
</link> |
||||
</external_links> |
||||
</content_model> |
@ -1,166 +0,0 @@
|
||||
<content_model name="standard_slide"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
<type>image/tif</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JPG"> |
||||
<method> |
||||
<file>plugins/slide_viewer.inc</file> |
||||
<class_name>ShowSlideStreamsInFieldSets</class_name> |
||||
<method_name>showJPG</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="JP2"/> |
||||
<datastream id="FULL_SIZE"/> |
||||
<datastream id="FULL_JPG"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
image/tiff |
||||
</applies_to> |
||||
<applies_to> |
||||
image/tif |
||||
</applies_to> |
||||
<methods> |
||||
<method> |
||||
<file>plugins/ImageManipulation.inc</file> |
||||
<class_name>ImageManipulation</class_name> |
||||
<method_name>createJP2</method_name> |
||||
<modified_files_ext>jp2</modified_files_ext> |
||||
<datastream_id>JP2</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/DemoFormBuilder.inc</file> |
||||
<class_name>DemoFormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Image Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the resource</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/Photographer</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>Subject</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>photograph</field> |
||||
<value>photograph</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>art</field> |
||||
<value>art</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Description of the Image</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>textfield</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,3 +0,0 @@
|
||||
This directory holds content model xml files. These files should be added |
||||
as datastreams to fedora objects. The pid and datastream id are determined |
||||
by the collection policy stream of a collection object. |
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="REFWORKS"> |
||||
<display_in_fieldset> |
||||
<datastream id="QDC"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showQdc</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="refworks"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showRefworks</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="romeo"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showRomeo</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="OBJ"> |
||||
|
||||
</datastream> |
||||
<datastream id="DOC"> |
||||
|
||||
</datastream> |
||||
</display_in_fieldset> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
text/xml |
||||
</applies_to> |
||||
<applies_to> |
||||
text/plain |
||||
</applies_to> |
||||
<applies_to> |
||||
application/xml |
||||
</applies_to> |
||||
<methods> |
||||
|
||||
</methods> |
||||
|
||||
</rule> |
||||
|
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/Refworks.inc</file> |
||||
<class_name>Refworks</class_name> |
||||
<method_name>buildForm</method_name> |
||||
<form_handler>handleForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Ingest</label> |
||||
<name>hiddenvalue</name> |
||||
<value>hidden</value> |
||||
<type>hidden</type> |
||||
<prefix>We now have all the information we need to ingest.</prefix> |
||||
<description>The name given to the resource</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
|
||||
</content_model> |
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="REFWORKS"> |
||||
<display_in_fieldset> |
||||
<datastream id="QDC"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showQdc</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="refworks"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showRefworks</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="romeo"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showRomeo</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="OBJ"> |
||||
|
||||
</datastream> |
||||
<datastream id="DOC"> |
||||
|
||||
</datastream> |
||||
</display_in_fieldset> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
text/xml |
||||
</applies_to> |
||||
<applies_to> |
||||
text/plain |
||||
</applies_to> |
||||
<applies_to> |
||||
application/xml |
||||
</applies_to> |
||||
<methods> |
||||
|
||||
</methods> |
||||
|
||||
</rule> |
||||
|
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/Refworks.inc</file> |
||||
<class_name>Refworks</class_name> |
||||
<method_name>buildForm</method_name> |
||||
<form_handler>handleForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Ingest</label> |
||||
<name>hiddenvalue</name> |
||||
<value>hidden</value> |
||||
<type>hidden</type> |
||||
<prefix>We now have all the information we need to ingest.</prefix> |
||||
<description>The name given to the resource</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
|
||||
</content_model> |
@ -1,95 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<content_model xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="standard_jpeg" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>image/jpeg</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>image/jpeg</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method module="" file="plugins/ImageManipulation.inc" class="ImageManipulation" method="manipulateImage" dsid="MEDIUM_SIZE" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="width">160</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
<ingest_method module="" file="plugins/ImageManipulation.inc" class="ImageManipulation" method="manipulateImage" dsid="TN" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="width">120</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="MEDIUM_SIZE"> |
||||
<display_method module="" file="plugins/ShowDemoStreamsInFieldSets.inc" class="ShowDemoStreamsInFieldSets" method="showMediumSize"/> |
||||
</datastream> |
||||
<datastream dsid="QDC"> |
||||
<display_method module="" file="plugins/ShowStreamsInFieldSets.inc" class="ShowStreamsInFieldSets" method="showQdc"/> |
||||
</datastream> |
||||
<datastream dsid="FULL_SIZE"> |
||||
<add_datastream_method module="" file="plugins/ImageManipulation.inc" class="ImageManipulation" method="manipulateImage" dsid="MEDIUM_SIZE" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="width">120</parameter> |
||||
<parameter name="height">160</parameter> |
||||
</parameters> |
||||
</add_datastream_method> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method module="" file="plugins/DemoFormBuilder.inc" class="DemoFormBuilder" method="buildQDCForm" handler="handleQDCForm"/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Image Name" name="dc:title" type="textfield" required="true"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>Subject</description> |
||||
<authoritative_list> |
||||
<item>image</item> |
||||
<item>photograph</item> |
||||
<item>presentation</item> |
||||
<item>art</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" type="textarea" required="true"> |
||||
<description>Description of the Image</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="textfield"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,236 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="standard_pdf"> |
||||
<mimetypes> |
||||
<type>application/pdf</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
application/pdf |
||||
</applies_to> |
||||
<methods> |
||||
<method> |
||||
<file>plugins/ImageManipulation.inc</file> |
||||
<class_name>ImageManipulation</class_name> |
||||
<method_name>createThumbnailFromPDF</method_name> |
||||
<modified_files_ext>jpg</modified_files_ext> |
||||
<datastream_id>TN</datastream_id> |
||||
<parameters> |
||||
<parameter name="width">100</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</method> |
||||
</methods> |
||||
<disseminators> |
||||
<disseminator> |
||||
<name>dis1</name> |
||||
<parameters> |
||||
<parameter name="param1"> |
||||
200 |
||||
</parameter> |
||||
</parameters> |
||||
</disseminator> |
||||
</disseminators> |
||||
</rule> |
||||
</ingest_rules>a868aef684fa34923d4fe697db1e785b |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/FormBuilder.inc</file> |
||||
<class_name>FormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Object Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the resource</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/Photographer/Author</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>experiment session</field> |
||||
<value>experiment session</value> |
||||
</item> |
||||
<item> |
||||
<field>home recording</field> |
||||
<value>home recording</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>meeting</field> |
||||
<value>meeting</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>select</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>none</field> |
||||
<value>none</value> |
||||
</item> |
||||
<item> |
||||
<field>collection</field> |
||||
<value>collection</value> |
||||
</item> |
||||
<item> |
||||
<field>dataset</field> |
||||
<value>dataset</value> |
||||
</item> |
||||
<item> |
||||
<field>event</field> |
||||
<value>event</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>interactive resource</field> |
||||
<value>interactive resource</value> |
||||
</item> |
||||
<item> |
||||
<field>model</field> |
||||
<value>model</value> |
||||
</item> |
||||
<item> |
||||
<field>party</field> |
||||
<value>party</value> |
||||
</item> |
||||
<item> |
||||
<field>physical object</field> |
||||
<value>physical object</value> |
||||
</item> |
||||
<item> |
||||
<field>place</field> |
||||
<value>place</value> |
||||
</item> |
||||
<item> |
||||
<field>service</field> |
||||
<value>service</value> |
||||
</item> |
||||
<item> |
||||
<field>software</field> |
||||
<value>software</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,218 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="standard_flv"> |
||||
<mimetypes> |
||||
<type>video/x-flv</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="FLV"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showFLV</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="QDC"> |
||||
<method> |
||||
<file>plugins/ShowStreamsInFieldSets.inc</file> |
||||
<class_name>ShowStreamsInFieldSets</class_name> |
||||
<method_name>showQdc</method_name> |
||||
</method> |
||||
</datastream> |
||||
</display_in_fieldset> |
||||
<!-- ingest rules element is required and must have a rule that applies to the mimetypes above or ingest will fail even if the rule has no methods--> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
video/x-flv |
||||
</applies_to> |
||||
<methods/> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/FlvFormBuilder.inc</file> |
||||
<class_name>FlvFormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Video Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the Video</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
|
||||
<item> |
||||
<field>home recording</field> |
||||
<value>home recording</value> |
||||
</item> |
||||
<item> |
||||
<field>meeting</field> |
||||
<value>meeting</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
|
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description of Video</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>select</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>none</field> |
||||
<value>none</value> |
||||
</item> |
||||
<item> |
||||
<field>video</field> |
||||
<value>video</value> |
||||
</item> |
||||
|
||||
<item> |
||||
<field>event</field> |
||||
<value>event</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>interactive resource</field> |
||||
<value>interactive resource</value> |
||||
</item> |
||||
<item> |
||||
<field>model</field> |
||||
<value>model</value> |
||||
</item> |
||||
<item> |
||||
<field>party</field> |
||||
<value>party</value> |
||||
</item> |
||||
<item> |
||||
<field>physical object</field> |
||||
<value>physical object</value> |
||||
</item> |
||||
<item> |
||||
<field>place</field> |
||||
<value>place</value> |
||||
</item> |
||||
<item> |
||||
<field>service</field> |
||||
<value>service</value> |
||||
</item> |
||||
<item> |
||||
<field>software</field> |
||||
<value>software</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,271 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<content_model name="standard_image"> |
||||
<mimetypes> |
||||
<type>image/jpeg</type> |
||||
<type>image/gif</type> |
||||
<type>image/png</type> |
||||
<type>image/tiff</type> |
||||
<type>image/tif</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
image/jpeg |
||||
</applies_to> |
||||
<applies_to> |
||||
image/gif |
||||
</applies_to> |
||||
<applies_to> |
||||
image/png |
||||
</applies_to> |
||||
<applies_to> |
||||
image/tiff |
||||
</applies_to> |
||||
<applies_to> |
||||
image/tif |
||||
</applies_to> |
||||
<!--ingest methods to call--> |
||||
<methods> |
||||
<method> |
||||
<file>plugins/ImageManipulation.inc</file> |
||||
<class_name>ImageManipulation</class_name> |
||||
<method_name>createThumbnail</method_name> |
||||
<modified_files_ext>jpg</modified_files_ext> |
||||
<datastream_id>TN</datastream_id> |
||||
<parameters> |
||||
<parameter name="width">100</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</method> |
||||
<method> |
||||
<file>plugins/ImageManipulation.inc</file> |
||||
<class_name>ImageManipulation</class_name> |
||||
<method_name>createPNG</method_name> |
||||
<modified_files_ext>png</modified_files_ext> |
||||
<datastream_id>PNG</datastream_id> |
||||
</method> |
||||
<method> |
||||
<file>plugins/ImageManipulation.inc</file> |
||||
<class_name>ImageManipulation</class_name> |
||||
<method_name>createPreview</method_name> |
||||
<modified_files_ext>jpg</modified_files_ext> |
||||
<datastream_id>PRE</datastream_id> |
||||
<parameters> |
||||
<parameter name="width">240</parameter> |
||||
<parameter name="height">300</parameter> |
||||
</parameters> |
||||
</method> |
||||
</methods> |
||||
<disseminators> |
||||
<disseminator> |
||||
<name>dis1</name> |
||||
<parameters> |
||||
<parameter name="param1"> |
||||
200 |
||||
</parameter> |
||||
</parameters> |
||||
</disseminator> |
||||
</disseminators> |
||||
</rule> |
||||
</ingest_rules>a868aef684fa34923d4fe697db1e785b |
||||
<ingest_form dsid='QDC' page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/FormBuilder.inc</file> |
||||
<class_name>FormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
<!--need validation method as well--> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Object Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the resource</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/Photographer/Author</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
<authoritative_list > |
||||
<item> |
||||
<field>experiment session</field> |
||||
<value>experiment session</value> |
||||
</item> |
||||
<item> |
||||
<field>home recording</field> |
||||
<value>home recording</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>meeting</field> |
||||
<value>meeting</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>select</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
<authoritative_list > |
||||
<item> |
||||
<field>none</field> |
||||
<value>none</value> |
||||
</item> |
||||
<item> |
||||
<field>collection</field> |
||||
<value>collection</value> |
||||
</item> |
||||
<item> |
||||
<field>dataset</field> |
||||
<value>dataset</value> |
||||
</item> |
||||
<item> |
||||
<field>event</field> |
||||
<value>event</value> |
||||
</item> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>interactive resource</field> |
||||
<value>interactive resource</value> |
||||
</item> |
||||
<item> |
||||
<field>model</field> |
||||
<value>model</value> |
||||
</item> |
||||
<item> |
||||
<field>party</field> |
||||
<value>party</value> |
||||
</item> |
||||
<item> |
||||
<field>physical object</field> |
||||
<value>physical object</value> |
||||
</item> |
||||
<item> |
||||
<field>place</field> |
||||
<value>place</value> |
||||
</item> |
||||
<item> |
||||
<field>service</field> |
||||
<value>service</value> |
||||
</item> |
||||
<item> |
||||
<field>software</field> |
||||
<value>software</value> |
||||
</item> |
||||
<item> |
||||
<field>sound</field> |
||||
<value>sound</value> |
||||
</item> |
||||
<item> |
||||
<field>text</field> |
||||
<value>text</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list > |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,95 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<content_model xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="standard_jpeg" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>image/jpeg</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>image/jpeg</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method module="" file="plugins/ImageManipulation.inc" class="ImageManipulation" method="manipulateImage" dsid="MEDIUM_SIZE" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="width">160</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
<ingest_method module="" file="plugins/ImageManipulation.inc" class="ImageManipulation" method="manipulateImage" dsid="TN" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="width">120</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="MEDIUM_SIZE"> |
||||
<display_method module="" file="plugins/ShowDemoStreamsInFieldSets.inc" class="ShowDemoStreamsInFieldSets" method="showMediumSize"/> |
||||
</datastream> |
||||
<datastream dsid="QDC"> |
||||
<display_method module="" file="plugins/ShowStreamsInFieldSets.inc" class="ShowStreamsInFieldSets" method="showQdc"/> |
||||
</datastream> |
||||
<datastream dsid="FULL_SIZE"> |
||||
<add_datastream_method module="" file="plugins/ImageManipulation.inc" class="ImageManipulation" method="manipulateImage" dsid="MEDIUM_SIZE" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="width">120</parameter> |
||||
<parameter name="height">160</parameter> |
||||
</parameters> |
||||
</add_datastream_method> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method module="" file="plugins/DemoFormBuilder.inc" class="DemoFormBuilder" method="buildQDCForm" handler="handleQDCForm"/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Image Name" name="dc:title" type="textfield" required="true"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>Subject</description> |
||||
<authoritative_list> |
||||
<item>image</item> |
||||
<item>photograph</item> |
||||
<item>presentation</item> |
||||
<item>art</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" type="textarea" required="true"> |
||||
<description>Description of the Image</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="textfield"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,137 +0,0 @@
|
||||
|
||||
<content_model xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="standard_qt" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>video/quicktime</type> |
||||
<type>video/mp4</type> |
||||
|
||||
<type>audio/mp3</type> |
||||
<type>audio/x-aiff</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>video/quicktime</applies_to> |
||||
<applies_to>video/mp4</applies_to> |
||||
|
||||
<applies_to>audio/mp3</applies_to> |
||||
<applies_to>audio/x-aiff</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method file="plugins/Exiftool.inc" class="Exiftool" method="extractMetadata" dsid="OBJ_EXIFTOOL" modified_files_ext=""> |
||||
<parameters></parameters> |
||||
</ingest_method> |
||||
|
||||
<ingest_method class="Ffmpeg" dsid="FULL_SIZE" file="plugins/Ffmpeg.inc" method="extract_thumbnail" modified_files_ext="jpg"> |
||||
<parameters> |
||||
</parameters> |
||||
</ingest_method> |
||||
|
||||
<ingest_method class="Ffmpeg" dsid="TN" file="plugins/Ffmpeg.inc" method="extract_thumbnail" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="s">92x92</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="OBJ"> |
||||
<display_method class="ShowQtStreamsInFieldSets" file="plugins/qt_viewer.inc" method="showQt" module=""></display_method> |
||||
</datastream> |
||||
<datastream dsid="PROXY"></datastream> |
||||
<datastream dsid="OBJ_EXIFTOOL"></datastream> |
||||
<datastream dsid="TN"></datastream> |
||||
<datastream dsid="FULL_SIZE"></datastream> |
||||
<datastream dsid="QDC"> |
||||
<display_method class="ShowStreamsInFieldSets" file="plugins/ShowStreamsInFieldSets.inc" method="showQdc" module=""></display_method> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="QtFormBuilder" file="plugins/QtFormBuilder.php" handler="handleQDCForm" method="buildQDCForm" module=""></form_builder_method> |
||||
<form_elements> |
||||
<element label="Title/Caption/Media Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the file</description> |
||||
</element> |
||||
<element label="Creator/" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the |
||||
content of the resource such as a person, organization or |
||||
service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the |
||||
content of the resource such as a person, organization or |
||||
service.</description> |
||||
<authoritative_list> |
||||
<item>home recording</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description of Media" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of |
||||
contents, or free-text account of the content of the |
||||
resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, |
||||
or services), responsible for making the resource |
||||
available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the |
||||
content of the resource such as a person, organization or |
||||
service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date |
||||
format is YYYY-MM-DD (e.g. 1890,1910-10,or |
||||
2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples |
||||
include: home page, novel, poem, working paper, technical |
||||
report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>video</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the |
||||
present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this |
||||
instance, the accession number or collection |
||||
number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of |
||||
the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property |
||||
rights, copyright, and various property |
||||
rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
|
@ -1,107 +0,0 @@
|
||||
<content_model name="strict_pdf" xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>application/pdf</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>application/pdf</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method class="ImageManipulation" dsid="TN" file="plugins/ImageManipulation.inc" |
||||
method="createThumbnailFromPDF" modified_files_ext="jpg" module=""> |
||||
<parameters> |
||||
<parameter name="width">100</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="TN"> |
||||
<display_method class="ShowStreamsInFieldSets" file="plugins/ShowStreamsInFieldSets.inc" method="showPDFPreview" module=""/> |
||||
</datastream> |
||||
<datastream dsid="OBJ"> |
||||
<add_datastream_method class="ImageManipulation" dsid="TN" file="plugins/ImageManipulation.inc" |
||||
method="createThumbnailFromPDF" modified_files_ext="jpg" module=""> |
||||
<parameters> |
||||
<parameter name="width">100</parameter> |
||||
<parameter name="height">120</parameter> |
||||
</parameters> |
||||
</add_datastream_method> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="FormBuilder" file="plugins/FormBuilder.inc" handler="handleQDCForm" |
||||
method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>experiment session</item> |
||||
<item>home recording</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="demo:Collection" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Service Definition Object (Collection) for Image Collection Demo"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2008-07-02T05:09:42.015Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-03-29T14:15:20.712Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.015Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-03-29T14:15:20.712Z</audit:date> |
||||
<audit:justification>Ingested from local file /usr/local/fedora/client/demo/foxml/local-server-demos/image-collection-demo/sDefObjects/demo_Collection.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.125Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="432"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Service Definition Object (Collection) for Image Collection Demo</dc:title> |
||||
<dc:identifier>demo:Collection</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.125Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="404"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/demo:Collection"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDefinition-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.125Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP1.0" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="401"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="MethodMap - Collection of Objects" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationLabel="An xml list of members in the collection" operationName="list"/> |
||||
<fmm:Method operationLabel="An html representation of the collection" operationName="view"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,196 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="demo:CollectionImpl" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Service Deployment Object (Collection) for Image Collection Demo"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2008-07-02T05:09:42.015Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-03-29T14:15:20.819Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.015Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-03-29T14:15:20.819Z</audit:date> |
||||
<audit:justification>Ingested from local file /usr/local/fedora/client/demo/foxml/local-server-demos/image-collection-demo/sDepObjects/demo_CollectionImpl.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.171Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="494"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Service Deployment Object (Collection) for Image Collection Demo</dc:title> |
||||
<dc:identifier>demo:ImageCollectionImpl</dc:identifier> |
||||
<dc:identifier>demo:CollectionImpl</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.171Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.1" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="674"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/demo:CollectionImpl"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"/> |
||||
<fedora-model:isDeploymentOf rdf:resource="info:fedora/demo:Collection"/> |
||||
<fedora-model:isContractorOf rdf:resource="info:fedora/demo:DualResImageCollection"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.171Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP1.0" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="1948"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="MethodMap - Image Collection" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationLabel="An html representation of the collection" operationName="view" |
||||
wsdlMsgName="viewRequest" wsdlMsgOutput="dissemResponse"> |
||||
<fmm:DatastreamInputParm label="Stylesheet to transform LIST into html" parmName="XSLT" passBy="URL_REF" required="true"/> |
||||
<fmm:DatastreamInputParm label="The result of the list dissemination as a datastream" parmName="LIST" |
||||
passBy="URL_REF" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="yes" label="Whether to reload the stylesheet each time" |
||||
parmName="CLEAR_CACHE" passBy="VALUE" required="true"/> |
||||
<fmm:MethodReturnType wsdlMsgName="dissemResponse" wsdlMsgTOMIME="text/html"/> |
||||
</fmm:Method> |
||||
<fmm:Method operationLabel="An xml list of members in the collection" operationName="list" |
||||
wsdlMsgName="listRequest" wsdlMsgOutput="dissemResponse"> |
||||
<fmm:DatastreamInputParm defaultValue="" label="" parmName="QUERY" passBy="URL_REF" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="tuples" label="" parmName="TYPE" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="itql" label="" parmName="LANG" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="Sparql" label="" parmName="FORMAT" passBy="VALUE" required="true"/> |
||||
<fmm:MethodReturnType wsdlMsgName="dissemResponse" wsdlMsgTOMIME="text/xml"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2004-12-17T15:32:11.000Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC1.0" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="1194"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="Datastream Input Specification for Image Collection" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="XSLT"> |
||||
<fbs:DSInputLabel>XSLT Binding</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="LIST"> |
||||
<fbs:DSInputLabel>LIST Binding</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="QUERY"> |
||||
<fbs:DSInputLabel>QUERY Binding</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/plain</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.171Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL1.0" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="5242"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="ImageCollection" targetNamespace="bmech" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="bmech" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:types> |
||||
<xsd:schema targetNamespace="bmech"> |
||||
<xsd:simpleType name="TYPEType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="QUERYType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="XSLTType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="LANGType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="LISTType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="CLEAR_CACHEType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="FORMATType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
</xsd:schema> |
||||
</wsdl:types> |
||||
<wsdl:message name="viewRequest"> |
||||
<wsdl:part name="XSLT" type="this:XSLTType"/> |
||||
<wsdl:part name="LIST" type="this:LISTType"/> |
||||
<wsdl:part name="CLEAR_CACHE" type="this:CLEAR_CACHEType"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="listRequest"> |
||||
<wsdl:part name="TYPE" type="this:TYPEType"/> |
||||
<wsdl:part name="QUERY" type="this:QUERYType"/> |
||||
<wsdl:part name="LANG" type="this:LANGType"/> |
||||
<wsdl:part name="FORMAT" type="this:FORMATType"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="dissemResponse"> |
||||
<wsdl:part name="dissem" type="xsd:base64Binary"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="ImageCollectionPortType"> |
||||
<wsdl:operation name="view"> |
||||
<wsdl:input message="this:viewRequest"/> |
||||
<wsdl:output message="this:dissemResponse"/> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="list"> |
||||
<wsdl:input message="this:listRequest"/> |
||||
<wsdl:output message="this:dissemResponse"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="ImageCollection"> |
||||
<wsdl:port binding="this:ImageCollection_http" name="ImageCollection_port"> |
||||
<http:address location="LOCAL"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="ImageCollection_http" type="this:ImageCollectionPortType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="view"> |
||||
<http:operation location="http://local.fedora.server/saxon/SaxonServlet?source=(LIST)&style=(XSLT)&clear-stylesheet-cache=(CLEAR_CACHE)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/html"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="list"> |
||||
<http:operation location="http://local.fedora.server/fedora/risearch?type=(TYPE)&lang=(LANG)&format=(FORMAT)&query=(QUERY)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/xml"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="demo:DualResImage" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Content Model Object (Image) for Image Collection Demo"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2007-08-15T14:36:32.085Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-03-29T14:15:19.456Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2007-08-15T14:36:32.085Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-03-29T14:15:19.456Z</audit:date> |
||||
<audit:justification>Ingested from local file /usr/local/fedora/client/demo/foxml/local-server-demos/image-collection-demo/cModelObjects/demo_DualResImage.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.890Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="424"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Content Model Object (Image) for Image Collection Demo</dc:title> |
||||
<dc:identifier>demo:DualResImage</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.890Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="472"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/demo:DualResImage"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ContentModel-3.0"/> |
||||
<fedora-model:hasService rdf:resource="info:fedora/demo:DualResolution"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DS-COMPOSITE-MODEL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2007-08-15T14:36:30.369Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSCompositeModel-1.0" ID="DS-COMPOSITE-MODEL1.0" |
||||
LABEL="Datastream Composite Model" MIMETYPE="text/xml" SIZE="651"> |
||||
<foxml:xmlContent> |
||||
<dsCompositeModel xmlns="info:fedora/fedora-system:def/dsCompositeModel#"> |
||||
<dsTypeModel ID="DC"> |
||||
<form FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="RELS-EXT"> |
||||
<form FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" MIME="application/rdf+xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="MEDIUM_SIZE"> |
||||
<form MIME="image/jpeg"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="FULL_SIZE"> |
||||
<form MIME="image/jpeg"/> |
||||
</dsTypeModel> |
||||
</dsCompositeModel> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="demo:DualResImageCollection" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Content Model Object (Image Collection) for Image Collection Demo"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2007-08-15T14:36:34.682Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-03-29T14:15:19.509Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2007-08-15T14:36:34.682Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-03-29T14:15:19.509Z</audit:date> |
||||
<audit:justification>Ingested from local file /usr/local/fedora/client/demo/foxml/local-server-demos/image-collection-demo/cModelObjects/demo_DualResImageCollection.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.906Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="445"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Content Model Object (Image Collection) for Image Collection Demo</dc:title> |
||||
<dc:identifier>demo:DualResImageCollection</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.906Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="478"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/demo:DualResImageCollection"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ContentModel-3.0"/> |
||||
<fedora-model:hasService rdf:resource="info:fedora/demo:Collection"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DS-COMPOSITE-MODEL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2007-08-15T14:36:30.369Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSCompositeModel-1.0" ID="DS-COMPOSITE-MODEL1.0" |
||||
LABEL="Datastream Composite Model" MIMETYPE="text/xml" SIZE="410"> |
||||
<foxml:xmlContent> |
||||
<dsCompositeModel xmlns="info:fedora/fedora-system:def/dsCompositeModel#"> |
||||
<dsTypeModel ID="QUERY"> |
||||
<form MIME="text/plain"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="XSLT"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="LIST"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
</dsCompositeModel> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,162 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="demo:DualResImageImpl" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Service Deployment Object (Image) for Image Collection Demo"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2008-07-02T05:09:42.015Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-03-29T14:15:20.881Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.015Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-03-29T14:15:20.881Z</audit:date> |
||||
<audit:justification>Ingested from local file /usr/local/fedora/client/demo/foxml/local-server-demos/image-collection-demo/sDepObjects/demo_DualResImageImpl.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.203Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="433"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Service Deployment Object (Image) for Image Collection Demo</dc:title> |
||||
<dc:identifier>demo:DualResImageImpl</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.203Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.1" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="670"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/demo:DualResImageImpl"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"/> |
||||
<fedora-model:isDeploymentOf rdf:resource="info:fedora/demo:DualResolution"/> |
||||
<fedora-model:isContractorOf rdf:resource="info:fedora/demo:DualResImage"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.203Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP1.0" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="1152"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="MethodMap - Dual Resolution Image Implementation" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationLabel="A full-size image" operationName="fullSize" wsdlMsgName="fullSizeRequest" wsdlMsgOutput="dissemResponse"> |
||||
<fmm:DatastreamInputParm defaultValue="" label="The full-size image" parmName="FULL_SIZE" passBy="URL_REF" required="true"/> |
||||
<fmm:MethodReturnType wsdlMsgName="dissemResponse" wsdlMsgTOMIME="image/jpeg"/> |
||||
</fmm:Method> |
||||
<fmm:Method operationLabel="A medium-size image" operationName="mediumSize" wsdlMsgName="mediumSizeRequest" wsdlMsgOutput="dissemResponse"> |
||||
<fmm:DatastreamInputParm defaultValue="" label="The medium-size image" parmName="MEDIUM_SIZE" |
||||
passBy="URL_REF" required="true"/> |
||||
<fmm:MethodReturnType wsdlMsgName="dissemResponse" wsdlMsgTOMIME="image/jpeg"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.203Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC1.0" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="899"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="Datastream Input Specification for Dual Resolution Image Implementation" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="FULL_SIZE"> |
||||
<fbs:DSInputLabel>FULL_SIZE Binding</fbs:DSInputLabel> |
||||
<fbs:DSMIME>image/jpeg</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="MEDIUM_SIZE"> |
||||
<fbs:DSInputLabel>MEDIUM_SIZE Binding</fbs:DSInputLabel> |
||||
<fbs:DSMIME>image/jpeg</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.203Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL1.0" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="3744"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="DualResolutionImageImplementation" targetNamespace="bmech" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="bmech" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:types> |
||||
<xsd:schema targetNamespace="bmech"> |
||||
<xsd:simpleType name="FULL_SIZEType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
<xsd:simpleType name="MEDIUM_SIZEType"> |
||||
<xsd:restriction base="xsd:string"/> |
||||
</xsd:simpleType> |
||||
</xsd:schema> |
||||
</wsdl:types> |
||||
<wsdl:message name="fullSizeRequest"> |
||||
<wsdl:part name="FULL_SIZE" type="this:FULL_SIZEType"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="mediumSizeRequest"> |
||||
<wsdl:part name="MEDIUM_SIZE" type="this:MEDIUM_SIZEType"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="dissemResponse"> |
||||
<wsdl:part name="dissem" type="xsd:base64Binary"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="DualResImageImplPortType"> |
||||
<wsdl:operation name="fullSize"> |
||||
<wsdl:input message="this:fullSizeRequest"/> |
||||
<wsdl:output message="this:dissemResponse"/> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="mediumSize"> |
||||
<wsdl:input message="this:mediumSizeRequest"/> |
||||
<wsdl:output message="this:dissemResponse"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="DualResImageImpl"> |
||||
<wsdl:port binding="this:DualResImageImpl_http" name="DualResImageImpl_port"> |
||||
<http:address location="LOCAL"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="DualResImageImpl_http" type="this:DualResImageImplPortType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="fullSize"> |
||||
<http:operation location="(FULL_SIZE)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="image/jpeg"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="mediumSize"> |
||||
<http:operation location="(MEDIUM_SIZE)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="image/jpeg"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="demo:DualResolution" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Service Definition Object (Image) for Image Collection Demo"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2008-07-02T05:09:42.015Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-03-29T14:15:20.765Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:42.015Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-03-29T14:15:20.765Z</audit:date> |
||||
<audit:justification>Ingested from local file /usr/local/fedora/client/demo/foxml/local-server-demos/image-collection-demo/sDefObjects/demo_DualResolution.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.156Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="431"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Service Definition Object (Image) for Image Collection Demo</dc:title> |
||||
<dc:identifier>demo:DualResolution</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.156Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="408"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/demo:DualResolution"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDefinition-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2008-07-02T05:09:43.156Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP1.0" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="367"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="MethodMap - Dual Resolution Image" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationLabel="A full-size image" operationName="fullSize"/> |
||||
<fmm:Method operationLabel="A medium-size image" operationName="mediumSize"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,675 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:bookCModel" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="BookCModel"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2008-12-14T00:12:52.636Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-11-26T15:24:13.742Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2008-12-14T00:12:52.636Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T14:56:58.331Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_bookCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-31T19:56:44.131Z</audit:date> |
||||
<audit:justification>Ingested from source repository with pid ilives:bookCModel</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-10T17:43:56.335Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/fedora_repository/content_models/ilives_bookCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-10T19:01:39.144Z</audit:date> |
||||
<audit:justification>DatastreamsPane generated this logMessage.</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC5"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-10T19:29:20.220Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC6"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-10T19:46:24.930Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC7"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-15T07:01:30.019Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/al/fedora_repository/content_models/ilives_bookCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC8"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-16T08:56:09.156Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC9"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-16T08:59:35.673Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC10"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-16T08:59:52.831Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC11"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>MODS</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-16T09:13:08.428Z</audit:date> |
||||
<audit:justification>DatastreamsPane generated this logMessage.</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC12"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>purgeDatastream</audit:action> |
||||
<audit:componentID>MODS</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-16T09:13:32.732Z</audit:date> |
||||
<audit:justification>DatastreamPane generated this logMessage. . . . Purged datastream (ID=MODS), versions ranging from 2010-06-16T06:13:08.428Z to 2010-06-16T06:13:08.428Z. This resulted in the permanent removal of 1 datastream version(s) (2010-06-16T06:13:08.428Z) and all associated audit records.</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC13"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-16T09:21:14.357Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC14"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-08-30T13:14:03.487Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/fedora_repository/ilives/xml/ilives_bookCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC15"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-11-26T15:24:13.742Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T19:58:26.781Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.5" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="450"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:bookCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ContentModel-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<hasService rdf:resource="info:fedora/ilives:viewerSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DS-COMPOSITE-MODEL" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-03-11T19:16:18.656Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSCompositeModel-1.0" ID="DS-COMPOSITE-MODEL.7" |
||||
LABEL="Datastream Composite Model" MIMETYPE="text/xml" SIZE="2378"> |
||||
<foxml:xmlContent> |
||||
<dsCompositeModel xmlns="info:fedora/fedora-system:def/dsCompositeModel#"> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This DS-COMPOSITE-MODEL datastream is included as a starting point to |
||||
assist in the creation of a content model. The DS-COMPOSITE-MODEL |
||||
should define the datastreams that are required for any objects |
||||
conforming to this content model. |
||||
For more information about content models, see: |
||||
http://fedora-commons.org/confluence/x/dgBI. |
||||
For examples of completed content model objects, see the demonstration |
||||
objects included with your Fedora distribution, such as: |
||||
demo:CMImage, demo:UVA_STD_IMAGE, demo:DualResImageCollection, |
||||
demo:TEI_TO_PDFDOC, and demo:XML_TO_HTMLDOC. |
||||
For more information about the demonstration objects, see: |
||||
http://fedora-commons.org/confluence/x/AwFI. |
||||
</comment> |
||||
<dsTypeModel ID="ABBYY_XML" ORDERED="false"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="ABBYY_OCR" ORDERED="false"> |
||||
<form MIME="text/plain"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="TEI" ORDERED="false"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="MARCXML" ORDERED="false"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="MODS" ORDERED="false"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="METSRights" ORDERED="false"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="StructMap" ORDERED="false"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="PDF" ORDERED="false"> |
||||
<form MIME="application/pdf"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="Correspondence" ORDERED="false"> |
||||
<form MIME="application/pdf"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="Permission_Letter" ORDERED="false"> |
||||
<form MIME="application/pdf"/> |
||||
</dsTypeModel> |
||||
<dsTypeModel ID="CoverTN" ORDERED="false"> |
||||
<form MIME="image/JPG"/> |
||||
</dsTypeModel> |
||||
</dsCompositeModel> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-02-13T17:57:45.873Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC.2" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="388"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Book Content Model</dc:title> |
||||
<dc:identifier>ilives:bookCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="ISLANDORACM" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-06-10T19:01:39.144Z" ID="ISLANDORACM.0" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2102"> |
||||
<foxml:xmlContent> |
||||
<content_model name="standard_herb"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
<type>image/tif</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>ilives</module> |
||||
<file>plugins/herbarium.inc</file> |
||||
<class_name>Herbarium</class_name> |
||||
<method_name>showFieldSets</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-10T19:29:20.220Z" ID="ISLANDORACM.1" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2137"> |
||||
<foxml:xmlContent> |
||||
<content_model name="standard_herb"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
<type>image/tif</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>plugins/herbarium.inc</file> |
||||
<class_name>Herbarium</class_name> |
||||
<method_name>showFieldSets</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-10T19:46:24.930Z" ID="ISLANDORACM.2" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2093"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Book"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>plugins/herbarium.inc</file> |
||||
<class_name>Herbarium</class_name> |
||||
<method_name>showFieldSets</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-16T08:56:09.156Z" ID="ISLANDORACM.3" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2084"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Book"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>showFieldSets</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-16T08:59:35.673Z" ID="ISLANDORACM.4" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2083"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Book"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>showFieldSet</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-16T08:59:52.831Z" ID="ISLANDORACM.5" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2084"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Book"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>showFieldSets</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-16T09:21:14.357Z" ID="ISLANDORACM.6" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="2132"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Book"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JP2"> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>showFieldSets</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="TN"/> |
||||
<datastream id="MODS"/> |
||||
<datastream id="DC"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<methods> |
||||
<method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>ingestBook</method_name> |
||||
<datastream_id>MODS</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildDrupalForm</method_name> |
||||
<form_handler>handleIngestForm</form_handler> |
||||
</form_builder_method> |
||||
</ingest_form> |
||||
<edit_metadata> |
||||
<build_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>buildEditMetadataForm</method_name> |
||||
</build_form_method> |
||||
<submit_form_method dsid="MODS"> |
||||
<module>fedora_ilives</module> |
||||
<file>book.inc</file> |
||||
<class_name>IslandoraBook</class_name> |
||||
<method_name>handleEditMetadataForm</method_name> |
||||
</submit_form_method> |
||||
</edit_metadata> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-11-26T15:24:13.742Z" ID="ISLANDORACM.7" |
||||
LABEL="Islandora content model information" MIMETYPE="text/xml" SIZE="1328"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Book" xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>text/xml</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method class="IslandoraBook" dsid="MODS" file="book.inc" method="ingestBook" |
||||
modified_files_ext="" module="fedora_ilives"/> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="JP2"> |
||||
<display_method class="IslandoraBook" file="book.inc" method="showFieldSets" module="fedora_ilives"/> |
||||
</datastream> |
||||
<datastream dsid="TN"/> |
||||
<datastream dsid="MODS"/> |
||||
<datastream dsid="DC"/> |
||||
</datastreams> |
||||
<ingest_form dsid="MODS" page="2"> |
||||
<form_builder_method class="IslandoraBook" file="book.inc" handler="handleIngestForm" |
||||
method="buildDrupalForm" module="fedora_ilives"/> |
||||
<form_elements/> |
||||
</ingest_form> |
||||
<edit_metadata_method class="IslandoraBook" dsid="MODS" file="book.inc" handler="handleEditMetadataForm" |
||||
method="buildEditMetadataForm" module="fedora_ilives"/> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:jp2Sdef" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="ilives:jp2Sdef"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-05-18T15:07:42.398Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-05-25T13:17:14.106Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.398Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T14:56:59.840Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_jp2Sdef.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-05-25T13:17:14.106Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.487Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="363"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:jp2Sdef"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDefinition-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.398Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="381"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>ilives:jp2Sdef</dc:title> |
||||
<dc:identifier>ilives:jp2Sdef</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T20:08:16.294Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP.3" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="245"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="getMetadata"/> |
||||
<fmm:Method operationName="getRegion"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,179 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:jp2Sdep-pageCModel" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="ilives:jp2Sdep-pageCModel"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-05-21T03:24:05.906Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-06-01T00:48:39.302Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:24:05.906Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T14:57:00.246Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_jp2Sdep-pageCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-01T00:46:19.239Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/al/Desktop/ilives_jp2Sdep-pageCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-01T00:48:39.302Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:24:05.906Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="403"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>ilives:jp2Sdep-pageCModel</dc:title> |
||||
<dc:identifier>ilives:jp2Sdep-pageCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:26:21.830Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP.1" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="2498"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap bDefPID="djatoka:bDef" name="MethodMap - djatoka Service Methods" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="getMetadata" wsdlMsgName="getMetadataRequest" wsdlMsgOutput="response"> |
||||
<fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="JP2" label="content model" parmName="DSID" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="info:lanl-repo/svc/getMetadata" parmName="svc_id" passBy="VALUE" required="true"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> |
||||
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="application/json"/> |
||||
</fmm:Method> |
||||
<fmm:Method operationName="getRegion" wsdlMsgName="getRegionRequest" wsdlMsgOutput="response"> |
||||
<fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="JP2" label="content model" parmName="DSID" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="info:lanl-repo/svc/getRegion" parmName="svc_id" passBy="VALUE" required="true"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="region" passBy="VALUE" required="false"/> |
||||
<fmm:UserInputParm defaultValue="0" parmName="rotate" passBy="VALUE" required="false"/> |
||||
<fmm:UserInputParm defaultValue="-1" parmName="level" passBy="VALUE" required="false"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="scale" passBy="VALUE" required="false"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="clayers" passBy="VALUE" required="false"/> |
||||
<fmm:UserInputParm defaultValue="image/jpeg" parmName="format" passBy="VALUE" required="false"/> |
||||
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="image/jpeg"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:26:44.151Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC.1" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="401"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="jp2SdepInputSpec" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="DC"> |
||||
<fbs:DSInputLabel>DC</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:27:46.103Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL.1" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="3258"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="Fedora Local Djatoka Service" targetNamespace="jp2SDep" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="djatoka" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:message name="getMetadataRequest"> |
||||
<wsdl:part name="PID" type="xsd:string"/> |
||||
<wsdl:part name="DSID" type="xsd:string"/> |
||||
<wsdl:part name="svc_id" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="getRegionRequest"> |
||||
<wsdl:part name="PID" type="xsd:string"/> |
||||
<wsdl:part name="DSID" type="xsd:string"/> |
||||
<wsdl:part name="svc_id" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="response"> |
||||
<wsdl:part name="exhibit" type="xsd:base64Binary"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="FedoraDjatokaPortType"> |
||||
<wsdl:operation name="getMetadata"> |
||||
<wsdl:input message="this:getMetadataRequest"/> |
||||
<wsdl:output message="this:response"/> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="getRegion"> |
||||
<wsdl:input message="this:getRegionRequest"/> |
||||
<wsdl:output message="this:response"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="FedoraDjatoka"> |
||||
<wsdl:port binding="this:FedoraDjatoka_http" name="FedoraDjatoka_port"> |
||||
<http:address location="http://local.fedora.server/"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="FedoraDjatoka_http" type="this:FedoraDjatokaPortType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="getMetadata"> |
||||
<http:operation location="adore-djatoka/resolver?url_ver=Z39.88-2004&rft_id=http://local.fedora.server/fedora/get/(PID)/(DSID)&svc_id=(svc_id)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="application/json"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="getRegion"> |
||||
<http:operation location="adore-djatoka/resolver?url_ver=Z39.88-2004&rft_id=http://local.fedora.server/fedora/get/(PID)/(DSID)&svc_id=(svc_id)&svc_val_fmt=info:ofi/fmt:kev:mtx:jpeg2000&svc.format=(format)&svc.level=(level)&svc.rotate=(rotate)&svc.region=(region)&svc.scale=(scale)&svc.clayers=(clayers)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="image/jpeg"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-06-01T00:48:39.302Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.2" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="688"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:jp2Sdep-pageCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/ilives:jp2Sdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/ilives:pageCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/newspapers:pageCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,72 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:tei2htmlSdef" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="ilives:tei2htmlSdef"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-05-18T15:07:42.398Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-06-01T00:46:19.652Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.398Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T14:57:01.057Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_tei2htmlSdef.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-01T00:46:19.652Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/al/Desktop/ilives_tei2htmlSdef.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.487Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="368"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:tei2htmlSdef"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDefinition-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.398Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="391"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>ilives:tei2htmlSdef</dc:title> |
||||
<dc:identifier>ilives:tei2htmlSdef</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T20:08:16.294Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP.3" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="180"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="tei2html"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,234 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:tei2htmlSdep-pageCModel" VERSION="1.1" |
||||
xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="ilives:tei2htmlSdep-pageCModel"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-05-21T03:24:05.906Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-06-01T00:46:19.847Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:24:05.906Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T14:57:01.366Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_tei2htmlSdep-pageCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>XSL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-12-11T19:09:52.417Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>XSL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-12-11T19:22:11.096Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-01T00:46:19.847Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/al/Desktop/ilives_tei2htmlSdep-pageCModel.xml</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:25:04.961Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.1" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="614"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:tei2htmlSdep-pageCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/ilives:tei2htmlSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/ilives:pageCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-05-21T03:24:05.906Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="413"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>ilives:tei2htmlSdep-pageCModel</dc:title> |
||||
<dc:identifier>ilives:tei2htmlSdep-pageCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-09-17T02:47:11.226Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC.3" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="718"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="tei2htmlSdepInputSpec" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="TEI"> |
||||
<fbs:DSInputLabel>TEI</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" pid="ilives:tei2htmlSdep-pageCModel" wsdlMsgPartName="XSL"> |
||||
<fbs:DSInputLabel>XSL</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-09-17T02:47:56.422Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL.3" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="1938"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="tei2htmlSdep" targetNamespace="tei2htmlSdep" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="tei2htmlSdep" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:message name="tei2htmlRequestMsg"> |
||||
<wsdl:part name="TEI" type="xsd:string"/> |
||||
<wsdl:part name="XSL" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="response"> |
||||
<wsdl:part name="exhibit" type="xsd:base64Binary"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="tei2html_portType"> |
||||
<wsdl:operation name="tei2html"> |
||||
<wsdl:input message="this:tei2htmlRequestMsg"/> |
||||
<wsdl:output message="this:response"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="tei2html_service"> |
||||
<wsdl:port binding="this:tei2html_binding" name="tei2html_port"> |
||||
<http:address location="http://local.fedora.server/saxon/"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="tei2html_binding" type="this:tei2html_portType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="tei2html"> |
||||
<http:operation location="SaxonServlet?source=(TEI)&style=(XSL)&clear-stylesheet-cache=yes"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/html"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-09-17T02:51:06.102Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP.6" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="695"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="tei2html" wsdlMsgName="tei2htmlRequestMsg" wsdlMsgOutput="response"> |
||||
<fmm:DatastreamInputParm parmName="TEI" passBy="URL_REF" required="true"/> |
||||
<fmm:DatastreamInputParm parmName="XSL" passBy="URL_REF" required="true"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> |
||||
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="text/html"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="XSL" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-12-11T19:22:11.096Z" ID="XSL.2" |
||||
LABEL="XSL stylesheet for tei2html conversion" MIMETYPE="text/xml" SIZE="3406"> |
||||
<foxml:xmlContent> |
||||
<xsl:stylesheet exclude-result-prefixes="tei" version="2.0" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:output doctype-public="-//W3C//DTD HTML 4.01 Strict//EN" |
||||
doctype-system="http://www.w3.org/TR/html4/strict.dtd" indent="yes" method="html" omit-xml-declaration="yes"/> |
||||
<xsl:template match="tei:TEI"> |
||||
<html> |
||||
<head> |
||||
<title> |
||||
<xsl:value-of select="normalize-space(tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title)"/> |
||||
</title> |
||||
</head> |
||||
<body> |
||||
<xsl:apply-templates/> |
||||
</body> |
||||
</html> |
||||
</xsl:template> |
||||
<xsl:template match="tei:body"> |
||||
<div class="tei"> |
||||
<xsl:apply-templates/> |
||||
</div> |
||||
</xsl:template> |
||||
<xsl:template match="tei:p"> |
||||
<p> |
||||
<xsl:apply-templates/> |
||||
</p> |
||||
</xsl:template> |
||||
<xsl:template match="tei:date"> |
||||
<span class="date"> |
||||
<xsl:value-of select="normalize-space(.)"/> |
||||
</span> |
||||
</xsl:template> |
||||
<xsl:template match="tei:persName"> |
||||
<xsl:choose> |
||||
<xsl:when test="(.//tei:surname) and (.//tei:forename)"> |
||||
<span class="persName"> |
||||
<a> |
||||
<xsl:attribute name="class">search persName</xsl:attribute> |
||||
<xsl:attribute name="target">_blank</xsl:attribute> |
||||
<xsl:attribute |
||||
name="href">http://islandlives.net/fedora/ilives_book_search/tei.persNameTERM:%22<xsl:value-of |
||||
select=".//tei:surname"/>+<xsl:value-of select=".//tei:forename"/>%22+AND+dc.type:collection</xsl:attribute> |
||||
<xsl:apply-templates select="*|node()"/> |
||||
</a> |
||||
</span> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:apply-templates select="*|node()"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template match="tei:placeName"> |
||||
<a> |
||||
<xsl:attribute name="class">search placeName</xsl:attribute> |
||||
<xsl:attribute name="target">_blank</xsl:attribute> |
||||
<xsl:attribute |
||||
name="href">http://islandlives.net/fedora/ilives_book_search/tei.placeNameTERM:%22<xsl:value-of select="normalize-space(.)"/>%22+AND+dc.type:collection</xsl:attribute> |
||||
<xsl:value-of select="normalize-space(.)"/> |
||||
</a> |
||||
</xsl:template> |
||||
<xsl:template match="tei:orgName"> |
||||
<a> |
||||
<xsl:attribute name="class">search orgName</xsl:attribute> |
||||
<xsl:attribute name="target">_blank</xsl:attribute> |
||||
<xsl:attribute |
||||
name="href">http://islandlives.net/fedora/ilives_book_search/tei.orgNameTERM:%22<xsl:value-of select="normalize-space(.)"/>%22+AND+dc.type:collection</xsl:attribute> |
||||
<xsl:value-of select="normalize-space(.)"/> |
||||
</a> |
||||
</xsl:template> |
||||
<xsl:template match="tei:teiHeader"/> |
||||
</xsl:stylesheet> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,72 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:viewerSdef" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="ilives:viewerSdef"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-05-18T15:07:42.398Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-05-25T13:17:14.247Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.398Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T17:09:29.912Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_viewerSdef.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-05-25T13:17:14.247Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.487Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="366"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:viewerSdef"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDefinition-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T15:07:42.398Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="387"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>ilives:viewerSdef</dc:title> |
||||
<dc:identifier>ilives:viewerSdef</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T20:08:16.294Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP.3" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="181"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="getViewer"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,157 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="ilives:viewerSdep-bookCModel" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="ilives:viewerSdep-bookCModel"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-05-18T19:50:00.488Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-05-31T20:57:49.117Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T19:50:00.488Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-12T17:09:41.797Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/dev/iiv/iiv/etc/fedora-objects/ilives_viewerSdep-bookCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-31T20:03:42.709Z</audit:date> |
||||
<audit:justification>Ingested from source repository with pid ilives:viewerSdep-bookCModel</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-31T20:04:57.893Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-31T20:57:49.117Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T19:50:00.488Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="409"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>ilives:viewerSdep-bookCModel</dc:title> |
||||
<dc:identifier>ilives:viewerSdep-bookCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-18T19:52:55.042Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC.1" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="404"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="viewerSdepInputSpec" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="DC"> |
||||
<fbs:DSInputLabel>DC</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-19T13:34:53.687Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP.2" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="955"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="getViewer" wsdlMsgName="getViewerRequestMsg" wsdlMsgOutput="getViewerResponseMsg"> |
||||
<fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="ilives:bookCModel" label="content model" parmName="CMODEL" |
||||
passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="JP2" label="content model" parmName="DSID" passBy="VALUE" required="true"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> |
||||
<fmm:MethodReturnType wsdlMsgName="getViewerResponseMsg" wsdlMsgTOMIME="text/html"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-05-19T13:34:20.768Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL.4" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="2073"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="viewerSdep" targetNamespace="viewerSdep" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="viewerSdep" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:message name="getViewerRequestMsg"> |
||||
<wsdl:part name="PID" type="xsd:string"/> |
||||
<wsdl:part name="CMODEL" type="xsd:string"/> |
||||
<wsdl:part name="DSID" type="xsd:string"/> |
||||
<wsdl:part name="uid" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="getViewerResponseMsg"> |
||||
<wsdl:part name="RESPONSE" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="viewer_portType"> |
||||
<wsdl:operation name="getViewer"> |
||||
<wsdl:input message="this:getViewerRequestMsg"/> |
||||
<wsdl:output message="this:getViewerResponseMsg"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="viewer_service"> |
||||
<wsdl:port binding="this:viewer_binding" name="viewer_port"> |
||||
<http:address location="http://local.fedora.server/iiv/viewer.jsp"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="viewer_binding" type="this:viewer_portType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="getViewer"> |
||||
<http:operation location="?pid=(PID)&cmodel=(CMODEL)&dsid=(DSID)&uid=(uid)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/html"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-05-31T20:57:49.117Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.3" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="562"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/ilives:viewerSdep-bookCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/ilives:viewerSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/ilives:bookCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,584 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="islandora:collectionCModel" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Islandora Collection Content Model"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-12-20T16:14:50.165Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2011-01-21T19:41:19.709Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:14:50.165Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:14:50.165Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:14:50.352Z</audit:date> |
||||
<audit:justification>Ingested object RELS-EXT</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:14:50.407Z</audit:date> |
||||
<audit:justification>Modified by Islandora API</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:14:50.475Z</audit:date> |
||||
<audit:justification>Ingested object ISLANDORACM</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC5"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-01-17T15:04:59.169Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC6"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-01-17T15:06:08.023Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC7"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-01-21T19:40:39.790Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC8"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2011-01-21T19:41:19.709Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:14:50.165Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="413"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Islandora Collection Content Model</dc:title> |
||||
<dc:identifier>islandora:collectionCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:14:50.352Z" ID="RELS-EXT.0" |
||||
LABEL="Fedora object-to-object relationship metadata" MIMETYPE="text/xml" SIZE="167"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:collectionCModel"/> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:14:50.407Z" ID="RELS-EXT.1" |
||||
LABEL="Fedora Object-to-Object Relationship Metadata" MIMETYPE="text/xml" SIZE="299"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:collectionCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ContentModel-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="ISLANDORACM" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:14:50.475Z" ID="ISLANDORACM.0" LABEL="Islandora Content Model.xml" |
||||
MIMETYPE="application/xml" SIZE="4349"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Collection" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules/> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="CollectionFormBuilder" file="plugins/CollectionFormBuilder.inc" |
||||
handler="handleQDCForm" method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>Multi Media</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2011-01-17T15:04:59.169Z" ID="ISLANDORACM.1" LABEL="Islandora Content Model.xml" |
||||
MIMETYPE="application/xml" SIZE="4554"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Collection" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules/> |
||||
<datastreams> |
||||
<datastream dsid="DC"> |
||||
<display_method class="FedoraCollection" file="plugins/herbarium.inc" method="showFieldSets" module=""/> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="CollectionFormBuilder" file="plugins/CollectionFormBuilder.inc" |
||||
handler="handleQDCForm" method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>Multi Media</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2011-01-17T15:06:08.023Z" ID="ISLANDORACM.2" LABEL="Islandora Content Model.xml" |
||||
MIMETYPE="application/xml" SIZE="4551"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Collection" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules/> |
||||
<datastreams> |
||||
<datastream dsid="DC"> |
||||
<display_method class="CollectionClass" file="CollectionClass.inc" method="showFieldSets" module=""/> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="CollectionFormBuilder" file="plugins/CollectionFormBuilder.inc" |
||||
handler="handleQDCForm" method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>Multi Media</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2011-01-21T19:40:39.790Z" ID="ISLANDORACM.3" LABEL="Islandora Content Model.xml" |
||||
MIMETYPE="application/xml" SIZE="4692"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Collection" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules/> |
||||
<datastreams> |
||||
<datastream dsid="DC"> |
||||
<display_method class="CollectionClass" file="CollectionClass.inc" method="showFieldSets" module=""/> |
||||
</datastream> |
||||
<datastream dsid="TN"/> |
||||
<datastream dsid="COLLECTION_POLICY"/> |
||||
<datastream dsid="Crumpets"/> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="CollectionFormBuilder" file="plugins/CollectionFormBuilder.inc" |
||||
handler="handleQDCForm" method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>Multi Media</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2011-01-21T19:41:19.709Z" ID="ISLANDORACM.4" LABEL="Islandora Content Model.xml" |
||||
MIMETYPE="application/xml" SIZE="4646"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Collection" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>text/xml</type> |
||||
<type>text/plain</type> |
||||
<type>application/xml</type> |
||||
</mimetypes> |
||||
<ingest_rules/> |
||||
<datastreams> |
||||
<datastream dsid="DC"> |
||||
<display_method class="CollectionClass" file="CollectionClass.inc" method="showFieldSets" module=""/> |
||||
</datastream> |
||||
<datastream dsid="TN"/> |
||||
<datastream dsid="COLLECTION_POLICY"/> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="CollectionFormBuilder" file="plugins/CollectionFormBuilder.inc" |
||||
handler="handleQDCForm" method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Object Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer/Author" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>Multi Media</item> |
||||
<item>image</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of contents, or free-text account of the content of the resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>collection</item> |
||||
<item>dataset</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
File diff suppressed because it is too large
Load Diff
@ -1,277 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject VERSION="1.1" PID="islandora:jp2Sdep-slideCModel" |
||||
xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="islandora:jp2Sdep-slideCModel"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-11-27T18:25:48.654Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-03-11T20:58:05.234Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream ID="AUDIT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion ID="AUDIT.0" LABEL="Audit Trail for this object" CREATED="2009-11-27T18:25:48.654Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID></audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:25:48.654Z</audit:date> |
||||
<audit:justification>Created with Admin GUI "New Object" command</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>METHODMAP</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:30:03.064Z</audit:date> |
||||
<audit:justification></audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>DSINPUTSPEC</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:30:34.272Z</audit:date> |
||||
<audit:justification></audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>WSDL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:31:33.967Z</audit:date> |
||||
<audit:justification></audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC5"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:36:14.648Z</audit:date> |
||||
<audit:justification></audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC6"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID></audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-01-26T20:06:07.452Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/Desktop/tmp/islandora_jp2Sdep-slideCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC7"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-05T16:47:23.192Z</audit:date> |
||||
<audit:justification></audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC8"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-11T20:58:05.234Z</audit:date> |
||||
<audit:justification></audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream ID="RELS-EXT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion ID="RELS-EXT1.0" LABEL="RDF Statements about this object" CREATED="2009-11-27T18:25:48.726Z" MIMETYPE="application/rdf+xml" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" SIZE="618"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:jp2Sdep-slideCModel"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"></fedora-model:hasModel> |
||||
<fedora-model:isDeploymentOf rdf:resource="info:fedora/changeme-to-sDefPid"></fedora-model:isDeploymentOf> |
||||
<fedora-model:isContractorOf rdf:resource="info:fedora/changeme-to-cModelPid"></fedora-model:isContractorOf> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion ID="RELS-EXT.1" LABEL="RDF Statements about this object" CREATED="2009-11-27T18:36:14.648Z" MIMETYPE="application/rdf+xml" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" SIZE="612"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:jp2Sdep-slideCModel"> |
||||
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"></hasModel> |
||||
<isDeploymentOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/ilives:jp2Sdef"></isDeploymentOf> |
||||
<isContractorOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:slideCModel"></isContractorOf> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion ID="RELS-EXT.2" LABEL="RDF Statements about this object" CREATED="2010-03-05T16:47:23.192Z" MIMETYPE="application/rdf+xml" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" SIZE="695"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:jp2Sdep-slideCModel"> |
||||
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"></hasModel> |
||||
<isDeploymentOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/ilives:jp2Sdef"></isDeploymentOf> |
||||
<isContractorOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:slideCModel"></isContractorOf> |
||||
<isContractorOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:herbCModel"></isContractorOf> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion ID="RELS-EXT.3" LABEL="RDF Statements about this object" CREATED="2010-03-11T20:58:05.234Z" MIMETYPE="application/rdf+xml" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" SIZE="825"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:jp2Sdep-slideCModel"> |
||||
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"></hasModel> |
||||
<isDeploymentOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/ilives:jp2Sdef"></isDeploymentOf> |
||||
<isContractorOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:slideCModel"></isContractorOf> |
||||
<isContractorOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:herbCModel"></isContractorOf> |
||||
<isContractorOf xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:mapCModel"></isContractorOf> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream ID="METHODMAP" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion ID="METHODMAP1.0" LABEL="Deployment Method Map" CREATED="2009-11-27T18:25:48.726Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" SIZE="298"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This METHODMAP datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The METHODMAP |
||||
should define the the mapping of the WSDL to Fedora object methods. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion ID="METHODMAP.1" LABEL="Deployment Method Map" CREATED="2009-11-27T18:30:03.064Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" SIZE="2498"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap" bDefPID="djatoka:bDef" name="MethodMap - djatoka Service Methods"> |
||||
<fmm:Method operationName="getMetadata" wsdlMsgName="getMetadataRequest" wsdlMsgOutput="response"> |
||||
<fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
||||
<fmm:DefaultInputParm defaultValue="JP2" label="content model" parmName="DSID" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
||||
<fmm:DefaultInputParm defaultValue="info:lanl-repo/svc/getMetadata" parmName="svc_id" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="application/json"></fmm:MethodReturnType> |
||||
</fmm:Method> |
||||
<fmm:Method operationName="getRegion" wsdlMsgName="getRegionRequest" wsdlMsgOutput="response"> |
||||
<fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
||||
<fmm:DefaultInputParm defaultValue="JP2" label="content model" parmName="DSID" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
||||
<fmm:DefaultInputParm defaultValue="info:lanl-repo/svc/getRegion" parmName="svc_id" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:UserInputParm defaultValue="" parmName="region" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:UserInputParm defaultValue="0" parmName="rotate" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:UserInputParm defaultValue="-1" parmName="level" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:UserInputParm defaultValue="" parmName="scale" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:UserInputParm defaultValue="" parmName="clayers" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:UserInputParm defaultValue="image/jpeg" parmName="format" passBy="VALUE" required="false"></fmm:UserInputParm> |
||||
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="image/jpeg"></fmm:MethodReturnType> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream ID="DSINPUTSPEC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion ID="DSINPUTSPEC1.0" LABEL="Datastream Input Specification" CREATED="2009-11-27T18:25:48.726Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" SIZE="300"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This DSINPUTSPEC datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The DSINPUTSPEC |
||||
should define the datastreams to be used by WSDL-defined methods. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion ID="DSINPUTSPEC.1" LABEL="Datastream Input Specification" CREATED="2009-11-27T18:30:34.272Z" MIMETYPE="text/xml" FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" SIZE="401"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec" label="jp2SdepInputSpec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="DC"> |
||||
<fbs:DSInputLabel>DC</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction></fbs:DSInputInstruction> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream ID="WSDL" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion ID="WSDL1.0" LABEL="WSDL Bindings" CREATED="2009-11-27T18:25:48.732Z" MIMETYPE="text/xml" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" SIZE="752"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This WSDL datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The WSDL |
||||
should define the services provided by this |
||||
service deployment. |
||||
For more information about service deployments, see: |
||||
http://fedora-commons.org/confluence/x/dgBI. |
||||
For examples of completed service deployment objects, see the demonstration |
||||
objects included with your Fedora distribution, such as: |
||||
demo:2, demo:13, demo:20, and demo:28. |
||||
For more information about the demonstration objects, see: |
||||
http://fedora-commons.org/confluence/x/AwFI. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion ID="WSDL.1" LABEL="WSDL Bindings" CREATED="2009-11-27T18:31:33.967Z" MIMETYPE="text/xml" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" SIZE="3258"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="djatoka" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Fedora Local Djatoka Service" targetNamespace="jp2SDep"> |
||||
<wsdl:message name="getMetadataRequest"> |
||||
<wsdl:part name="PID" type="xsd:string"></wsdl:part> |
||||
<wsdl:part name="DSID" type="xsd:string"></wsdl:part> |
||||
<wsdl:part name="svc_id" type="xsd:string"></wsdl:part> |
||||
</wsdl:message> |
||||
<wsdl:message name="getRegionRequest"> |
||||
<wsdl:part name="PID" type="xsd:string"></wsdl:part> |
||||
<wsdl:part name="DSID" type="xsd:string"></wsdl:part> |
||||
<wsdl:part name="svc_id" type="xsd:string"></wsdl:part> |
||||
</wsdl:message> |
||||
<wsdl:message name="response"> |
||||
<wsdl:part name="exhibit" type="xsd:base64Binary"></wsdl:part> |
||||
</wsdl:message> |
||||
<wsdl:portType name="FedoraDjatokaPortType"> |
||||
<wsdl:operation name="getMetadata"> |
||||
<wsdl:input message="this:getMetadataRequest"></wsdl:input> |
||||
<wsdl:output message="this:response"></wsdl:output> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="getRegion"> |
||||
<wsdl:input message="this:getRegionRequest"></wsdl:input> |
||||
<wsdl:output message="this:response"></wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="FedoraDjatoka"> |
||||
<wsdl:port binding="this:FedoraDjatoka_http" name="FedoraDjatoka_port"> |
||||
<http:address location="http://local.fedora.server/"></http:address> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="FedoraDjatoka_http" type="this:FedoraDjatokaPortType"> |
||||
<http:binding verb="GET"></http:binding> |
||||
<wsdl:operation name="getMetadata"> |
||||
<http:operation location="adore-djatoka/resolver?url_ver=Z39.88-2004&rft_id=http://local.fedora.server/fedora/get/(PID)/(DSID)&svc_id=(svc_id)"></http:operation> |
||||
<wsdl:input> |
||||
<http:urlReplacement></http:urlReplacement> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="application/json"></mime:content> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
<wsdl:operation name="getRegion"> |
||||
<http:operation location="adore-djatoka/resolver?url_ver=Z39.88-2004&rft_id=http://local.fedora.server/fedora/get/(PID)/(DSID)&svc_id=(svc_id)&svc_val_fmt=info:ofi/fmt:kev:mtx:jpeg2000&svc.format=(format)&svc.level=(level)&svc.rotate=(rotate)&svc.region=(region)&svc.scale=(scale)&svc.clayers=(clayers)"></http:operation> |
||||
<wsdl:input> |
||||
<http:urlReplacement></http:urlReplacement> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="image/jpeg"></mime:content> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for this object" CREATED="2009-11-27T18:25:48.654Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="411"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>islandora:jp2Sdep-slideCModel</dc:title> |
||||
<dc:identifier>islandora:jp2Sdep-slideCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,247 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="islandora:largeimages" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Large Images Collection"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-12-20T16:02:16.800Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-12-20T16:09:32.544Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:02:16.800Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:02:16.800Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:02:17.020Z</audit:date> |
||||
<audit:justification>Ingested object RELS-EXT</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:02:17.091Z</audit:date> |
||||
<audit:justification>Modified by Islandora API</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:02:17.142Z</audit:date> |
||||
<audit:justification>Modified by Islandora API</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC5"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>COLLECTION_POLICY</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:02:17.213Z</audit:date> |
||||
<audit:justification>Ingested object COLLECTION_POLICY</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC6"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:08:27.075Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC7"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>TN</audit:componentID> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:08:27.131Z</audit:date> |
||||
<audit:justification>Ingested object TN</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC8"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>purgeDatastream</audit:action> |
||||
<audit:componentID>TN</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:09:24.726Z</audit:date> |
||||
<audit:justification>DatastreamPane generated this logMessage. . . . Purged datastream (ID=TN), versions ranging from 2010-12-20T12:08:27.131Z to 2010-12-20T12:08:27.131Z. This resulted in the permanent removal of 1 datastream version(s) (2010-12-20T12:08:27.131Z) and all associated audit records.</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC9"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>COLLECTION_POLICY</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-12-20T16:09:32.544Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:02:16.800Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="397"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Large Images Collection</dc:title> |
||||
<dc:identifier>islandora:largeimages</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:02:17.020Z" ID="RELS-EXT.0" |
||||
LABEL="Fedora object-to-object relationship metadata" MIMETYPE="text/xml" SIZE="178"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:largeimages"/> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:02:17.091Z" ID="RELS-EXT.1" |
||||
LABEL="Fedora Object-to-Object Relationship Metadata" MIMETYPE="text/xml" SIZE="361"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:largeimages"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/islandora:collectionCModel" xmlns:fedora-model="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:02:17.142Z" ID="RELS-EXT.2" |
||||
LABEL="Fedora Object-to-Object Relationship Metadata" MIMETYPE="text/xml" SIZE="520"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:largeimages"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/islandora:collectionCModel" xmlns:fedora-model="info:fedora/fedora-system:def/model#"/> |
||||
<isMemberOfCollection rdf:resource="info:fedora/islandora:demos" xmlns="info:fedora/fedora-system:def/relations-external#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="COLLECTION_POLICY" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:02:17.213Z" ID="COLLECTION_POLICY.0" LABEL="Large Images Collection" |
||||
MIMETYPE="text/xml" SIZE="2533"> |
||||
<foxml:xmlContent> |
||||
<collection_policy name="Large Images Collection"> |
||||
<contentmodels> |
||||
<contentmodel name="SLIDE_CMODEL"> |
||||
<pid_namespace>islandora:slide</pid_namespace> |
||||
<pid>islandora:slideCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
<contentmodel name="MAP_CMODEL"> |
||||
<pid_namespace>islandora:map</pid_namespace> |
||||
<pid>islandora:mapCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
<contentmodel name="HERB_CMODEL"> |
||||
<pid_namespace>islandora:herb</pid_namespace> |
||||
<pid>islandora:herbCModel</pid> |
||||
<dsid>ISLANDORACM</dsid> |
||||
</contentmodel> |
||||
</contentmodels> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
<search_terms> |
||||
<default>dc.description</default> |
||||
<term> |
||||
<field>dc.title</field> |
||||
<value>dc.title</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.creator</field> |
||||
<value>dc.creator</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.description</field> |
||||
<value>dc.description</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.date</field> |
||||
<value>dc.date</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.identifier</field> |
||||
<value>dc.identifier</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.language</field> |
||||
<value>dc.language</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.publisher</field> |
||||
<value>dc.publisher</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.rights</field> |
||||
<value>dc.rights</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.subject</field> |
||||
<value>dc.subject</value> |
||||
</term> |
||||
<term> |
||||
<field>dc.relation</field> |
||||
<value>dc.relation</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.temporal</field> |
||||
<value>dcterms.temporal</value> |
||||
</term> |
||||
<term> |
||||
<field>dcterms.spatial</field> |
||||
<value>dcterms.spatial</value> |
||||
</term> |
||||
<term> |
||||
<field>fgs.DS.first.text</field> |
||||
<value>Full Text</value> |
||||
</term> |
||||
</search_terms> |
||||
</collection_policy> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-12-20T16:09:32.544Z" ID="COLLECTION_POLICY.1" LABEL="Large Images Collection" |
||||
MIMETYPE="text/xml" SIZE="1428"> |
||||
<foxml:xmlContent> |
||||
<collection_policy name="Large Images Collection" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://syn.lib.umanitoba.ca/collection_policy.xsd"> |
||||
<content_models> |
||||
<content_model dsid="ISLANDORACM" name="SLIDE_CMODEL" namespace="islandora:slide" pid="islandora:slideCModel"/> |
||||
<content_model dsid="ISLANDORACM" name="MAP_CMODEL" namespace="islandora:map" pid="islandora:mapCModel"/> |
||||
<content_model dsid="ISLANDORACM" name="HERB_CMODEL" namespace="islandora:herb" pid="islandora:herbCModel"/> |
||||
</content_models> |
||||
<search_terms> |
||||
<term field="dc.title">dc.title</term> |
||||
<term field="dc.creator">dc.creator</term> |
||||
<term default="true" field="dc.description">dc.description</term> |
||||
<term field="dc.date">dc.date</term> |
||||
<term field="dc.identifier">dc.identifier</term> |
||||
<term field="dc.language">dc.language</term> |
||||
<term field="dc.publisher">dc.publisher</term> |
||||
<term field="dc.rights">dc.rights</term> |
||||
<term field="dc.subject">dc.subject</term> |
||||
<term field="dc.relation">dc.relation</term> |
||||
<term field="dcterms.temporal">dcterms.temporal</term> |
||||
<term field="dcterms.spatial">dcterms.spatial</term> |
||||
<term field="fgs.DS.first.text">Full Text</term> |
||||
</search_terms> |
||||
<relationship>isMemberOfCollection</relationship> |
||||
</collection_policy> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,366 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="islandora:mapCModel" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Islandora Map Content Model"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-05-25T12:52:58.656Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-09-16T16:13:49.927Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-05-25T12:52:58.656Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-25T12:52:58.656Z</audit:date> |
||||
<audit:justification>Created with Admin GUI "New Object" command</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-25T12:53:38.788Z</audit:date> |
||||
<audit:justification>DatastreamsPane generated this logMessage.</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-09-16T16:13:13.388Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/fedora_repository/content_models/islandora_mapCModel.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>ISLANDORACM</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-09-16T16:13:49.927Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-05-25T12:52:58.744Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="363"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:mapCModel"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ContentModel-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DS-COMPOSITE-MODEL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-05-25T12:52:58.745Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSCompositeModel-1.0" ID="DS-COMPOSITE-MODEL1.0" |
||||
LABEL="Datastream Composite Model" MIMETYPE="text/xml" SIZE="1120"> |
||||
<foxml:xmlContent> |
||||
<dsCompositeModel xmlns="info:fedora/fedora-system:def/dsCompositeModel#"> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This DS-COMPOSITE-MODEL datastream is included as a starting point to |
||||
assist in the creation of a content model. The DS-COMPOSITE-MODEL |
||||
should define the datastreams that are required for any objects |
||||
conforming to this content model. |
||||
For more information about content models, see: |
||||
http://fedora-commons.org/confluence/x/dgBI. |
||||
For examples of completed content model objects, see the demonstration |
||||
objects included with your Fedora distribution, such as: |
||||
demo:CMImage, demo:UVA_STD_IMAGE, demo:DualResImageCollection, |
||||
demo:TEI_TO_PDFDOC, and demo:XML_TO_HTMLDOC. |
||||
For more information about the demonstration objects, see: |
||||
http://fedora-commons.org/confluence/x/AwFI. |
||||
</comment> |
||||
<dsTypeModel ID="DSID"> |
||||
<form MIME="text/xml"/> |
||||
</dsTypeModel> |
||||
</dsCompositeModel> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-05-25T12:52:58.656Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="399"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Islandora Map Content Model</dc:title> |
||||
<dc:identifier>islandora:mapCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="ISLANDORACM" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-05-25T12:53:38.788Z" ID="ISLANDORACM.0" |
||||
LABEL="Islandora Content Model Object" MIMETYPE="text/xml" SIZE="7098"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Standard_Map"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
<type>image/tif</type> |
||||
</mimetypes> |
||||
<display_in_fieldset> |
||||
<datastream id="JPG"> |
||||
<method> |
||||
<file>plugins/map_viewer.inc</file> |
||||
<class_name>ShowMapStreamsInFieldSets</class_name> |
||||
<method_name>showJPG</method_name> |
||||
</method> |
||||
</datastream> |
||||
<datastream id="JP2"/> |
||||
<datastream id="FULL_SIZE"/> |
||||
<datastream id="FULL_JPG"/> |
||||
<datastream id="DC"/> |
||||
<datastream id="MODS"/> |
||||
</display_in_fieldset> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to> |
||||
image/tiff |
||||
</applies_to> |
||||
<applies_to> |
||||
image/tif |
||||
</applies_to> |
||||
<methods> |
||||
<method> |
||||
<file>plugins/ImageManipulation.inc</file> |
||||
<class_name>ImageManipulation</class_name> |
||||
<method_name>createJP2</method_name> |
||||
<modified_files_ext>jp2</modified_files_ext> |
||||
<datastream_id>JP2</datastream_id> |
||||
</method> |
||||
</methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method> |
||||
<file>plugins/DemoFormBuilder.inc</file> |
||||
<class_name>DemoFormBuilder</class_name> |
||||
<method_name>buildQDCForm</method_name> |
||||
<form_handler>handleQDCForm</form_handler> |
||||
</form_builder_method> |
||||
<form_elements> |
||||
<element> |
||||
<label>Title/Caption/Image Name</label> |
||||
<name>dc:title</name> |
||||
<type>textfield</type> |
||||
<description>The name given to the resource</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Creator/Photographer</label> |
||||
<name>dc:creator</name> |
||||
<type>textfield</type> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Subject</label> |
||||
<name>dc:subject</name> |
||||
<type>select</type> |
||||
<description>Subject</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>image</field> |
||||
<value>image</value> |
||||
</item> |
||||
<item> |
||||
<field>photograph</field> |
||||
<value>photograph</value> |
||||
</item> |
||||
<item> |
||||
<field>presentation</field> |
||||
<value>presentation</value> |
||||
</item> |
||||
<item> |
||||
<field>art</field> |
||||
<value>art</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Description</label> |
||||
<name>dc:description</name> |
||||
<type>textarea</type> |
||||
<description>Description of the Image</description> |
||||
<required>true</required> |
||||
</element> |
||||
<element> |
||||
<label>Publisher</label> |
||||
<name>dc:publisher</name> |
||||
<type>textfield</type> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Contributor</label> |
||||
<name>dc:contributor</name> |
||||
<type>textfield</type> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Date</label> |
||||
<name>dc:date</name> |
||||
<type>textfield</type> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Resource Type</label> |
||||
<name>dc:type</name> |
||||
<type>textfield</type> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Source</label> |
||||
<name>dc:source</name> |
||||
<type>textfield</type> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Identifier</label> |
||||
<name>dc:identifier</name> |
||||
<type>textfield</type> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Language</label> |
||||
<name>dc:language</name> |
||||
<type>select</type> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<required>false</required> |
||||
<authoritative_list> |
||||
<item> |
||||
<field>eng</field> |
||||
<value>English</value> |
||||
</item> |
||||
<item> |
||||
<field>fre</field> |
||||
<value>French</value> |
||||
</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element> |
||||
<label>Relation</label> |
||||
<name>dc:relation</name> |
||||
<type>textfield</type> |
||||
<description>Reference to a related resource.</description> |
||||
<required>false</required> |
||||
</element> |
||||
<element> |
||||
<label>Rights Management</label> |
||||
<name>dc:rights</name> |
||||
<type>textarea</type> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
<required>false</required> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-09-16T16:13:49.927Z" ID="ISLANDORACM.1" |
||||
LABEL="Islandora Content Model Object" MIMETYPE="text/xml" SIZE="4279"> |
||||
<foxml:xmlContent> |
||||
<content_model name="Standard_Map" xmlns="http://www.islandora.ca" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>image/tiff</type> |
||||
<type>image/tif</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>image/tiff</applies_to> |
||||
<applies_to>image/tif</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method class="ImageManipulation" dsid="JP2" file="plugins/ImageManipulation.inc" |
||||
method="createJP2" modified_files_ext="jp2" module=""/> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="JPG"> |
||||
<display_method class="ShowMapStreamsInFieldSets" file="plugins/map_viewer.inc" method="showJPG" module=""/> |
||||
</datastream> |
||||
<datastream dsid="JP2"/> |
||||
<datastream dsid="FULL_SIZE"/> |
||||
<datastream dsid="FULL_JPG"/> |
||||
<datastream dsid="DC"/> |
||||
<datastream dsid="MODS"/> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="DemoFormBuilder" file="plugins/DemoFormBuilder.inc" handler="handleQDCForm" |
||||
method="buildQDCForm" module=""/> |
||||
<form_elements> |
||||
<element label="Title/Caption/Image Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the resource</description> |
||||
</element> |
||||
<element label="Creator/Photographer" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>Subject</description> |
||||
<authoritative_list> |
||||
<item>image</item> |
||||
<item>photograph</item> |
||||
<item>presentation</item> |
||||
<item>art</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description" name="dc:description" required="true" type="textarea"> |
||||
<description>Description of the Image</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, or services), responsible for making the resource available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the content of the resource such as a person, organization or service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date format is YYYY-MM-DD (e.g. 1890,1910-10,or 2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="textfield"> |
||||
<description>Genre of the content of the resource. Examples include: home page, novel, poem, working paper, technical report, essay, dictionary.</description> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this instance, the accession number or collection number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property rights, copyright, and various property rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,110 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="islandora:mods2htmlSdef" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="MODS to HTML Disseminator"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-03-12T14:57:03.509Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-05-25T13:17:13.492Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T14:57:03.509Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T14:57:03.509Z</audit:date> |
||||
<audit:justification>Created with Admin GUI "New Object" command</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>METHODMAP</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:12:03.341Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T17:28:34.323Z</audit:date> |
||||
<audit:justification>Ingested from local file /Users/aoneill/fedora_repository/content_models/islandora-mods2htmlSdef.xml</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-05-25T13:17:13.492Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T14:57:03.602Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="372"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdef"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDefinition-3.0"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T14:57:03.602Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP1.0" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="1005"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="Fedora MethodMap for SDef" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This METHODMAP datastream is included as a starting point to |
||||
assist in the creation of a service definition. The METHODMAP |
||||
should define the methods and method parameters for this |
||||
service definition. |
||||
For more information about service definitions, see: |
||||
http://fedora-commons.org/confluence/x/dgBI. |
||||
For examples of completed service definition objects, see the demonstration |
||||
objects included with your Fedora distribution, such as: |
||||
demo:1, demo:12, demo: 19, and demo:27. |
||||
For more information about the demonstration objects, see: |
||||
http://fedora-commons.org/confluence/x/AwFI. |
||||
</comment> |
||||
<fmm:Method operationName="changeme"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:12:03.341Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDefMethodMap-1.0" ID="METHODMAP.1" LABEL="Abstract Method Map" |
||||
MIMETYPE="text/xml" SIZE="181"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="mods2html"/> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T14:57:03.509Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="401"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>MODS to HTML Disseminator</dc:title> |
||||
<dc:identifier>islandora:mods2htmlSdef</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,464 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="islandora:mods2htmlSdep" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="MODS to HTML Disseminator Service Deployment"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-03-12T15:14:29.138Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-06-01T01:05:17.111Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:14:29.138Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:14:29.138Z</audit:date> |
||||
<audit:justification>Created with Admin GUI "New Object" command</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>addDatastream</audit:action> |
||||
<audit:componentID>XSL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:17:20.270Z</audit:date> |
||||
<audit:justification>DatastreamsPane generated this logMessage.</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:18:27.234Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>METHODMAP</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:21:44.430Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC5"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>DSINPUTSPEC</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:23:21.361Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC6"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>WSDL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-12T15:27:58.299Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC7"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>admin</audit:responsibility> |
||||
<audit:date>2010-05-25T13:17:13.612Z</audit:date> |
||||
<audit:justification>Fedora Object Ingested</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC8"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-06-01T01:05:17.111Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:14:29.172Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="612"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdep"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"/> |
||||
<fedora-model:isDeploymentOf rdf:resource="info:fedora/changeme-to-sDefPid"/> |
||||
<fedora-model:isContractorOf rdf:resource="info:fedora/changeme-to-cModelPid"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:18:27.234Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.1" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="613"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdep"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/islandora:mods2htmlSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:mapCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-06-01T01:05:17.111Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.2" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="698"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdep"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/islandora:mods2htmlSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:mapCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/newspapers:issueCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:14:29.172Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP1.0" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="298"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This METHODMAP datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The METHODMAP |
||||
should define the the mapping of the WSDL to Fedora object methods. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:21:44.430Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP.1" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="698"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="mods2html" wsdlMsgName="mods2htmlRequestMsg" wsdlMsgOutput="response"> |
||||
<fmm:DatastreamInputParm parmName="MODS" passBy="URL_REF" required="true"/> |
||||
<fmm:DatastreamInputParm parmName="XSL" passBy="URL_REF" required="true"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> |
||||
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="text/html"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:14:29.172Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC1.0" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="300"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This DSINPUTSPEC datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The DSINPUTSPEC |
||||
should define the datastreams to be used by WSDL-defined methods. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:23:21.361Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC.1" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="714"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="mods2htmlSdepInputSpec" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="MODS"> |
||||
<fbs:DSInputLabel>MODS</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" pid="islandora:mods2htmlSdep" wsdlMsgPartName="XSL"> |
||||
<fbs:DSInputLabel>XSL</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:14:29.178Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL1.0" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="752"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This WSDL datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The WSDL |
||||
should define the services provided by this |
||||
service deployment. |
||||
For more information about service deployments, see: |
||||
http://fedora-commons.org/confluence/x/dgBI. |
||||
For examples of completed service deployment objects, see the demonstration |
||||
objects included with your Fedora distribution, such as: |
||||
demo:2, demo:13, demo:20, and demo:28. |
||||
For more information about the demonstration objects, see: |
||||
http://fedora-commons.org/confluence/x/AwFI. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:27:58.299Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL.1" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="1953"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="mods2htmlSdep" targetNamespace="mods2htmlSdep" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="mods2htmlSdep" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:message name="mods2htmlRequestMsg"> |
||||
<wsdl:part name="MODS" type="xsd:string"/> |
||||
<wsdl:part name="XSL" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="response"> |
||||
<wsdl:part name="exhibit" type="xsd:base64Binary"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="mods2html_portType"> |
||||
<wsdl:operation name="mods2html"> |
||||
<wsdl:input message="this:mods2htmlRequestMsg"/> |
||||
<wsdl:output message="this:response"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="mods2html_service"> |
||||
<wsdl:port binding="this:mods2html_binding" name="mods2html_port"> |
||||
<http:address location="http://local.fedora.server/saxon/"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="mods2html_binding" type="this:mods2html_portType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="mods2html"> |
||||
<http:operation location="SaxonServlet?source=(MODS)&style=(XSL)&clear-stylesheet-cache=yes"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/html"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:14:29.138Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="420"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>MODS to HTML Disseminator Service Deployment</dc:title> |
||||
<dc:identifier>islandora:mods2htmlSdep</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="XSL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2010-03-12T15:17:20.270Z" ID="XSL.0" |
||||
LABEL="MODS to HTML XSLT Transformation Stylesheet" MIMETYPE="text/xml" SIZE="8864"> |
||||
<foxml:xmlContent> |
||||
<xsl:stylesheet exclude-result-prefixes="mods" version="1.0" xmlns:mods="http://www.loc.gov/mods/v3" |
||||
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
<xsl:output indent="yes" method="html"/> |
||||
<xsl:variable name="dictionary" select="document('http://www.loc.gov/standards/mods/modsDictionary.xml')/dictionary"/> |
||||
<xsl:template match="/"> |
||||
<html> |
||||
<head> |
||||
<style type="text/css">TD {vertical-align:top}</style> |
||||
</head> |
||||
<body> |
||||
<xsl:choose> |
||||
<xsl:when test="mods:modsCollection"> |
||||
<xsl:apply-templates select="mods:modsCollection"/> |
||||
</xsl:when> |
||||
<xsl:when test="mods:mods"> |
||||
<xsl:apply-templates select="mods:mods"/> |
||||
</xsl:when> |
||||
</xsl:choose> |
||||
</body> |
||||
</html> |
||||
</xsl:template> |
||||
<xsl:template match="mods:modsCollection"> |
||||
<xsl:apply-templates select="mods:mods"/> |
||||
</xsl:template> |
||||
<xsl:template match="mods:mods"> |
||||
<table> |
||||
<xsl:apply-templates/> |
||||
</table> |
||||
<hr/> |
||||
</xsl:template> |
||||
<xsl:template match="*"> |
||||
<xsl:choose> |
||||
<xsl:when test="child::*"> |
||||
<tr> |
||||
<td colspan="2"> |
||||
<b> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</b> |
||||
</td> |
||||
</tr> |
||||
<xsl:apply-templates mode="level2"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<tr> |
||||
<td width="300pt"> |
||||
<b> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</b> |
||||
</td> |
||||
<td> |
||||
<xsl:call-template name="formatValue"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template name="formatValue"> |
||||
<xsl:choose> |
||||
<xsl:when test="@type='uri'"> |
||||
<a href="{text()}"> |
||||
<xsl:value-of select="text()"/> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="text()"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template match="*" mode="level2"> |
||||
<xsl:choose> |
||||
<xsl:when test="child::*"> |
||||
<tr> |
||||
<td colspan="2"> |
||||
<p style="margin-left: 1em"> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</p> |
||||
</td> |
||||
</tr> |
||||
<xsl:apply-templates mode="level3"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<tr> |
||||
<td> |
||||
<p style="margin-left: 1em"> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</p> |
||||
</td> |
||||
<td> |
||||
<xsl:call-template name="formatValue"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template match="*" mode="level3"> |
||||
<xsl:choose> |
||||
<xsl:when test="child::*"> |
||||
<tr> |
||||
<td colspan="2"> |
||||
<p style="margin-left: 2em"> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</p> |
||||
</td> |
||||
</tr> |
||||
<xsl:apply-templates mode="level4"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<tr> |
||||
<td> |
||||
<p style="margin-left: 2em"> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</p> |
||||
</td> |
||||
<td> |
||||
<xsl:call-template name="formatValue"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template match="*" mode="level4"> |
||||
<tr> |
||||
<td> |
||||
<p style="margin-left: 3em"> |
||||
<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="local-name()"/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
<xsl:call-template name="attr"/> |
||||
</p> |
||||
</td> |
||||
<td> |
||||
<xsl:value-of select="text()"/> |
||||
</td> |
||||
</tr> |
||||
</xsl:template> |
||||
<xsl:template name="longName"> |
||||
<xsl:param name="name"/> |
||||
<xsl:choose> |
||||
<xsl:when test="$dictionary/entry[@key=$name]"> |
||||
<xsl:value-of select="$dictionary/entry[@key=$name]"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$name"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
<xsl:template name="attr"> |
||||
<xsl:for-each select="@type|@point">:<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="."/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
</xsl:for-each> |
||||
<xsl:if test="@authority or @edition"> |
||||
<xsl:for-each select="@authority">(<xsl:call-template name="longName"> |
||||
<xsl:with-param name="name"> |
||||
<xsl:value-of select="."/> |
||||
</xsl:with-param> |
||||
</xsl:call-template> |
||||
</xsl:for-each> |
||||
<xsl:if test="@edition">Edition <xsl:value-of select="@edition"/> |
||||
</xsl:if>)</xsl:if> |
||||
<xsl:variable name="attrStr"> |
||||
<xsl:for-each select="@*[local-name()!='edition' and local-name()!='type' and local-name()!='authority' and local-name()!='point']"> |
||||
<xsl:value-of select="local-name()"/>="<xsl:value-of select="."/>",</xsl:for-each> |
||||
</xsl:variable> |
||||
<xsl:variable name="nattrStr" select="normalize-space($attrStr)"/> |
||||
<xsl:if test="string-length($nattrStr)">(<xsl:value-of select="substring($nattrStr,1,string-length($nattrStr)-1)"/>)</xsl:if> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,163 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject VERSION="1.1" PID="islandora:qtCModel" |
||||
xmlns:foxml="info:fedora/fedora-system:def/foxml#" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Generic Content Model for Fedora Attach"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-01-26T21:29:20.416Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-03-11T21:01:44.921Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream ID="DC" STATE="A" CONTROL_GROUP="X" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for this object" CREATED="2010-01-26T21:29:20.416Z" MIMETYPE="text/xml" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" SIZE="396"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>Quicktime Content Model</dc:title> |
||||
<dc:identifier>islandora:qtCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream ID="ISLANDORACM" CONTROL_GROUP="X" STATE="A" > |
||||
<foxml:datastreamVersion ID="ISLANDORACM.0" MIMETYPE="application/xml" LABEL="ISLANDORACM.0"> |
||||
<foxml:xmlContent> |
||||
<content_model xmlns="http://www.islandora.ca" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="standard_qt" xsi:schemaLocation="http://www.islandora.ca http://localhost/islandoracm.xsd"> |
||||
<mimetypes> |
||||
<type>video/quicktime</type> |
||||
<type>video/mp4</type> |
||||
<type>audio/mp3</type> |
||||
<type>audio/x-aiff</type> |
||||
</mimetypes> |
||||
<ingest_rules> |
||||
<rule> |
||||
<applies_to>video/quicktime</applies_to> |
||||
<applies_to>video/mp4</applies_to> |
||||
|
||||
<applies_to>audio/mp3</applies_to> |
||||
<applies_to>audio/x-aiff</applies_to> |
||||
<ingest_methods> |
||||
<ingest_method file="plugins/Exiftool.inc" class="Exiftool" method="extractMetadata" dsid="OBJ_EXIFTOOL" modified_files_ext=""> |
||||
<parameters></parameters> |
||||
</ingest_method> |
||||
|
||||
<ingest_method class="Ffmpeg" dsid="FULL_SIZE" file="plugins/Ffmpeg.inc" method="extract_thumbnail" modified_files_ext="jpg"> |
||||
<parameters> |
||||
</parameters> |
||||
</ingest_method> |
||||
|
||||
<ingest_method class="Ffmpeg" dsid="TN" file="plugins/Ffmpeg.inc" method="extract_thumbnail" modified_files_ext="jpg"> |
||||
<parameters> |
||||
<parameter name="s">92x92</parameter> |
||||
</parameters> |
||||
</ingest_method> |
||||
</ingest_methods> |
||||
</rule> |
||||
</ingest_rules> |
||||
<datastreams> |
||||
<datastream dsid="OBJ"> |
||||
<display_method class="ShowQtStreamsInFieldSets" file="plugins/qt_viewer.inc" method="showQt" module=""></display_method> |
||||
</datastream> |
||||
<datastream dsid="PROXY"></datastream> |
||||
<datastream dsid="OBJ_EXIFTOOL"></datastream> |
||||
<datastream dsid="TN"></datastream> |
||||
<datastream dsid="FULL_SIZE"></datastream> |
||||
<datastream dsid="QDC"> |
||||
<display_method class="ShowStreamsInFieldSets" file="plugins/ShowStreamsInFieldSets.inc" method="showQdc" module=""></display_method> |
||||
</datastream> |
||||
</datastreams> |
||||
<ingest_form dsid="QDC" page="2"> |
||||
<form_builder_method class="QtFormBuilder" file="plugins/QtFormBuilder.php" handler="handleQDCForm" method="buildQDCForm" module=""></form_builder_method> |
||||
<form_elements> |
||||
<element label="Title/Caption/Media Name" name="dc:title" required="true" type="textfield"> |
||||
<description>The name given to the file</description> |
||||
</element> |
||||
<element label="Creator/" name="dc:creator" type="textfield"> |
||||
<description>An entity primarily responsible for making the |
||||
content of the resource such as a person, organization or |
||||
service.</description> |
||||
</element> |
||||
<element label="Subject" name="dc:subject" type="select"> |
||||
<description>An entity primarily responsible for making the |
||||
content of the resource such as a person, organization or |
||||
service.</description> |
||||
<authoritative_list> |
||||
<item>home recording</item> |
||||
<item>meeting</item> |
||||
<item>presentation</item> |
||||
<item>sound</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Description of Media" name="dc:description" required="true" type="textarea"> |
||||
<description>Examples include an abstract, table of |
||||
contents, or free-text account of the content of the |
||||
resource.</description> |
||||
</element> |
||||
<element label="Publisher" name="dc:publisher" type="textfield"> |
||||
<description>An entity, (including persons, organizations, |
||||
or services), responsible for making the resource |
||||
available.</description> |
||||
</element> |
||||
<element label="Contributor" name="dc:contributor" type="textfield"> |
||||
<description>An entity responsible for contributing to the |
||||
content of the resource such as a person, organization or |
||||
service.</description> |
||||
</element> |
||||
<element label="Date" name="dc:date" type="textfield"> |
||||
<description>Temporal scope of the content if known. Date |
||||
format is YYYY-MM-DD (e.g. 1890,1910-10,or |
||||
2007-10-23)</description> |
||||
</element> |
||||
<element label="Resource Type" name="dc:type" type="select"> |
||||
<description>Genre of the content of the resource. Examples |
||||
include: home page, novel, poem, working paper, technical |
||||
report, essay, dictionary.</description> |
||||
<authoritative_list> |
||||
<item>none</item> |
||||
<item>video</item> |
||||
<item>event</item> |
||||
<item>image</item> |
||||
<item>interactive resource</item> |
||||
<item>model</item> |
||||
<item>party</item> |
||||
<item>physical object</item> |
||||
<item>place</item> |
||||
<item>service</item> |
||||
<item>software</item> |
||||
<item>sound</item> |
||||
<item>text</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Source" name="dc:source" type="textfield"> |
||||
<description>A reference to a resource from which the |
||||
present resource is derived.</description> |
||||
</element> |
||||
<element label="Identifier" name="dc:identifier" type="textfield"> |
||||
<description>A unique reference to the resource; In this |
||||
instance, the accession number or collection |
||||
number.</description> |
||||
</element> |
||||
<element label="Language" name="dc:language" type="select"> |
||||
<description>The language of the intellectual content of |
||||
the resource.</description> |
||||
<authoritative_list> |
||||
<item field="eng">English</item> |
||||
<item field="fre">French</item> |
||||
</authoritative_list> |
||||
</element> |
||||
<element label="Relation" name="dc:relation" type="textfield"> |
||||
<description>Reference to a related resource.</description> |
||||
</element> |
||||
<element label="Rights Management" name="dc:rights" type="textarea"> |
||||
<description>Information about intellectual property |
||||
rights, copyright, and various property |
||||
rights.</description> |
||||
</element> |
||||
</form_elements> |
||||
</ingest_form> |
||||
</content_model> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
File diff suppressed because it is too large
Load Diff
@ -1,311 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<foxml:digitalObject PID="islandora:viewerSdep-slideCModel" VERSION="1.1" |
||||
xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> |
||||
<foxml:objectProperties> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="viewerSdep-slideCModel"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2009-11-27T17:57:45.462Z"/> |
||||
<foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-05-14T20:05:44.278Z"/> |
||||
</foxml:objectProperties> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false"> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T17:57:45.462Z" |
||||
FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml"> |
||||
<foxml:xmlContent> |
||||
<audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#"> |
||||
<audit:record ID="AUDREC1"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>ingest</audit:action> |
||||
<audit:componentID/> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T17:57:45.462Z</audit:date> |
||||
<audit:justification>Created with Admin GUI "New Object" command</audit:justification> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC2"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:02:20.095Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC3"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>METHODMAP</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:17:31.165Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC4"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>DSINPUTSPEC</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:20:50.036Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC5"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>WSDL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:22:44.560Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC6"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>WSDL</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2009-11-27T18:37:33.153Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC7"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-03-11T21:01:10.851Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
<audit:record ID="AUDREC8"> |
||||
<audit:process type="Fedora API-M"/> |
||||
<audit:action>modifyDatastreamByValue</audit:action> |
||||
<audit:componentID>RELS-EXT</audit:componentID> |
||||
<audit:responsibility>fedoraAdmin</audit:responsibility> |
||||
<audit:date>2010-05-14T20:05:44.278Z</audit:date> |
||||
<audit:justification/> |
||||
</audit:record> |
||||
</audit:auditTrail> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T17:57:46.437Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="603"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:viewerSdep-slideCModel"> |
||||
<fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"/> |
||||
<fedora-model:isDeploymentOf rdf:resource="info:fedora/changeme-to-sDefPid"/> |
||||
<fedora-model:isContractorOf rdf:resource="info:fedora/changeme-to-cModelPid"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T18:02:20.095Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.1" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="570"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:viewerSdep-slideCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/ilives:viewerSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:slideCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-03-11T21:01:10.851Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.2" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="700"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:viewerSdep-slideCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/ilives:viewerSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:slideCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:mapCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2010-05-14T20:05:44.278Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0" |
||||
ID="RELS-EXT.3" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="831"> |
||||
<foxml:xmlContent> |
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
||||
<rdf:Description rdf:about="info:fedora/islandora:viewerSdep-slideCModel"> |
||||
<hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isDeploymentOf rdf:resource="info:fedora/ilives:viewerSdef" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:slideCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:mapCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
<isContractorOf rdf:resource="info:fedora/islandora:herbCModel" xmlns="info:fedora/fedora-system:def/model#"/> |
||||
</rdf:Description> |
||||
</rdf:RDF> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T17:57:46.437Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP1.0" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="298"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This METHODMAP datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The METHODMAP |
||||
should define the the mapping of the WSDL to Fedora object methods. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T18:17:31.165Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP.1" LABEL="Deployment Method Map" |
||||
MIMETYPE="text/xml" SIZE="895"> |
||||
<foxml:xmlContent> |
||||
<fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap"> |
||||
<fmm:Method operationName="getViewer" wsdlMsgName="getViewerRequestMsg" wsdlMsgOutput="getViewerResponseMsg"> |
||||
<fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="islandora:slideCModel" label="content model" parmName="CMODEL" |
||||
passBy="VALUE" required="true"/> |
||||
<fmm:DefaultInputParm defaultValue="JP2" label="content model" parmName="DSID" passBy="VALUE" required="true"/> |
||||
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> |
||||
<fmm:MethodReturnType wsdlMsgName="getViewerResponseMsg" wsdlMsgTOMIME="text/html"/> |
||||
</fmm:Method> |
||||
</fmm:MethodMap> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T17:57:46.438Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC1.0" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="300"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This DSINPUTSPEC datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The DSINPUTSPEC |
||||
should define the datastreams to be used by WSDL-defined methods. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T18:20:50.036Z" |
||||
FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC.1" |
||||
LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="356"> |
||||
<foxml:xmlContent> |
||||
<fbs:DSInputSpec label="viewerSdepInputSpec" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"> |
||||
<fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="DC"> |
||||
<fbs:DSInputLabel>DC</fbs:DSInputLabel> |
||||
<fbs:DSMIME>text/xml</fbs:DSMIME> |
||||
<fbs:DSInputInstruction/> |
||||
</fbs:DSInput> |
||||
</fbs:DSInputSpec> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T17:57:46.443Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL1.0" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="752"> |
||||
<foxml:xmlContent> |
||||
<comment xmlns="info:fedora/fedora-system:def/comment#"> |
||||
This WSDL datastream is included as a starting point to |
||||
assist in the creation of a service deployment. The WSDL |
||||
should define the services provided by this |
||||
service deployment. |
||||
For more information about service deployments, see: |
||||
http://fedora-commons.org/confluence/x/dgBI. |
||||
For examples of completed service deployment objects, see the demonstration |
||||
objects included with your Fedora distribution, such as: |
||||
demo:2, demo:13, demo:20, and demo:28. |
||||
For more information about the demonstration objects, see: |
||||
http://fedora-commons.org/confluence/x/AwFI. |
||||
</comment> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T18:22:44.560Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL.1" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="1815"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="viewerSdep" targetNamespace="viewerSdep" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="viewerSdep" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:message name="getViewerRequestMsg"> |
||||
<wsdl:part name="PID" type="xsd:string"/> |
||||
<wsdl:part name="CMODEL" type="xsd:string"/> |
||||
<wsdl:part name="DSID" type="xsd:string"/> |
||||
<wsdl:part name="uid" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="getViewerResponseMsg"> |
||||
<wsdl:part name="RESPONSE" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="viewer_portType"> |
||||
<wsdl:operation name="getViewer"> |
||||
<wsdl:input message="this:getViewerRequestMsg"/> |
||||
<wsdl:output message="this:getViewerResponseMsg"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="viewer_service"> |
||||
<wsdl:port binding="this:viewer_binding" name="viewer_port"> |
||||
<http:address location="http://local.fedora.server/iiv/page_viewer.jsp"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="viewer_binding" type="this:viewer_portType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="getViewer"> |
||||
<http:operation location="?pid=(PID)&cmodel=(CMODEL)&dsid=(DSID)&uid=(uid)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/xhtml"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T18:37:33.153Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/" |
||||
ID="WSDL.2" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="1816"> |
||||
<foxml:xmlContent> |
||||
<wsdl:definitions name="viewerSdep" targetNamespace="viewerSdep" |
||||
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" |
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" |
||||
xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="viewerSdep" |
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
||||
<wsdl:message name="getViewerRequestMsg"> |
||||
<wsdl:part name="PID" type="xsd:string"/> |
||||
<wsdl:part name="CMODEL" type="xsd:string"/> |
||||
<wsdl:part name="DSID" type="xsd:string"/> |
||||
<wsdl:part name="uid" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:message name="getViewerResponseMsg"> |
||||
<wsdl:part name="RESPONSE" type="xsd:string"/> |
||||
</wsdl:message> |
||||
<wsdl:portType name="viewer_portType"> |
||||
<wsdl:operation name="getViewer"> |
||||
<wsdl:input message="this:getViewerRequestMsg"/> |
||||
<wsdl:output message="this:getViewerResponseMsg"/> |
||||
</wsdl:operation> |
||||
</wsdl:portType> |
||||
<wsdl:service name="viewer_service"> |
||||
<wsdl:port binding="this:viewer_binding" name="viewer_port"> |
||||
<http:address location="http://local.fedora.server/iiv/slide_viewer.jsp"/> |
||||
</wsdl:port> |
||||
</wsdl:service> |
||||
<wsdl:binding name="viewer_binding" type="this:viewer_portType"> |
||||
<http:binding verb="GET"/> |
||||
<wsdl:operation name="getViewer"> |
||||
<http:operation location="?pid=(PID)&cmodel=(CMODEL)&dsid=(DSID)&uid=(uid)"/> |
||||
<wsdl:input> |
||||
<http:urlReplacement/> |
||||
</wsdl:input> |
||||
<wsdl:output> |
||||
<mime:content type="text/xhtml"/> |
||||
</wsdl:output> |
||||
</wsdl:operation> |
||||
</wsdl:binding> |
||||
</wsdl:definitions> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
<foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true"> |
||||
<foxml:datastreamVersion CREATED="2009-11-27T17:57:45.462Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="407"> |
||||
<foxml:xmlContent> |
||||
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" |
||||
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> |
||||
<dc:title>viewerSdep-slideCModel</dc:title> |
||||
<dc:identifier>islandora:viewerSdep-slideCModel</dc:identifier> |
||||
</oai_dc:dc> |
||||
</foxml:xmlContent> |
||||
</foxml:datastreamVersion> |
||||
</foxml:datastream> |
||||
</foxml:digitalObject> |
@ -1,196 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
<xsl:apply-templates select="sparql/results"/> |
||||
</table><br clear="all" /> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="sparql/results"> |
||||
<xsl:for-each select="result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="result"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="(content='Collection' or content='Community')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/<xsl:value-of select="title"/>/<xsl:value-of select="title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$linkUrl"/> |
||||
</xsl:attribute> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> </a> <br clear="all" /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$linkUrl"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="$newTitle"/> |
||||
</a> |
||||
<xsl:if test="(content!='Collection' and content!='Community')"> |
||||
<br />--<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
DETAILS |
||||
</a>-- |
||||
</xsl:if> |
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:critters="http://vre.upei.ca/critters/"> |
||||
<xsl:output method="xml" omit-xml-declaration="yes"/> |
||||
<!-- CRITTER XSLT --> |
||||
<xsl:template match="/"> |
||||
|
||||
<ul> |
||||
<li><b>Date Collected:</b><xsl:text> </xsl:text> <xsl:value-of select="/critters:sample/critters:date_collected"/></li> |
||||
<li><b>Type:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:type"/></li> |
||||
<li><b>Phylum:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:phylum"/></li> |
||||
<li><b>SubPhylum:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:SubPhylum"/></li> |
||||
<li><b>Class:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:class"/></li> |
||||
<li><b>Order:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:order"/></li> |
||||
<li><b>Family:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:family"/></li> |
||||
<li><b>Genus:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:genus"/></li> |
||||
<li><b>Species:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:taxonomy/critters:species"/></li> |
||||
|
||||
</ul> |
||||
|
||||
<h4>Collection Location</h4> |
||||
<ul> |
||||
<li><b>Site Name:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:site/critters:sitename"/></li> |
||||
<li><b>Country:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:site/critters:country"/></li> |
||||
<li><b>Region:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:site/critters:region"/></li> |
||||
<li><b>Latitude:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:site/critters:latitude"/></li> |
||||
<li><b>Longitude:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:site/critters:longitude"/></li> |
||||
<li><b>Depth:</b> <xsl:text> </xsl:text><xsl:value-of select="/critters:sample/critters:site/critters:depth"/><xsl:text> </xsl:text>Feet</li> |
||||
</ul> |
||||
<h4>Description</h4> |
||||
<div><xsl:value-of select="/critters:sample/critters:description"/></div> |
||||
|
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,212 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3" width="90%"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
|
||||
<!--<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each>- |
||||
--> |
||||
<xsl:apply-templates select="sparql/results"/> |
||||
</table><br clear="all" /> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="sparql/results"> |
||||
<xsl:for-each select="result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="result"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="(content='Collection' or content='Community')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/OBJ/<xsl:value-of select="title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
<xsl:attribute name="alt"><xsl:value-of select="$newTitle"/> |
||||
</xsl:attribute> |
||||
</img> </a> <br clear="all" /> |
||||
<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="$newTitle"/> |
||||
</a> |
||||
|
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,193 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
<xsl:apply-templates select="sparql/results"/> |
||||
</table><br clear="all" /> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="sparql/results"> |
||||
<xsl:for-each select="result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="result"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="(content='Collection' or content='Community')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/<xsl:value-of select="title"/>/<xsl:value-of select="title"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
|
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> <br clear="all" /> |
||||
|
||||
|
||||
<xsl:value-of select="$newTitle"/> |
||||
|
||||
<xsl:if test="(content!='Collection' and content!='Community')"> |
||||
<br />--<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
DETAILS |
||||
</a>-- |
||||
</xsl:if> |
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,92 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<xsl:output method="xml" omit-xml-declaration="yes"/> |
||||
<!-- refworks xslt --> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="/reference/jf"> |
||||
<h2>General Information</h2> |
||||
<table cellpadding="2" cellspacing="2"> |
||||
<tr><td ><strong>Periodical:</strong></td><td><xsl:value-of select="/reference/jf"/></td></tr> |
||||
<tr><td><strong>Abbreviation:</strong></td><td><xsl:value-of select="/reference/jo"/></td></tr> |
||||
<tr><td><strong>Volume:</strong></td><td><xsl:value-of select="/reference/vo"/></td></tr> |
||||
<tr><td><strong>Issue:</strong></td><td><xsl:value-of select="/reference/is"/></td></tr> |
||||
<tr><td><strong>Publisher:</strong></td><td><xsl:value-of select="/reference/pb"/></td></tr> |
||||
<tr><td><strong>Place of Publication:</strong></td><td><xsl:value-of select="/reference/pp"/></td></tr> |
||||
<tr><td><strong>Edition:</strong></td><td><xsl:value-of select="/reference/ed"/></td></tr> |
||||
<tr><td><strong>Year:</strong></td><td><xsl:value-of select="/reference/yr"/></td></tr> |
||||
<tr><td><strong>Date:</strong></td><td><xsl:value-of select="/reference/fd"/></td></tr> |
||||
<tr><td><strong>Start Page:</strong></td><td><xsl:value-of select="/reference/sp"/></td></tr> |
||||
<tr><td><strong>Other Pages:</strong></td><td><xsl:value-of select="/reference/op"/></td></tr> |
||||
<tr><td><strong>ISSN/ISBN:</strong></td><td><xsl:value-of select="/reference/sn"/></td></tr> |
||||
<tr><td><strong>Language:</strong></td><td><xsl:value-of select="/reference/la"/></td></tr> |
||||
<tr><td><strong>UL:</strong></td><td><xsl:value-of select="/reference/ul"/></td></tr> |
||||
</table> |
||||
</xsl:if> |
||||
<xsl:if test="/reference/t1"> |
||||
<h2>Titles</h2> |
||||
<ul> |
||||
<xsl:for-each select="/reference/t1"> |
||||
<li><xsl:value-of select="."/></li> |
||||
</xsl:for-each> |
||||
</ul> |
||||
</xsl:if> |
||||
<xsl:if test="/reference/t2"> |
||||
<ul> |
||||
<h3>Secondary Titles</h3> |
||||
<xsl:for-each select="/reference/t2"> |
||||
<li><xsl:value-of select="."/></li> |
||||
</xsl:for-each> |
||||
</ul> |
||||
</xsl:if> |
||||
<xsl:if test="/reference/a1"> |
||||
<h2>Authors</h2> |
||||
<ul> |
||||
<xsl:for-each select="/reference/a1"> |
||||
<li><xsl:value-of select="."/></li> |
||||
</xsl:for-each> |
||||
</ul> |
||||
</xsl:if> |
||||
|
||||
<xsl:if test="/reference/a2"> |
||||
<ul> |
||||
<h3>Secondary Authors</h3> |
||||
<xsl:for-each select="/reference/a2"> |
||||
<li><xsl:value-of select="."/></li> |
||||
</xsl:for-each> |
||||
</ul> |
||||
</xsl:if> |
||||
<xsl:if test="/reference/k1"> |
||||
<h2>Keywords</h2> |
||||
<ul> |
||||
<xsl:for-each select="/reference/k1"> |
||||
<li><xsl:value-of select="."/></li> |
||||
</xsl:for-each> |
||||
</ul> |
||||
</xsl:if> |
||||
<xsl:if test="/reference/ab"> |
||||
<h2>Abstract</h2> |
||||
<xsl:for-each select="/reference/ab"> |
||||
<div><xsl:value-of select="."/> </div> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
<xsl:if test="/reference/no"> |
||||
<h2>Notes</h2> |
||||
<xsl:for-each select="/reference/no"> |
||||
<div><xsl:value-of select="."/> </div> |
||||
</xsl:for-each> |
||||
</xsl:if> |
||||
<xsl:variable name="ISSN"> |
||||
<xsl:value-of select="/reference/sn"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="BASEURL"> |
||||
http://articles.library.upei.ca:7888/godot/hold_tab.cgi?hold_tab_branch=PCU&issn=<xsl:value-of select="/reference/sn/text()"/>&date=<xsl:value-of select="/reference/yr/text()"/>&volume=<xsl:value-of select="/reference/vo/text()"/>&issue=<xsl:value-of select="/reference/is/text()"/>&spage=<xsl:value-of select="/reference/sp/text()"/>&atitle=<xsl:value-of select="/reference/t1"/>&stitle=<xsl:value-of select="/reference/jf"/> |
||||
</xsl:variable> |
||||
<br /> |
||||
<xsl:if test="/reference/sn"> |
||||
<div><a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/></xsl:attribute> |
||||
<xsl:attribute name="target">_blank</xsl:attribute> |
||||
<img src="http://asin1.its.unb.ca:8000/muse/images/getit4.gif"/> </a></div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,217 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- Red and White XSLT --> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name="cellsPerRow" select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
<table cellpadding="3" cellspacing="3" width="90%"> |
||||
<tr><td colspan="{$cellsPerRow}"> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> <br clear="all" /> |
||||
</td></tr> |
||||
|
||||
<!--<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td> |
||||
</tr> |
||||
</xsl:for-each>- |
||||
--> |
||||
<xsl:apply-templates select="sparql/results"/> |
||||
</table><br clear="all" /> |
||||
<div STYLE="text-align: center;"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template match="sparql/results"> |
||||
<xsl:for-each select="result[position() mod $cellsPerRow = 1 and position()>=$start and position() <=$end]"> |
||||
<tr> |
||||
<xsl:apply-templates select=". | following-sibling::result[position() < $cellsPerRow]"/> |
||||
</tr> |
||||
</xsl:for-each> |
||||
</xsl:template> |
||||
<xsl:template match="result"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<xsl:variable name="newTitle" > |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="title"/> |
||||
<xsl:with-param name="from" select="'_'"/> |
||||
<xsl:with-param name="to" select="' '"/> |
||||
</xsl:call-template> |
||||
</xsl:variable> |
||||
<xsl:variable name="linkUrl"> |
||||
<xsl:choose> |
||||
<xsl:when test="(content='Collection' or content='Community')"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/OBJ/<xsl:value-of select="title"/>.pdf <!-- we know in riri that all OBJ streams are pdf so we can add the extension to tell browsers what it is--> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:variable> |
||||
<td valign="top" width="25%"> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$linkUrl"/> |
||||
</xsl:attribute> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
<xsl:attribute name="alt"><xsl:value-of select="$newTitle"/> |
||||
</xsl:attribute> |
||||
</img> </a> <br clear="all" /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$linkUrl"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="$newTitle"/> |
||||
</a> |
||||
<xsl:if test="(content!='Collection' and content!='Community')"> |
||||
<br />--<a> |
||||
<xsl:attribute name="href"> |
||||
<xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
DETAILS |
||||
</a>-- |
||||
</xsl:if> |
||||
</td> |
||||
<xsl:if test="(position() = last()) and (position() < $cellsPerRow)"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellsPerRow - position()"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="FillerCells"> |
||||
<xsl:param name="cellCount"/> |
||||
<td> </td> |
||||
<xsl:if test="$cellCount > 1"> |
||||
<xsl:call-template name="FillerCells"> |
||||
<xsl:with-param name="cellCount" select="$cellCount - 1"/> |
||||
</xsl:call-template> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
<xsl:template name="replace-string"> |
||||
<xsl:param name="text"/> |
||||
<xsl:param name="from"/> |
||||
<xsl:param name="to"/> |
||||
|
||||
<xsl:choose> |
||||
<xsl:when test="contains($text, $from)"> |
||||
|
||||
<xsl:variable name="before" select="substring-before($text, $from)"/> |
||||
<xsl:variable name="after" select="substring-after($text, $from)"/> |
||||
<xsl:variable name="prefix" select="concat($before, $to)"/> |
||||
|
||||
<xsl:value-of select="$before"/> |
||||
<xsl:value-of select="$to"/> |
||||
<xsl:call-template name="replace-string"> |
||||
<xsl:with-param name="text" select="$after"/> |
||||
<xsl:with-param name="from" select="$from"/> |
||||
<xsl:with-param name="to" select="$to"/> |
||||
</xsl:call-template> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$text"/> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,125 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> |
||||
<!-- DEFAULT XSLT FOR COLLECTIONS THAT DO NOT DEFINE THEIR OWN--> |
||||
<xsl:variable name="BASEURL"> |
||||
<xsl:value-of select="$baseUrl"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="PATH"> |
||||
<xsl:value-of select="$path"/> |
||||
</xsl:variable> |
||||
<xsl:variable name="thisPid" select="$collectionPid"/> |
||||
<xsl:variable name="thisTitle" select="$collectionTitle"/> |
||||
<xsl:variable name="size" select="20"/> |
||||
<xsl:variable name="page" select="$hitPage"/> |
||||
<xsl:variable name="start" select="((number($page) - 1) * number($size)) + 1"/> |
||||
<xsl:variable name="end" select="($start - 1) + number($size)"/> |
||||
<xsl:variable name='columns' select="4"/> |
||||
<xsl:variable name="count" select="count(sparql/results/result)"/> |
||||
<xsl:template match="/"> |
||||
<xsl:if test="$count>0"> |
||||
|
||||
<table width='100%'> |
||||
<tr><td colspan="2"> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</td></tr> |
||||
<!--select="//guestbook/entry[position()>=$start and $end>=position()]">--> |
||||
<xsl:for-each select="/sparql/results/result[position()>=$start and position() <=$end]"> |
||||
<xsl:variable name='OBJECTURI' select="object/@uri"/> |
||||
<xsl:variable name='PID' select="substring-after($OBJECTURI,'/')"/> |
||||
<tr> |
||||
<td> |
||||
<img> |
||||
<xsl:attribute name="src"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$PID"/>/TN |
||||
</xsl:attribute> |
||||
</img> |
||||
</td><td> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:copy-of select="$PID"/>/-/<xsl:value-of select="title"/> |
||||
</xsl:attribute> |
||||
<xsl:value-of select="title"/> |
||||
</a> |
||||
</td></tr> |
||||
</xsl:for-each> |
||||
</table> |
||||
<div align="center"> |
||||
<xsl:choose> |
||||
<xsl:when test="$end >= $count and $start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
</xsl:when> |
||||
<xsl:when test="$end >= $count"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$count"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:when test="$start = 1"> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:when> |
||||
<xsl:otherwise> |
||||
<xsl:value-of select="$start"/>-<xsl:value-of select="$end"/> |
||||
of <xsl:value-of select="$count"/> <br /> |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page - 1"/> |
||||
</xsl:attribute> |
||||
<<Prev |
||||
</a>  |
||||
<a> |
||||
<xsl:attribute name="href"><xsl:value-of select="$BASEURL"/>/fedora/repository/<xsl:value-of select="$thisPid"/>/-/<xsl:value-of select="$thisTitle"/>/<xsl:value-of select="$page + 1"/> |
||||
</xsl:attribute> |
||||
Next>> |
||||
</a> |
||||
</xsl:otherwise> |
||||
</xsl:choose> |
||||
</div> |
||||
</xsl:if> |
||||
</xsl:template> |
||||
</xsl:stylesheet> |
@ -1,172 +0,0 @@
|
||||
<?php |
||||
|
||||
|
||||
/** |
||||
* Invokes a hook to any dependent modules asking them if their installations require |
||||
* any fedora objects to be present. Modules implementing this hook should return an array |
||||
* of arrays of the form: |
||||
* |
||||
* array( 'pid', 'path-to-foxml-file', 'dsid', 'path-to-datastream-file', int dsversion) |
||||
* |
||||
* where the last three options are optional. A module can either point to a simple |
||||
* foxml file to install, or can specify a datastreamstream to check for, with a |
||||
* path to load the datastream from if it isn't there. Optionally a version number |
||||
* can be included, to enable updating of content model or collection policy streams |
||||
* that may have been updated. THis is a simple whole number that should be incremented |
||||
* when changed. This value appears in as an attribute of the topmost element of the stream, |
||||
* e.g.,: |
||||
* |
||||
* <?xml version="1.0" encoding="utf-8"?> <content_model name="Collection" version="2" ...
|
||||
* |
||||
* Datastreams which don't have this element are assumed to be at version 0. |
||||
*/ |
||||
function fedora_repository_solution_packs_page() { |
||||
$enabled_solution_packs = module_invoke_all('required_fedora_objects'); |
||||
$output = ''; |
||||
foreach ($enabled_solution_packs as $solution_pack_module => $solution_pack_info) { |
||||
$objects = array(); |
||||
foreach ($solution_pack_info as $field => $value) { |
||||
switch ($field) { |
||||
case 'title': |
||||
$solution_pack_name = $value; |
||||
break; |
||||
case 'objects': |
||||
$objects = $value; |
||||
break; |
||||
} |
||||
} |
||||
$output .= drupal_get_form('fedora_repository_solution_pack_form_' . $solution_pack_module, $solution_pack_module, $solution_pack_name, $objects); |
||||
} |
||||
|
||||
return $output; |
||||
} |
||||
|
||||
/** |
||||
* Check for installed objects and add a 'Update' or 'Install' button if some objects are missing. |
||||
* @param array $solution_pack |
||||
*/ |
||||
function fedora_repository_solution_pack_form(&$form_state, $solution_pack_module, $solution_pack_name, $objects = array()) { |
||||
// Check each object to see if it is in the repository. |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
global $base_path; |
||||
$needs_update = FALSE; |
||||
$needs_install = FALSE; |
||||
$form = array(); |
||||
$form['solution_pack_module'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => $solution_pack_module, |
||||
); |
||||
|
||||
if (!$form_state['submitted']) { |
||||
$form['soluction_pack_name'] = array( |
||||
'#type' => 'markup', |
||||
'#value' => t($solution_pack_name), |
||||
'#prefix' => '<h3>', |
||||
'#suffix' => '</h3>', |
||||
); |
||||
$form['objects'] = array( |
||||
'#type' => 'fieldset', |
||||
'#title' => "Objects", |
||||
'#weight' => 10, |
||||
'#attributes' => array('class' => 'collapsed'), |
||||
'#collapsible' => TRUE, |
||||
'#collapsed' => TRUE, |
||||
); |
||||
$table_header = array('PID', 'Status'); |
||||
$table_rows = array(); |
||||
|
||||
|
||||
foreach ($objects as $object) { |
||||
$datastreams = NULL; |
||||
if (isset($object['pid'])) { |
||||
$pid = $object['pid']; |
||||
|
||||
$item = new Fedora_Item($pid); |
||||
$table_row = array($object['pid']); |
||||
$object_status = t('Up-to-date'); |
||||
if (!$item->exists()) { |
||||
$object_status = 'Missing'; |
||||
$needs_install = TRUE; |
||||
} else { |
||||
if (isset($object['dsid']) && isset($object['datastream_file']) && isset($object['dsversion'])) { |
||||
$datastreams = array( |
||||
array( |
||||
'dsid' => $object['dsid'], |
||||
'datastream_file' => $object['datastream_file'], |
||||
'dsversion' => $object['dsversion'], |
||||
), |
||||
); |
||||
} elseif (!empty($object['datastreams'])) { |
||||
$datastreams = $object['datastreams']; |
||||
} |
||||
if (!empty($datastreams) && is_array($datastreams)) { |
||||
foreach ($datastreams as $ds) { |
||||
$ds_list = $item->get_datastreams_list_as_array(); |
||||
if (!array_key_exists($ds['dsid'], $ds_list)) { |
||||
$needs_update = TRUE; |
||||
$object_status = 'Missing datastream'; |
||||
break; |
||||
} |
||||
if (isset($ds['dsversion'])) { |
||||
// Check if the datastream is versioned and needs updating. |
||||
$installed_version = fedora_repository_get_islandora_datastream_version($item, $ds['dsid']); |
||||
$available_version = fedora_repository_get_islandora_datastream_version(NULL, NULL, $ds['datastream_file']); |
||||
if ($available_version > $installed_version) { |
||||
$needs_update = TRUE; |
||||
$object_status = 'Out of date'; |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
array_push($table_row, $object_status); |
||||
$table_rows[] = $table_row; |
||||
} |
||||
} |
||||
$form['objects']['table'] = array( |
||||
'#type' => 'markup', |
||||
'#value' => theme_table($table_header, $table_rows), |
||||
); |
||||
} |
||||
|
||||
$form['install_status'] = array( |
||||
'#type' => 'markup', |
||||
'#prefix' => '<strong>' . t('Object status:') . ' </strong>', |
||||
'#suffix' => ' ', |
||||
); |
||||
if (!$needs_install && !$needs_update) { |
||||
$form['install_status']['#value'] = theme_image('misc/watchdog-ok.png') . t('All required objects are installed and up-to-date.'); |
||||
} else { |
||||
$form['install_status']['#value'] = theme_image('misc/watchdog-warning.png') . t('Some objects must be re-ingested. See Objects list for details.'); |
||||
} |
||||
$form['submit'] = array( |
||||
'#value' => t('Install'), |
||||
'#disabled' => !$needs_install && !$needs_update, |
||||
'#type' => 'submit', |
||||
'#name' => $solution_pack_module, |
||||
); |
||||
|
||||
$form['#submit'] = array( |
||||
'fedora_repository_solution_pack_form_submit', |
||||
); |
||||
return $form; |
||||
} |
||||
|
||||
function fedora_repository_solution_pack_form_submit($form, &$form_state) { |
||||
$what = $form_state; |
||||
$module_name = $form_state['values']['solution_pack_module']; |
||||
$solution_pack_info = call_user_func($module_name . '_required_fedora_objects'); |
||||
$batch = array( |
||||
'title' => t('Installing / updating solution pack objects'), |
||||
'file' => drupal_get_path('module', 'fedora_repository') . '/fedora_repository.module', |
||||
'operations' => array(), |
||||
); |
||||
|
||||
|
||||
foreach ($solution_pack_info[$module_name]['objects'] as $object) { |
||||
// Add this object to the batch job queue. |
||||
$batch['operations'][] = array('fedora_repository_batch_reingest_object', array($object)); |
||||
} |
||||
batch_set($batch); |
||||
} |
Binary file not shown.
@ -1,796 +0,0 @@
|
||||
<?php |
||||
|
||||
// $Id$ |
||||
|
||||
/* |
||||
* Created on Jan 22, 2008 |
||||
*/ |
||||
|
||||
class formClass { |
||||
|
||||
function formClass() { |
||||
module_load_include('inc', 'formClass', ''); |
||||
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); |
||||
} |
||||
|
||||
/* |
||||
* create the paths for urls and map them to php functions |
||||
*/ |
||||
|
||||
function createMenu() { |
||||
$items = array(); |
||||
|
||||
$items['admin/settings/fedora_repository'] = array( |
||||
'title' => t('Fedora collection list'), |
||||
'description' => t('Enter the Fedora Collection information here'), |
||||
'page callback' => 'drupal_get_form', |
||||
'page arguments' => array('fedora_repository_admin'), |
||||
'access arguments' => array('administer site configuration'), |
||||
'type' => MENU_NORMAL_ITEM, |
||||
); |
||||
$items['admin/settings/fedora_repository/collection'] = array( |
||||
'title' => t('Collection list'), |
||||
'description' => t('Enter the Fedora collection information here.'), |
||||
'access arguments' => array('administer site configuration'), |
||||
'type' => MENU_DEFAULT_LOCAL_TASK, |
||||
'weight' => 0, |
||||
); |
||||
|
||||
$items['admin/settings/fedora_repository/demoobjects'] = array( |
||||
'title' => t('Solution Packs'), |
||||
'description' => t('Install content models and collections required by installed solution packs.'), |
||||
'page callback' => 'fedora_repository_solution_packs_page', |
||||
'access arguments' => array('add fedora datastreams'), |
||||
'file' => 'fedora_repository.solutionpacks.inc', |
||||
'type' => MENU_LOCAL_TASK, |
||||
); |
||||
|
||||
$items['islandoracm.xsd'] = array( |
||||
'title' => t('Islandoracm XML Schema Definition'), |
||||
'page callback' => 'fedora_repository_display_schema', |
||||
'page arguments' => array('islandoracm.xsd'), |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
|
||||
$items['collection_policy.xsd'] = array( |
||||
'title' => t('Islandoracm XML Schema Definition'), |
||||
'page callback' => 'fedora_repository_display_schema', |
||||
'page arguments' => array('collection_policy.xsd'), |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
|
||||
$items['fedora'] = array( |
||||
'page callback' => 'repository_page', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
$repository_title = variable_get('fedora_repository_title', 'Digital repository'); |
||||
if (trim($repository_title) != '') { |
||||
$respository_title = t($repository_title); |
||||
} |
||||
else { |
||||
$repository_title = NULL; |
||||
} |
||||
$items['fedora/repository'] = array( |
||||
'title' => $repository_title, |
||||
'page callback' => 'repository_page', |
||||
'type' => MENU_NORMAL_ITEM, |
||||
'access arguments' => array('view fedora collection'), |
||||
// 'access' => TRUE |
||||
); |
||||
|
||||
$items['fedora/repository/service'] = array( |
||||
'page callback' => 'repository_service', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
|
||||
$items['fedora/repository/object_download'] = array( |
||||
'title' => t('Download object'), |
||||
'page callback' => 'fedora_object_as_attachment', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection') |
||||
); |
||||
$items['fedora/repository/editmetadata'] = array( |
||||
'title' => t('Edit metadata'), |
||||
'page callback' => 'fedora_repository_edit_qdc_page', |
||||
// 'page arguments' => array(1), |
||||
//'type' => MENU_LOCAL_TASK, |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('edit fedora meta data') |
||||
); |
||||
$items['fedora/repository/purgeStream'] = array( |
||||
'title' => t('Purge data stream'), |
||||
'page callback' => 'fedora_repository_purge_stream', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('purge objects and datastreams') |
||||
); |
||||
$items['fedora/repository/replaceStream'] = array( |
||||
'title' => t('Replace Stream'), |
||||
'page callback' => 'fedora_repository_replace_stream', |
||||
// 'callback arguments' => array(3, 4), |
||||
'type' => MENU_CALLBACK, |
||||
// 'access callback' => 'fedora_repository_user_access', |
||||
'access arguments' => array('add fedora datastreams'), |
||||
); |
||||
$items['fedora/repository/purgeObject'] = array( |
||||
'title' => t('Purge object'), |
||||
'page callback' => 'fedora_repository_purge_object', |
||||
// 'type' => MENU_LOCAL_TASK, |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('purge objects and datastreams') |
||||
); |
||||
$items['fedora/repository/addStream'] = array( |
||||
'title' => t('Add stream'), |
||||
'page callback' => 'add_stream', |
||||
// 'type' => MENU_LOCAL_TASK, |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('add fedora datastreams') |
||||
); |
||||
|
||||
$items['fedora/repository/collection'] = array( |
||||
'title' => t('Collection view'), |
||||
'page callback' => 'fedora_collection_view', |
||||
'type' => MENU_CALLBACK, |
||||
'access argruments' => array('view fedora collection') |
||||
); |
||||
//new for mnpl****************************************** |
||||
$items['fedora/repository/mnpl_advanced_search'] = array( |
||||
'title' => t('Repository advanced search'), |
||||
'page callback' => 'fedora_repository_mnpl_advanced_search', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection') |
||||
); |
||||
$items['fedora/ingestObject'] = array( |
||||
'title' => t('Ingest object'), |
||||
'page callback' => 'fedora_repository_ingest_object', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('add fedora datastreams') |
||||
); |
||||
|
||||
$items['fedora/repository/list_terms'] = array( |
||||
'title' => t('List terms'), |
||||
'page callback' => 'fedora_repository_list_terms', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection') |
||||
); |
||||
|
||||
$items['fedora/tagging/add_tag/js'] = array( |
||||
'page callback' => 'fedora_tagging_add_tag_js', |
||||
'access arguments' => array('edit tags datastream'), |
||||
'type' => MENU_CALLBACK, |
||||
); |
||||
|
||||
|
||||
/* Export functionality */ |
||||
$items['fedora/basket'] = array( |
||||
'title' => t('Fedora Basket'), |
||||
'description' => t('View and download objects added to your basket'), |
||||
'page callback' => 'fedora_repository_basket', |
||||
'access arguments' => array('view fedora collection'), |
||||
'type' => MENU_CALLBACK, |
||||
); |
||||
|
||||
$items['fedora/repository/addToBasket'] = array( |
||||
'page callback' => 'fedora_repository_add_to_basket', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
|
||||
$items['fedora/repository/removeFromBasket'] = array( |
||||
'page callback' => 'fedora_repository_remove_from_basket', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
|
||||
$items['fedora/repository/add_search_results_to_basket'] = array( |
||||
'page callback' => 'fedora_repository_add_search_results_to_basket', |
||||
'type' => MENU_CALLBACK, |
||||
'access arguments' => array('view fedora collection'), |
||||
); |
||||
|
||||
return $items; |
||||
} |
||||
|
||||
function createAdminForm() { |
||||
if (!user_access('administer site configuration')) { |
||||
drupal_set_message(t('You must be a site administrator to edit the Fedora collecitons list.'), 'error'); |
||||
return; |
||||
} |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_utils'); |
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
$form = array(); |
||||
$form['fedora_repository_name'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Default collection name'), |
||||
'#default_value' => variable_get('fedora_repository_name', 'Islandora demos collection'), |
||||
'#description' => t('The Name of the collection to grab the list of items from'), |
||||
'#required' => TRUE, |
||||
'#weight' => -2 |
||||
); |
||||
$form['fedora_repository_pid'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Default collection PID'), |
||||
'#default_value' => variable_get('fedora_repository_pid', 'islandora:top'), |
||||
'#description' => t('The PID of the collection object to grab the list of items from'), |
||||
'#required' => TRUE, |
||||
'#weight' => -2 |
||||
); |
||||
|
||||
$form['fedora_collection_model_pid'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Default Collection Model PID'), |
||||
'#default_value' => variable_get('fedora_collection_model_pid', 'islandora:collectionCModel'), |
||||
'#description' => t('The PID of the default Collection Model Object'), |
||||
'#required' => TRUE, |
||||
'#weight' => -2 |
||||
); |
||||
|
||||
$form['fedora_content_model_collection_pid'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Default Content Model Collection PID'), |
||||
'#default_value' => variable_get('fedora_content_model_collection_pid', 'islandora:ContentModelCollection'), |
||||
'#description' => t('The PID of the Content Model Collection Object'), |
||||
'#required' => TRUE, |
||||
'#weight' => -2 |
||||
); |
||||
|
||||
|
||||
$form['fedora_repository_url'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora RISearch URL'), |
||||
'#default_value' => variable_get('fedora_repository_url', |
||||
'http://localhost:8080/fedora/risearch'), |
||||
'#description' => t('The url of the Fedora server'), '#required' => TRUE, |
||||
'#weight' => 0 |
||||
); |
||||
$form['fedora_fgsearch_url'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora Lucene search URL'), |
||||
'#default_value' => variable_get('fedora_fgsearch_url', 'http://localhost:8080/fedoragsearch/rest'), |
||||
'#description' => t('The url of the Lucene Fedora server'), |
||||
'#required' => TRUE, |
||||
'#weight' => 0 |
||||
); |
||||
$form['fedora_index_name'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora Lucene index name'), |
||||
'#default_value' => variable_get('fedora_index_name', 'BasicIndex'), |
||||
'#description' => t('The name of the Lucene index to search'), |
||||
'#required' => TRUE, |
||||
'#weight' => 0 |
||||
); |
||||
$form['fedora_soap_url'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora SOAP Url'), |
||||
'#default_value' => variable_get('fedora_soap_url', 'http://localhost:8080/fedora/services/access?wsdl'), |
||||
'#description' => t('The URL to use for SOAP connections'), |
||||
'#required' => TRUE, |
||||
'#weight' => 0, |
||||
'#suffix' => '<p>' . (fedora_available() ? '<img src="' . url('misc/watchdog-ok.png') . '"/>' . t('Successfully connected to Fedora server at !fedora_soap_url', array('!fedora_soap_url' => variable_get('fedora_soap_url', ''))) : '<img src="' . url('misc/watchdog-error.png') . '"/> ' . t('Unable to connect to Fedora server at !fedora_soap_url</p>', array('!fedora_soap_url' => variable_get('fedora_soap_url', '')))), |
||||
); |
||||
$form['fedora_base_url'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora base URL'), |
||||
'#default_value' => variable_get('fedora_base_url', 'http://localhost:8080/fedora'), |
||||
'#description' => t('The URL to use for REST-type connections'), |
||||
'#required' => TRUE, |
||||
'#weight' => 0, |
||||
); |
||||
|
||||
$form['fedora_soap_manage_url'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora SOAP management URL'), |
||||
'#default_value' => variable_get('fedora_soap_manage_url', 'http://localhost:8080/fedora/services/management?wsdl'), '#description' => t('The URL to use for SOAP API-M connections'), |
||||
'#required' => TRUE, |
||||
'#weight' => 0 |
||||
); |
||||
|
||||
$form['fedora_solr_search_url'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora Solr search URL'), |
||||
'#default_value' => variable_get('fedora_solr_search_url', 'http://localhost:8080/solr'), '#description' => t('The URL to use for Solr searching'), |
||||
'#required' => TRUE, |
||||
'#weight' => 0 |
||||
); |
||||
|
||||
// will allow admin user to remove namepsace restrictions if not explicitly disallowed in settings.php |
||||
if (variable_get('allow_open_namespace', TRUE)) { |
||||
$form['fedora_namespace'] = array( |
||||
'#type' => 'fieldset', |
||||
); |
||||
|
||||
$form['fedora_namespace']['fedora_namespace_restriction_enforced'] = array( |
||||
'#weight' => -1, |
||||
'#type' => 'radios', |
||||
'#title' => t('Enforce namespace restrictions'), |
||||
'#options' => array( |
||||
TRUE => t('Enabled'), |
||||
FALSE => t('Disabled') |
||||
), |
||||
'#description' => t('Allow administrator to restrict user\'s access to the PID namepaces listed below'), |
||||
'#default_value' => variable_get('fedora_namespace_restriction_enforced', TRUE) |
||||
); |
||||
|
||||
$form['fedora_namespace']['fedora_pids_allowed'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('PID namespaces allowed in this Drupal install'), |
||||
'#default_value' => variable_get('fedora_pids_allowed', 'default: demo: changeme: islandora: ilives: '), |
||||
'#description' => t('A space separated list PID namespaces that users are permitted to access from this Drupal installation. <br /> This could be more than a simple namespace ie demo:mydemos.'), |
||||
'#weight' => 0 |
||||
); |
||||
} |
||||
else { |
||||
$form['fedora_pids_allowed'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('PID namespaces allowed in this Drupal install'), |
||||
'#default_value' => variable_get('fedora_pids_allowed', 'default: demo: changeme: islandora: ilives: '), |
||||
'#description' => t('A space separated list PID namespaces that users are permitted to access from this Drupal installation. <br /> This could be more than a simple namespace ie demo:mydemos.'), |
||||
'#weight' => 0 |
||||
); |
||||
} |
||||
$form['fedora_repository_title'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Fedora Repository Title'), |
||||
'#default_value' => variable_get('fedora_repository_title', 'Digital Repository'), |
||||
'#description' => t('The title displayed when viewing collections and objects in /fedora/repository. Leave blank to display no title. Note that the menus must be rebuilt after changing this variable.'), |
||||
); |
||||
|
||||
$form['fedora_object_display_title'] = array( |
||||
'#type' => 'select', |
||||
'#title' => t('Display Object Title Behaviour'), |
||||
'#default_value' => variable_get('fedora_object_display_title', ObjectHelper::$DISPLAY_ALWAYS), |
||||
'#options' => array(ObjectHelper::$DISPLAY_ALWAYS => t('Always'), ObjectHelper::$DISPLAY_NEVER => t('Never'), ObjectHelper::$DISPLAY_NO_MODEL_OUTPUT => t('Only if no Content Model display output.')), |
||||
'#description' => t('Determines when to display the object (or collection) title when viewing an object/collection page.'), |
||||
); |
||||
|
||||
$form['fedora_object_display_description'] = array( |
||||
'#type' => 'select', |
||||
'#title' => t('Display Object Description Behaviour'), |
||||
'#default_value' => variable_get('fedora_object_display_description', ObjectHelper::$DISPLAY_ALWAYS), |
||||
'#options' => array(ObjectHelper::$DISPLAY_ALWAYS => t('Always'), ObjectHelper::$DISPLAY_NEVER => t('Never'), ObjectHelper::$DISPLAY_NO_MODEL_OUTPUT => t('Only if no Content Model display output.')), |
||||
'#description' => t('Determines when to display the default object (or collection) description fieldset when viewing an object/collection page.'), |
||||
); |
||||
|
||||
$form['fedora_object_restrict_datastreams'] = array( |
||||
'#type' => 'checkbox', |
||||
'#title' => t('Restrict Access to Fedora Object Datastreams'), |
||||
'#default_value' => variable_get('fedora_object_restrict_datastreams', FALSE), |
||||
'#description' => t('When enabled, restricts access to fedora object datastreams that are not listed in the Islandora Content Model for the object (unless the user is an administrator).'), |
||||
); |
||||
|
||||
$form['fedora_collection_display_list'] = array( |
||||
'#type' => 'select', |
||||
'#title' => t('Display Collection List Behaviour'), |
||||
'#default_value' => variable_get('fedora_collection_display_list', ObjectHelper::$DISPLAY_ALWAYS), |
||||
'#options' => array(ObjectHelper::$DISPLAY_ALWAYS => t('Always'), ObjectHelper::$DISPLAY_NEVER => t('Never'), ObjectHelper::$DISPLAY_NO_MODEL_OUTPUT => t('Only if no Content Model display output.')), |
||||
'#description' => t('Determines when to display the list of objects when viewing a collection page.'), |
||||
); |
||||
|
||||
//Export functionality |
||||
$form['module']['export_area'] = array( |
||||
'#type' => 'textfield', |
||||
'#title' => t('Export area'), |
||||
'#default_value' => variable_get('export_area', file_directory_path() . '/fedora_export_area'), |
||||
'#description' => t("Path to the export area. It must be accessible by druapl (i.e. apache user)."), |
||||
'#required' => TRUE, |
||||
); |
||||
|
||||
$form['#attributes'] = array('enctype' => "multipart/form-data"); |
||||
|
||||
|
||||
return system_settings_form($form); |
||||
} |
||||
|
||||
function updateMetaData($form_id, $form_values, $client) { |
||||
// ====================================== |
||||
// = begin creation of foxml dom object = |
||||
// ====================================== |
||||
$dom = new DomDocument("1.0", "UTF-8"); |
||||
$dom->formatOutput = TRUE; |
||||
|
||||
///begin writing qdc |
||||
|
||||
$oai = $dom->createElement("oai_dc:dc"); |
||||
$oai->setAttribute('xmlns:oai_dc', "http://www.openarchives.org/OAI/2.0/oai_dc/"); |
||||
$oai->setAttribute('xmlns:dc', "http://purl.org/dc/elements/1.1/"); |
||||
$oai->setAttribute('xmlns:dcterms', "http://purl.org/dc/terms/"); |
||||
$oai->setAttribute('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance"); |
||||
|
||||
// DC elements |
||||
$previousElement = NULL; // Used in case we have to nest elements for qualified dublin core. |
||||
foreach ($form_values as $key => $value) { |
||||
$index = strrpos($key, '-'); |
||||
$key = substr($key, 0, $index); |
||||
$test = substr($key, 0, 2); |
||||
if ($test == 'dc' || $test == 'ap') { // Don't try to process other form values. |
||||
try { |
||||
if (!strcmp(substr($key, 0, 4), 'app_')) { |
||||
$key = substr($key, 4); |
||||
$previousElement->appendChild($dom->createElement($key, $value)); |
||||
} |
||||
else { |
||||
$previousElement = $dom->createElement($key, $value); |
||||
$oai->appendChild($previousElement); |
||||
} |
||||
} catch (exception $e) { |
||||
drupal_set_message(t($e->getMessage()), 'error'); |
||||
continue; |
||||
} |
||||
} |
||||
} |
||||
|
||||
$dom->appendChild($oai); |
||||
|
||||
if (!$client) { |
||||
return; |
||||
} |
||||
|
||||
$pid = $form_values['pid']; |
||||
$dsId = $form_values['dsid']; |
||||
$params = array( |
||||
"pid" => $pid, |
||||
"dsID" => $dsId, |
||||
"altIDs" => "", |
||||
"dsLabel" => "Qualified Dublin Core", |
||||
"MIMEType" => "text/xml", |
||||
"formatURI" => "URL", |
||||
"dsContent" => $dom->saveXML(), "checksumType" => "DISABLED", "checksum" => "none", |
||||
"logMessage" => "datastream_modified", "force" => "TRUE"); |
||||
try { |
||||
$object = $client->__soapCall('ModifyDatastreamByValue', array($params)); |
||||
} catch (exception $e) { |
||||
drupal_set_message(t("Error updating metadata ") . $e->getMessage(), 'error'); |
||||
} |
||||
} |
||||
|
||||
// queries the collection object for a childsecurity datastream and if found parses it |
||||
// to determine if this user is allowed to ingest in this collection |
||||
// we assume if they are able to modify objects in the collection they can ingest as well. |
||||
function can_ingest_here($collection_pid) { |
||||
module_load_include('inc', 'fedora_repository', 'SecurityClass'); |
||||
$securityClass = new SecurityClass(); |
||||
return $securityClass->canIngestHere($collection_pid); |
||||
} |
||||
|
||||
/** |
||||
* Create a multi step form (wizard) for ingesting objects into Fedora |
||||
*/ |
||||
function createIngestForm($collection_pid, $collection_label, &$form_state) { |
||||
global $user; |
||||
module_load_include('inc', 'fedora_repository', 'CollectionPolicy'); |
||||
// drupal_add_js("function _imce_ingest_ImceFinish(path, w, h, s, imceWin) {imceWin.close(); document.getElementById('edit-ingest-file-location').value = path;}",'inline','header'); |
||||
|
||||
if (!user_access('ingest new fedora objects')) { |
||||
drupal_set_message(t('You do not have permission to ingest.'), 'error'); |
||||
return ''; |
||||
} |
||||
if (empty($form_state['storage']['step'])) { |
||||
// we are coming in without a step, so default to step 1 |
||||
$form_state['storage']['step'] = 1; |
||||
} |
||||
//this uses drupal's permissions at this point no xacml yet. xacml decisions are made by fedora |
||||
if (!$this->can_ingest_here($collection_pid)) { |
||||
drupal_set_message(t('You do not have premission to ingest here.')); |
||||
return ''; |
||||
} |
||||
|
||||
if ($collection_pid == NULL) { |
||||
drupal_set_message(t('You must specify an collection object pid to ingest an object.'), 'error'); |
||||
return FALSE; |
||||
} |
||||
if (($cp = CollectionPolicy::loadFromCollection($collection_pid)) === FALSE) { |
||||
drupal_set_message(t('Unable to load collection policy \'' . $collection_pid . '\'.')); |
||||
return FALSE; |
||||
} |
||||
|
||||
|
||||
$contentModels = $cp->getContentModels(); |
||||
|
||||
if (!$contentModels) { |
||||
drupal_set_message(t('No content models associated with this collection: !collection_label. Please contact your administrator.', array('!collection_label' => $collection_label)), 'error'); |
||||
return FALSE; |
||||
} |
||||
$modelsForForm = array(); |
||||
foreach ($contentModels as $contentModel) { |
||||
$identifier = $contentModel->getIdentifier(); |
||||
$name = $contentModel->name; |
||||
$modelsForForm["$identifier"] = "$name"; |
||||
} |
||||
|
||||
switch ($form_state['storage']['step']) { |
||||
case 1: |
||||
$form['indicator'] = array( |
||||
'#type' => 'fieldset', |
||||
'#title' => t('Ingest digital object into collection_pid !collection_label Step #1', array('collection_pid' => $collection_pid, '!collection_label' => $collection_label)) |
||||
); |
||||
|
||||
$form['indicator']['models'] = array(// content models available |
||||
'#type' => 'select', |
||||
'#title' => t('Content models available'), |
||||
'#options' => $modelsForForm, |
||||
//'#description' => t('Content models available in this collection. A content model defines what is allowed in a collection and what to do with a file when it is uploaded (An example may creating a thumbnail from an image.).') |
||||
'#description' => t('Content models define datastream composition, relationships between this and other content models, and the mandatory behaviors associated with each digital object.<br /> Additional information may be found <a href="https://wiki.duraspace.org/display/FEDORACREATE/Content+Models+Overview">here.</a> ') |
||||
); |
||||
break; |
||||
|
||||
case 2: |
||||
module_load_include('inc', 'fedora_repository', 'MimeClass'); // Why this include? --Zac, 2010-09-17 |
||||
$contentModelPid = ContentModel::getPidFromIdentifier($form_state['values']['models']); |
||||
$contentModelDsid = ContentModel::getDSIDFromIdentifier($form_state['values']['models']); |
||||
|
||||
if (($cm = ContentModel::loadFromModel($contentModelPid, $contentModelDsid)) !== FALSE) { |
||||
$form = $cm->buildIngestForm($form, $form_state); |
||||
if ($form === FALSE) { |
||||
|
||||
drupal_set_message(t("Error Building Ingest Form."), 'error'); |
||||
foreach (ContentModel::$errors as $err) { |
||||
drupal_set_message($err, 'error'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
break; |
||||
} |
||||
|
||||
$form['collection_pid'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => $collection_pid |
||||
); |
||||
|
||||
if ($form_state['storage']['step'] < 2) { |
||||
$button_name = t('Next'); |
||||
} |
||||
else { |
||||
$prefix = t('Please be patient. Once you click next there may be a number of files created. Depending on your content model this could take a few minutes to process.<br />'); |
||||
$button_name = t('Ingest'); |
||||
} |
||||
|
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#submit' => array('fedora_repository_ingest_form_submit'), |
||||
'#value' => $button_name |
||||
); |
||||
|
||||
return $form; |
||||
} |
||||
|
||||
// this function may not be being used |
||||
function createAddDataStreamForm($pid, &$form_state) { |
||||
//dump_vars($form_state); |
||||
// Populate the list of datastream IDs. |
||||
|
||||
module_load_include('inc', 'fedora_repository', 'ObjectHelper'); |
||||
module_load_include('inc', 'fedora_repository', 'ContentModel'); |
||||
module_load_include('inc', 'fedora_repository', 'api/fedora_item'); |
||||
|
||||
$obj_helper = new ObjectHelper(); |
||||
$content_models = $obj_helper->get_content_models_list($pid); |
||||
$available_dsids = array(); |
||||
if (!empty($content_models)) { |
||||
foreach ($content_models as $content_model) { |
||||
|
||||
|
||||
$newElements = $content_model->listDatastreams(); |
||||
if (!empty($newElements)) { |
||||
$available_dsids = array_merge($available_dsids, $newElements); |
||||
} |
||||
|
||||
} |
||||
} |
||||
|
||||
$item = new Fedora_Item($pid); |
||||
$used_datastreams = $item->get_datastreams_list_as_SimpleXML(); |
||||
$used_datastream_ids = array(); |
||||
foreach ($used_datastreams->datastreamDef as $used_datastream) { |
||||
array_push($used_datastream_ids, $used_datastream->ID); |
||||
} |
||||
$unused_dsids = array(); |
||||
|
||||
if ($form_state['submitted'] && $form_state['clicked_button']['#value'] != 'OK') { |
||||
$form['add_datastream_label'] = array( |
||||
'#value' => t('<br /><h3>The datastream has been uploaded.</h3>'), |
||||
'#weight' => -10, |
||||
); |
||||
$form['#redirect'] = "fedora/repository/$pid/"; |
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('OK') |
||||
); |
||||
return $form; |
||||
} |
||||
if (!empty($available_dsids)) { |
||||
$unused_dsids = array_diff($available_dsids, $used_datastream_ids); |
||||
if (empty($unused_dsids)) { |
||||
return; |
||||
} |
||||
} |
||||
|
||||
$form['add_datastream_label'] = array( |
||||
'#value' => t('<br /><h3>Add Datastream:</h3>'), |
||||
'#weight' => -10, |
||||
); |
||||
|
||||
$form['pid'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => "$pid" |
||||
); |
||||
|
||||
$form['stream_label'] = array( |
||||
'#title' => 'Datastream Label', |
||||
'#required' => 'TRUE', |
||||
'#description' => t('A Human readable label'), |
||||
'#type' => 'textfield' |
||||
); |
||||
|
||||
$form['#attributes']['enctype'] = 'multipart/form-data'; |
||||
$form['add-stream-file-location'] = array( |
||||
'#type' => 'file', |
||||
'#title' => t('Upload Document'), |
||||
'#size' => 48, |
||||
// '#required'=>'TRUE', |
||||
'#description' => t('The file to upload.') |
||||
); |
||||
$form['#redirect'] = "fedora/repository/$pid/"; |
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('Add Datastream') |
||||
); |
||||
|
||||
if (!empty($unused_dsids)) { |
||||
$dsidsForForm = array(); |
||||
foreach ($unused_dsids as $dsid){ |
||||
$dsidsForForm[$dsid]=$dsid; |
||||
} |
||||
$form['stream_id'] = array( |
||||
'#type' => 'select', |
||||
'#title' => t('Datastream ID'), |
||||
'#default_value' => variable_get('feed_item_length', 'teaser'), |
||||
'#weight' => '-1', |
||||
'#description' => t('Datastream IDs defined by the content model.'), |
||||
); |
||||
$form['stream_id']['#options'] = array_combine($unused_dsids, $unused_dsids); |
||||
} |
||||
else { |
||||
$form['stream_id'] = array( |
||||
'#title' => 'Datastream ID', |
||||
'#required' => 'TRUE', |
||||
'#description' => t('An ID for this stream that is unique to this object. Must start with a letter and contain only alphanumeric characters and dashes and underscores.'), |
||||
'#type' => 'textfield', |
||||
'#weight' => -1, |
||||
); |
||||
} |
||||
return $form; |
||||
} |
||||
|
||||
/** |
||||
* Creates a drupal form to edit either the QDC or DC datastream |
||||
*/ |
||||
function createMetaDataForm($pid, $dsId = NULL, $client) { |
||||
if (!isset($dsId)) { |
||||
$dsId = 'QDC'; |
||||
} |
||||
|
||||
//$client = getSoapClient(variable_get('fedora_soap_url', 'http://localhost:8080/fedora/services/access?wsdl')); |
||||
$params = array('pid' => "$pid", 'dsID' => "$dsId", 'asOfDateTime' => ""); |
||||
try { |
||||
$object = $client->__soapCAll('getDatastreamDissemination', array('parameters' => $params)); |
||||
} catch (Exception $e) { |
||||
return array(); |
||||
} |
||||
|
||||
$content = $object->dissemination->stream; |
||||
$content = trim($content); |
||||
$doc = new DOMDocument(); |
||||
if (!$doc->loadXML($content)) { |
||||
echo "error loading xml"; |
||||
} |
||||
|
||||
$oai_dc = $doc->getElementsByTagName('dc'); |
||||
|
||||
$dcItems = $oai_dc->item(0)->getElementsByTagName('*'); |
||||
$form = array(); |
||||
for ($i = 0; $i < $dcItems->length; $i++) { |
||||
$name = $dcItems->item($i)->nodeName; |
||||
if ($name == 'dc:description') { |
||||
$form["$name" . '-' . "$i"] = array( |
||||
'#title' => $name, |
||||
'#type' => 'textarea', |
||||
'#default_value' => $dcItems->item($i)->nodeValue, |
||||
'#description' => 'Dublin Core ' . substr($dcItems->item($i)->nodeName, 3) |
||||
); |
||||
} |
||||
elseif ($name == 'dc:title') { |
||||
$form["$name" . '-' . "$i"] = array( |
||||
'#title' => $name, |
||||
'#type' => 'textfield', |
||||
'#required' => 'TRUE', |
||||
'#default_value' => $dcItems->item($i)->nodeValue, |
||||
'#description' => 'Dublin Core ' . substr($dcItems->item($i)->nodeName, 3) |
||||
); |
||||
} |
||||
else { |
||||
if ($oai_dc->item(0)->nodeName != $dcItems->item($i)->parentNode->nodeName) { |
||||
$description = strstr($name, ':'); |
||||
$form['app_' . "$name" . '-' . "$i"] = array( |
||||
'#title' => $name, |
||||
'#type' => 'textfield', |
||||
'#default_value' => $dcItems->item($i)->nodeValue, |
||||
'#description' => 'Dublin Core ' . substr($description, 1) |
||||
); |
||||
} |
||||
else { |
||||
$field_type = 'textfield'; |
||||
$value = $dcItems->item($i)->nodeValue; |
||||
if ($name == 'dc:coverage') { |
||||
$value = ''; |
||||
} |
||||
if ($name == 'dc:rights') { |
||||
$field_type = 'textarea'; |
||||
} |
||||
$description = strstr($name, ':'); |
||||
$form["$name" . '-' . "$i"] = array( |
||||
'#title' => $name, |
||||
'#type' => $field_type, |
||||
'#default_value' => $value, |
||||
'#description' => 'Dublin Core ' . substr($description, 1) |
||||
); |
||||
} |
||||
} |
||||
} |
||||
|
||||
$form['pid'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => "$pid" |
||||
); |
||||
$form['dsid'] = array( |
||||
'#type' => 'hidden', |
||||
'#value' => "$dsId" |
||||
); |
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('Update Metadata'), |
||||
); |
||||
|
||||
return $form; |
||||
} |
||||
|
||||
/** |
||||
* Creates a form for replacing datastream |
||||
*/ |
||||
function createReplaceDataStreamForm($pid, $dsId, $dsLabel, &$form_state) { |
||||
$form = array(); |
||||
|
||||
$form['#attributes']['enctype'] = 'multipart/form-data'; |
||||
$form['file'] = array( |
||||
'#type' => 'file', |
||||
'#title' => t('Upload Document'), |
||||
'#description' => t('The file to upload.') |
||||
); |
||||
|
||||
$form['pid'] = array( |
||||
'#type' => 'value', |
||||
'#value' => $pid, |
||||
); |
||||
|
||||
$form['dsId'] = array( |
||||
'#type' => 'value', |
||||
'#value' => $dsId, |
||||
); |
||||
|
||||
$form['dsLabel'] = array( |
||||
'#type' => 'value', |
||||
'#value' => $dsLabel, |
||||
); |
||||
|
||||
$form['submit'] = array( |
||||
'#type' => 'submit', |
||||
'#value' => t('Replace Datastream') |
||||
); |
||||
|
||||
return $form; |
||||
} |
||||
|
||||
} |
@ -1,7 +0,0 @@
|
||||
.cc_preview |
||||
{ |
||||
width: 250px; |
||||
overflow: none; |
||||
border: 0px solid black; |
||||
float: right; |
||||
} |
@ -1,93 +0,0 @@
|
||||
.carousel .jCarouselLite { |
||||
border: 1px solid black; |
||||
float: left; |
||||
background-color: #dfdfdf; |
||||
|
||||
/* |
||||
position: relative; |
||||
visibility: hidden; |
||||
left: -5000px;*/ |
||||
|
||||
width: 680px; |
||||
height: 200px; |
||||
|
||||
} |
||||
|
||||
.carousel li |
||||
{ |
||||
cursor:pointer; |
||||
} |
||||
|
||||
.carousel li.selected |
||||
{ |
||||
background-color: #999; |
||||
} |
||||
|
||||
.carousel li div |
||||
{ |
||||
margin: 0 0 10px 10px; |
||||
font-size: 80%; |
||||
} |
||||
|
||||
.carousel li img.thumbnail |
||||
{ |
||||
width: 150px; |
||||
height: 118px; |
||||
margin: 10px 10px 0 10px; |
||||
} |
||||
|
||||
.carousel li div.textplaceholder |
||||
{ |
||||
width: 128px; |
||||
height: 128px; |
||||
margin: 10px 10px 0 10px; |
||||
background-image: url('../images/txt.png'); |
||||
background-repeat:no-repeat; |
||||
} |
||||
|
||||
.carousel li div.videoplaceholder |
||||
{ |
||||
width: 128px; |
||||
height: 128px; |
||||
margin: 10px 10px 0 10px; |
||||
background-image: url('../images/sound.png'); |
||||
background-repeat:no-repeat; |
||||
} |
||||
|
||||
.carousel li div.audioplaceholder |
||||
{ |
||||
width: 128px; |
||||
height: 128px; |
||||
margin: 10px 10px 0 10px; |
||||
background-image: url('../images/video.png'); |
||||
background-repeat:no-repeat; |
||||
} |
||||
|
||||
.carousel li div.imageplaceholder |
||||
{ |
||||
width: 128px; |
||||
height: 128px; |
||||
margin: 10px 10px 0 10px; |
||||
background-image: url('../images/image.png'); |
||||
background-repeat:no-repeat; |
||||
} |
||||
|
||||
.carousel li div.applicationplaceholder |
||||
{ |
||||
width: 128px; |
||||
height: 128px; |
||||
margin: 10px 10px 0 10px; |
||||
background-image: url('../images/application.png'); |
||||
background-repeat:no-repeat; |
||||
} |
||||
|
||||
|
||||
.carousel li.loading |
||||
{ |
||||
font-size: 150%; |
||||
margin: auto; |
||||
margin-top: 50px; |
||||
text-align: center; |
||||
|
||||
width: 250px; |
||||
} |
@ -1,25 +0,0 @@
|
||||
.tagEditor |
||||
{ |
||||
margin: 4px 0; |
||||
padding: 0; |
||||
} |
||||
|
||||
.tagEditor li |
||||
{ |
||||
display: inline; |
||||
background-image: url('../images/minus_small.png'); |
||||
background-color: #efe; |
||||
background-position: right center; |
||||
background-repeat: no-repeat; |
||||
list-style-type: none; |
||||
padding: 0 18px 0 6px; |
||||
margin: 0 4px; |
||||
cursor: pointer; |
||||
-moz-border-radius: 5px; |
||||
-webkit-border-radius: 5px; |
||||
} |
||||
|
||||
.tagEditor li:hover |
||||
{ |
||||
background-color: #eee; |
||||
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue