isolate metadataformats in a config file
This commit is contained in:
parent
91a657ae57
commit
f0bf8e6bf5
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* - <b>$METADATAFORMATS</b>: List of supported metadata formats. It is a two-dimensional array with keys.
|
||||
* Each supported format is one element of this array at the first dimension.
|
||||
* The key is the name of a metadata format.
|
||||
* The exact number of items within each format associated array depends on the nature of a metadata format.
|
||||
* Most definitions are done here but handlers themselves are defined in separated files because only the names of PHP script are listed here.
|
||||
* - metadataPrefix
|
||||
* - schema
|
||||
* - metadataNamespace
|
||||
* - myhandler
|
||||
* - other optional items: record_prefix, record_namespace and etc.
|
||||
*/
|
||||
// define all supported metadata formats, has to be an array
|
||||
//
|
||||
// myhandler is the name of the file that handles the request for the
|
||||
// specific metadata format.
|
||||
// [record_prefix] describes an optional prefix for the metadata
|
||||
// [record_namespace] describe the namespace for this prefix
|
||||
|
||||
|
||||
$METADATAFORMATS = array (
|
||||
'rif' => array('metadataPrefix'=>'rif',
|
||||
'schema'=>'http://services.ands.org.au/sandbox/orca/schemata/registryObjects.xsd',
|
||||
'metadataNamespace'=>'http://ands.org.au/standards/rif-cs/registryObjects/',
|
||||
'myhandler'=>'record_rif.php'
|
||||
),
|
||||
'oai_dc' => array('metadataPrefix'=>'oai_dc',
|
||||
'schema'=>'http://www.openarchives.org/OAI/2.0/oai_dc.xsd',
|
||||
'metadataNamespace'=>'http://www.openarchives.org/OAI/2.0/oai_dc/',
|
||||
'myhandler'=>'record_dc.php',
|
||||
'record_prefix'=>'dc',
|
||||
'record_namespace' => 'http://purl.org/dc/elements/1.1/'
|
||||
)
|
||||
);
|
||||
|
||||
if (!is_array($METADATAFORMATS)) { exit("Configuration of METADATAFORMAT has been wrongly set. Correct your ".__FILE__);}
|
|
@ -3,8 +3,9 @@
|
|||
* \file
|
||||
* \brief Response to Verb ListMetadataFormats
|
||||
*
|
||||
* The information of supported metadata formats is saved in database and retrieved by calling function <B>idFormatQuery</B>.
|
||||
* \sa idFormatQuery
|
||||
* The information of supported metadata formats :
|
||||
* try database table $SQL['table']
|
||||
* else try $METADATAFORMATS array from config-metadataformats.php
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -26,7 +27,7 @@ function addMetedataFormat(&$outputObj,$key,$val) {
|
|||
|
||||
if (isset($args['identifier'])) {
|
||||
$identifier = $args['identifier'];
|
||||
$query = idFormatQuery($identifier);
|
||||
$query = 'select '.$SQL['metadataPrefix'].' FROM '.$SQL['table']. " WHERE ".$SQL['identifier']." = '".$id."'";
|
||||
$res = $db->query($query);
|
||||
if ($res==false) {
|
||||
if (SHOW_QUERY_ERROR) {
|
||||
|
@ -47,7 +48,9 @@ if (isset($args['identifier'])) {
|
|||
}
|
||||
|
||||
//break and clean up on error
|
||||
if (!empty($errors)) oai_exit();
|
||||
if (!empty($errors)) {
|
||||
oai_exit();
|
||||
}
|
||||
|
||||
$outputObj = new ANDS_Response_XML($args);
|
||||
if (isset($mf)) {
|
||||
|
|
1
oai2.php
1
oai2.php
|
@ -67,6 +67,7 @@ foreach($attribs as $val) {
|
|||
}
|
||||
|
||||
require_once('oaidp-config.php');
|
||||
require_once('config-metadataformats.php');
|
||||
|
||||
// Create a PDO object
|
||||
try {
|
||||
|
|
|
@ -14,25 +14,12 @@
|
|||
*
|
||||
* Some other used variables:
|
||||
*
|
||||
* - <B>$adminEmail</B>: the e-mail addresses of administrators of the repository.
|
||||
*
|
||||
* - <b>$repositoryIdentifier</b> : For a data provider there is only one. For repositories to comply with the oai
|
||||
* format it has to be unique identifiers for items records. Basically using domainname will be fine.
|
||||
* See: http://www.openarchives.org/OAI/2.0/guidelines-oai-identifier.htm.
|
||||
*
|
||||
* - <b>$SETS</b>: An array with key words . List of supported SETs.
|
||||
*
|
||||
* - <b>$METADATAFORMATS</b>: List of supported metadata formats. It is a two-dimensional array with keys.
|
||||
* Each supported format is one element of this array at the first dimension.
|
||||
* The key is the name of a metadata format.
|
||||
* The exact number of items within each format associated array depends on the nature of a metadata format.
|
||||
* Most definitions are done here but handlers themselves are defined in separated files because only the names of PHP script are listed here.
|
||||
* - metadataPrefix
|
||||
* - schema
|
||||
* - metadataNamespace
|
||||
* - myhandler
|
||||
* - other optional items: record_prefix, record_namespace and etc.
|
||||
*
|
||||
* - <b>$SQL</b>: Settings for database and queries from database
|
||||
*
|
||||
* - <b>$DSN</b>: DSN for connecting your database. Reference PDO for details.
|
||||
|
@ -198,29 +185,6 @@ $SETS = array (
|
|||
*/
|
||||
);
|
||||
|
||||
// define all supported metadata formats, has to be an array
|
||||
//
|
||||
// myhandler is the name of the file that handles the request for the
|
||||
// specific metadata format.
|
||||
// [record_prefix] describes an optional prefix for the metadata
|
||||
// [record_namespace] describe the namespace for this prefix
|
||||
|
||||
$METADATAFORMATS = array (
|
||||
'rif' => array('metadataPrefix'=>'rif',
|
||||
'schema'=>'http://services.ands.org.au/sandbox/orca/schemata/registryObjects.xsd',
|
||||
'metadataNamespace'=>'http://ands.org.au/standards/rif-cs/registryObjects/',
|
||||
'myhandler'=>'record_rif.php'
|
||||
),
|
||||
'oai_dc' => array('metadataPrefix'=>'oai_dc',
|
||||
'schema'=>'http://www.openarchives.org/OAI/2.0/oai_dc.xsd',
|
||||
'metadataNamespace'=>'http://www.openarchives.org/OAI/2.0/oai_dc/',
|
||||
'myhandler'=>'record_dc.php',
|
||||
'record_prefix'=>'dc',
|
||||
'record_namespace' => 'http://purl.org/dc/elements/1.1/'
|
||||
)
|
||||
);
|
||||
|
||||
if (!is_array($METADATAFORMATS)) { exit("Configuration of METADATAFORMAT has been wrongly set. Correct your ".__FILE__);}
|
||||
|
||||
// The shorthand of xml schema namespace, no need to change this
|
||||
define('XMLSCHEMA', 'http://www.w3.org/2001/XMLSchema-instance');
|
||||
|
|
|
@ -241,12 +241,6 @@ function selectallQuery($metadPrefix = "rif", $id = ''){
|
|||
return $query;
|
||||
}
|
||||
|
||||
/** this function will return metadataFormat of a record */
|
||||
function idFormatQuery($id) {
|
||||
global $SQL;
|
||||
return 'select '.$SQL['metadataPrefix'].' FROM '.$SQL['table']. " WHERE ".$SQL['identifier']." = '".$id."'";
|
||||
}
|
||||
|
||||
/** this function will return identifier and datestamp for all records
|
||||
* not very useful
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue