case "Identify": print headXML($verb); print identify(); $error = false; break; case "ListIdentifiers": if ($error == false) { $dataModel = new $methodology(); listRecords($metadataPrefix, $methodology); } break; case "ListSets": listRecords($metadataPrefix, $methodology); break; case "ListMetadataFormats": print headXML($verb); print listMetadataFormats(); $error = false; break; default: $verb = ""; $errorMsg = "Illegal OAI verb"; $errorCode = "badVerb"; } } //If have errors, show message if ($errorMsg && $error == true) { print verbError($verb, $errorMsg, $errorCode); } ?>
function getRecord($identifier, $methodology, $fullpath) { //create a data model, based in witch database was selected $dataModel = new $methodology(); //Data model call method gerRecords to pick data from database $allData = $dataModel->getRecords($identifier, $fullpath); /* * Use code above to see one iten, with all fields: * print_r($allData[0]); * Use code above to see one iten, with field 8: * print_r($allData[0][8]); */ //print_r(substr($allData[0]["8"],"35","3")); switch ($methodology) { //Pass the data to a function tha put it on XML format case "dblil": $arrDatabase = arrayToDblil($allData); break; case "cepal": $arrDatabase = arrayToCepal($allData); break; case "marc": print $fullpath; $arrDatabase = arrayToMarc($allData); break; default: $arrDatabase = arrayToDblil($allData); } //try to cath an error if ($arrDatabase == "") { $errorMsg = "No matching identifier"; $errorCode = "idDoesNotExist"; //print an error print verbError($_REQUEST["verb"], $errorMsg, $errorCode); } else { //first part of xml $oai_packet = generateOAI_packet($_REQUEST["verb"], ""); //second part of xml $returnXml .= db2Xml($arrDatabase, "0", $_REQUEST["verb"]); //join booth parts $envelop = $oai_packet . $returnXml; //add date information to xml $responseDate = gmdate("Y-m-d\\TH:i:s\\Z"); $envelop .= "<resumptionToken>" . $responseDate . "</resumptionToken>\n"; $envelop .= "</GetRecord>\n"; $envelop .= "</OAI-PMH>\n"; //print xml print $envelop; } }