Author: sevein
Date: Sun Nov 6 19:54:13 2011
New Revision: 10276
Log:
Import all dublincore fields from METSArchivematicaDIP
Modified:
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
Modified:
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
==============================================================================
---
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
Sun Nov 6 18:51:47 2011 (r10275)
+++
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
Sun Nov 6 19:54:13 2011 (r10276)
@@ -65,74 +65,99 @@
$informationObject = new QubitInformationObject;
}
- foreach ($xml->xpath('.//mdWrap/xmlData/dublincore/dcterms:*') as $item)
+ foreach ($xml->xpath('.//mdWrap/xmlData/dublincore/*') as $item)
{
- if (0 == strlen(trim($item)))
+ $value = $item->__toString();
+ if (0 == strlen(trim($value)))
{
continue;
}
- switch($item->getName())
+ switch(str_replace('dcterms:', '', $item->getName()))
{
case 'title':
- $informationObject->title = $item;
+ $informationObject->title = $value;
break;
case 'creator':
+ $informationObject->setActorByName($value, array('event_type_id' =>
QubitTerm::CREATION_ID));
+
+ break;
+
+ case 'coverage':
+ $informationObject->setAccessPointByName($value, array('type_id' =>
QubitTaxonomy::PLACE_ID));
break;
case 'subject':
+ $informationObject->setAccessPointByName($value, array('type_id' =>
QubitTaxonomy::SUBJECT_ID));
break;
case 'description':
- $informationObject->scopeAndContent = $item;
+ $informationObject->scopeAndContent = $value;
break;
case 'publisher':
+ $informationObject->setActorByName($value, array('event_type_id' =>
QubitTerm::PUBLICATION_ID));
break;
case 'contributor':
+ $informationObject->setActorByName($value, array('event_type_id' =>
QubitTerm::CONTRIBUTION_ID));
break;
case 'date':
+ $informationObject->setDates($value);
break;
case 'type':
+ foreach (QubitTaxonomy::getTermsById(QubitTaxonomy::DC_TYPE_ID) as
$item)
+ {
+ if (strtolower($value) == strtolower($item->__toString()))
+ {
+ $relation = new QubitObjectTermRelation;
+ $relation->term = $item;
+
+ $informationObject->objectTermRelationsRelatedByobjectId[] =
$relation;
+
+ break;
+ }
+ }
break;
case 'format':
+ $informationObject->extentAndMedium = $value;
break;
case 'identifier':
+ $informationObject->identifier = $value;
break;
case 'source':
+ $informationObject->locationOfOriginals = $value;
break;
case 'language':
+ $informationObject->language = array($value);
break;
case 'isPartOf':
-
- break;
-
- case 'coverage':
+ // TODO: ?
break;
case 'rights':
+ $informationObject->accessConditions = $value;
break;
}
@@ -175,7 +200,7 @@
// Main object
if (null != ($dmdSec = $this->getMainDmdSec()))
{
- $this->processDmdSec($dmdSec, $this->informationObject);
+ $this->informationObject = $this->processDmdSec($dmdSec,
$this->informationObject);
}
foreach ($this->getFilesFromDirectory() as $item)
@@ -189,7 +214,7 @@
if (null !== ($dmdSec = $this->searchFileDmdSec($uuid)))
{
- $this->processDmdSec($dmdSec, $child);
+ $child = $this->processDmdSec($dmdSec, $child);
}
$digitalObject = new QubitDigitalObject;
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.