pages)) foreach ((array) $record->sources as $a => $b) { $record->sources[$a] .= '; ' . $record->pages; } $response = "\n" . $this->formatElement('title', $record->titles, true) . $this->formatElement('creator', $record->creator) . $this->formatElement('subject', $record->subjects, true) . $this->formatElement('description', $record->descriptions, true) . $this->formatElement('publisher', $record->publishers, true) . $this->formatElement('contributor', $record->contributors, true) . $this->formatElement('date', $record->date) . $this->formatElement('type', $record->types, true) . $this->formatElement('format', $record->format) . $this->formatElement('identifier', $record->url) . $this->formatElement('source', $record->sources, true) . $this->formatElement('language', $record->language) . $this->formatElement('relation', $record->relation) . $this->formatElement('coverage', $record->coverage, true) . $this->formatElement('rights', $record->rights) . "\n"; return $response; } /** * Format XML for single DC element. * @param $name string * @param $value mixed * @param $multilingual boolean optional */ function formatElement($name, $value, $multilingual = false) { if (!is_array($value)) { $value = array($value); } $response = ''; foreach ($value as $key => $v) { if (!$multilingual) $response .= "\t" . $this->oai->prepOutput($v) . "\n"; else { if (is_array($v)) { foreach ($v as $subV) { $response .= "\t" . $this->oai->prepOutput($subV) . "\n"; } } else { $response .= "\t" . $this->oai->prepOutput($v) . "\n"; } } } return $response; } } ?>