00001 <?php
00002
00016
00017
00018
00022 class OAIConfig {
00024 var $baseUrl = '';
00025
00027 var $repositoryId = 'oai';
00028
00030
00031 var $granularity = 'YYYY-MM-DDThh:mm:ssZ';
00032
00034 var $tokenLifetime = 3600;
00035
00037 var $maxIdentifiers = 500;
00038
00040 var $maxRecords = 200;
00041
00043
00044 var $maxSets = 50;
00045
00046
00050 function OAIConfig($baseUrl, $repositoryId) {
00051 $this->baseUrl = $baseUrl;
00052 $this->repositoryId = $repositoryId;
00053 }
00054 }
00055
00059 class OAIRepository {
00060
00062 var $repositoryName;
00063
00065 var $adminEmail;
00066
00068 var $earliestDatestamp;
00069
00071 var $delimiter = ':';
00072
00074 var $sampleIdentifier;
00075 }
00076
00077
00082 class OAIResumptionToken {
00083
00085 var $id;
00086
00088 var $offset;
00089
00091 var $params;
00092
00094 var $expire;
00095
00096
00100 function OAIResumptionToken($id, $offset, $params, $expire) {
00101 $this->id = $id;
00102 $this->offset = $offset;
00103 $this->params = $params;
00104 $this->expire = $expire;
00105 }
00106 }
00107
00108
00113 class OAIMetadataFormat {
00114
00116 var $prefix;
00117
00119 var $schema;
00120
00122 var $namespace;
00123
00125 var $oai;
00126
00127
00131 function OAIMetadataFormat(&$oai, $prefix, $schema, $namespace) {
00132 $this->oai = $oai;
00133 $this->prefix = $prefix;
00134 $this->schema = $schema;
00135 $this->namespace = $namespace;
00136 }
00137
00138 function getLocalizedData($data, $locale) {
00139 foreach ($data as $element) {
00140 if (isset($data[$locale])) return $data[$locale];
00141 }
00142 return '';
00143 }
00144
00150 function toXML($record) {
00151 return '';
00152 }
00153 }
00154
00155
00160 class OAISet {
00161
00163 var $spec;
00164
00166 var $name;
00167
00169 var $description;
00170
00171
00175 function OAISet($spec, $name, $description) {
00176 $this->spec = $spec;
00177 $this->name = $name;
00178 $this->description = $description;
00179 }
00180 }
00181
00182
00186 class OAIIdentifier {
00187
00189 var $identifier;
00190
00192 var $datestamp;
00193
00195 var $sets;
00196 }
00197
00198
00203 class OAIRecord extends OAIIdentifier {
00204
00205
00206
00207
00208
00209 var $url;
00210 var $titles;
00211 var $creator;
00212 var $subjects;
00213 var $descriptions;
00214 var $publishers;
00215 var $contributors;
00216 var $date;
00217 var $types;
00218 var $format;
00219 var $sources;
00220 var $language;
00221 var $relation;
00222 var $coverage;
00223 var $rights;
00224 var $pages;
00225
00226 var $primaryLocale;
00227 }
00228
00229 ?>