} } $item->getComponents()->add($newitemcomponent); } else { if (!is_array($component)) { //delete component foreach ($item->getComponents()->getList() as $delcomp) { if ($delcomp->getObjId() == $componentid) { $item->getComponents()->remove($delcomp); } } } else { //modify component foreach ($component as $componentstructtype => $componentstructvalue) { if ($componentstructtype == 'content') { $modifyitemcomponent = DOMMapper::unmarshal($componentstructvalue, true); } } $deletecomponentsmdrecords = array(); foreach ($component as $componentstructtype => $componentstructvalue) { if ($componentstructtype == 'mdrecords') { $itemcomponentmdrecords = new MetadataRecords(); foreach ($componentstructvalue as $mdrecord) { foreach ($mdrecord as $mdrecordname => $mdrecordstringcontent) { if ($mdrecordstringcontent && strlen($mdrecordstringcontent) > 0) { $mdrecordcontent = new DOMDocument(); $mdrecordcontent->loadXML($mdrecordstringcontent); $record = new MetadataRecord($mdrecordname); $record->setContent($mdrecordcontent->documentElement); $itemcomponentmdrecords->add($record); } else {
/** * @param string $itemId * @return string * @see escidoc\client\interfaces\handler.IItemHandler::retrieveVersionHistory() * * @throws EscidocException * @throws ClientException */ public function retrieveVersionHistory($itemId) { $xml = $this->getRestClient()->retrieveVersionHistory($itemId); DOMMapper::unmarshal($xml, $this->isValidatingIn()); return $xml; }