Browse Source

modified to include isMemberOf and isPartOf in addition to isMemberOfCollection in mods:relatedItem

pull/105/head
mroy 14 years ago
parent
commit
09ff6035df
  1. 48
      workflow_client/plugins/mods_extend.inc

48
workflow_client/plugins/mods_extend.inc

@ -65,35 +65,39 @@ class mods_extend extends Process {
break; break;
} }
} }
$collections= $relsExtDom->getElementsByTagName('isMemberOfCollection'); $relationships = array('isMemberOfCollection','isMemberOf','isPartOf');
for ($i=0; $i < $collections->length; $i++) { foreach ($relationships as $relationship)
$collection = $collections->item($i); {
list(, $ident) = explode('/', $collection->getAttribute('rdf:resource')); $collections= $relsExtDom->getElementsByTagName($relationship);
for ($i=0; $i < $collections->length; $i++) {
$collection = $collections->item($i);
list(, $ident) = explode('/', $collection->getAttribute('rdf:resource'));
$collection = new fedora_item($ident); $collection = new fedora_item($ident);
$dc = new SimpleXMLElement($collection->get_datastream_dissemination('DC'), NULL, FALSE, 'http://purl.org/dc/elements/1.1/'); $dc = new SimpleXMLElement($collection->get_datastream_dissemination('DC'), NULL, FALSE, 'http://purl.org/dc/elements/1.1/');
$relatedItem = $modsDom->createElement('mods:relatedItem'); $relatedItem = $modsDom->createElement('mods:relatedItem');
$relatedItem->setAttribute('type', 'host'); $relatedItem->setAttribute('type', 'host');
$titleInfo = $modsDom->createElement('mods:titleInfo'); $titleInfo = $modsDom->createElement('mods:titleInfo');
$title = $modsDom->createElement('mods:title', $dc->title); $title = $modsDom->createElement('mods:title', $dc->title);
$titleInfo->appendChild($title); $titleInfo->appendChild($title);
$relatedItem->appendChild($titleInfo); $relatedItem->appendChild($titleInfo);
$identifier = $modsDom->createElement('mods:identifier', $ident); $identifier = $modsDom->createElement('mods:identifier', $ident);
$identifier->setAttribute('type', 'pid'); $identifier->setAttribute('type', 'pid');
$relatedItem->appendChild($identifier); $relatedItem->appendChild($identifier);
$ident = preg_replace('/^.*\:/', '10719/', $ident); $ident = preg_replace('/^.*\:/', '10719/', $ident);
$identifier = $modsDom->createElement('mods:identifier', $ident); $identifier = $modsDom->createElement('mods:identifier', $ident);
$identifier->setAttribute('type', 'hdl'); $identifier->setAttribute('type', 'hdl');
$relatedItem->appendChild($identifier); $relatedItem->appendChild($identifier);
$modsRoot->appendChild($relatedItem); $modsRoot->appendChild($relatedItem);
}
} }
$identifier = $modsDom->createElement('mods:identifier', $pid); $identifier = $modsDom->createElement('mods:identifier', $pid);
$identifier->setAttribute('type', 'pid'); $identifier->setAttribute('type', 'pid');
$modsRoot->appendChild($identifier); $modsRoot->appendChild($identifier);

Loading…
Cancel
Save