Research Links: List of Databases, Course Reserves

Quick Search: Articles, newspapers, books and ebooks, videos and more. Results primarily available online but may also include books available in the library or articles that can be requested for email delivery from ILLiad.
Books: Print and online books available from UNLV Libraries or by ILLiad request.
Articles: Articles from academic journals, magazines and newspapers.

Library Information: Pages on library web site, for example research guides, library policies and procedures, hours and events.

Quick and easy OAI record parsing with PHP

By Alex Dolski on February 11, 2009 8:17 AM | Permalink

Welcome to the second post on our blog! I'm the Web & Digitization Application Developer (a.k.a. junior programmer), which means that my posts will be the most important. Before I begin, a shout-out to all my dead homies. Now that that's out of the way, I can proceed.

If you work with metadata in a digital repository, the time may come when you need to export it for other purposes. Your repository software may or may not make that easy for you; but as long as it supports OAI-PMH, it's both possible and simple to do in a standards-compliant way. To do the job, we will use PHP's DOM core; this is one of several ways to work with XML in PHP. It can, of course, also be done in any other common scripting language.


<?php

$qs = array(
   'verb' => 'ListRecords',
   'metadataPrefix' => 'oai_dc',
   'set' => 'hughes'
);

$url = 'http://digital.library.unlv.edu/cgi-bin/oai.exe?'
   . http_build_query($qs);
$xml = file_get_contents(utf8_encode($url));
if (!$doc = DOMDocument::loadXML($xml)) {
   // abort
}

$xpath = new DOMXPath($doc);
$xpath->registerNamespace("dc",
   "http://purl.org/dc/elements/1.1/");

?>


<dl>
   <!-- The query() method returns a DOMNodeList object
   (an array-like list of DOMNodes). The first parameter is
   an XPath query. -->
   <? foreach ($xpath->query('//dc:*', $doc) as $node): ?>
      <dt><?= $node->nodeName ?></dt>
      <dd><?= $node->nodeValue ?></dd>
   <? endforeach ?>
</dl>

From here, you can do anything with it - print it to the screen, save it to a database, export it to a spreadsheet, etc. Handy. You can also fetch just a single record, using GetRecord in place of ListRecords:

$qs = array( 
   'verb' => 'GetRecords', 
   'metadataPrefix' => 'oai_dc', 
   'identifier' => 'oai:digital.library.unlv.edu:hughes/87' 
);

A mobot - who wouldn't want one?

There is more information in the OAI record than just the DC fields; to access it, just register the necessary namespace(s) and modify the XPath query. You can always take a look at the contents of $xml to see the raw XML string.

Comments

Submitted by faisal khan (not verified) on
Informative article for <a href="https://www.sagipl.com/php-development/">PHP Development</a> thanx for sharing it
Submitted by PHP Development... (not verified) on
Hey, Wow all the posts are very informative for the people who visit this site. Good work! We also have a Blog.Please feel free to visit our site. Thank you for sharing. <a href="https://www.paravidhi.com/website-development.html" rel="do follow" meta name="robots" content="index, follow" title="PHP Development in Indore">PHP Development in Indore</a>
Submitted by Balkon Hotel (not verified) on
Nice Post and good information
Submitted by Pak Datuk (not verified) on
<a href='https://balkonhotel.com/'>BalkonHotel</a>
Submitted by dexica (not verified) on
Generic cialis online canada <a href="http://cialisndbrx.com/#">buy cialis online</a> generic cialis free shipping <a href="http://cialischmrx.com/#">buy cheap cialis online</a> manly cialis tablets <a href="http://cialischbrx.com/#">buy generic cialis online</a> prices cialis <a href="http://cialisdbrx.com/#">buy cheap cialis online</a> viagra 911 call <a href="http://chviagranrxusa.com/#">buy generic viagra online</a>
Submitted by elurbeft (not verified) on
<a href="http://cashpaydayusloans.com/#">loans online</a> <a href="http://cialischbrx.com/#">buy cialis online</a> <a href="http://cialisbs.com/#">generic cialis online</a> <a href="http://cialismnrx.com/#">buy generic cialis</a> <a href="http://calismdmrxonline.com/#">cialis</a>
Submitted by tobSkent (not verified) on
Cialis cheap generic <a href="http://cialisgenbrx.com/#">buy generic cialis</a> brand cialis name online order <a href="https://cialisrxche.com/#">cheap cialis online</a> personal secured loan <a href="http://paydaystip.com/#">personal loans</a>
Submitted by NopsFaps (not verified) on
Buy canada cialis <a href="http://cialisgenbrx.com/#">generic cialis online</a> prednisone crush cialis generic pills <a href="https://cialisrxche.com/#">cheap cialis</a> need 5000 loan <a href="http://paydaystip.com/#">fast cash</a>
Submitted by LacakPos (not verified) on
Thanks [url]https://www.lacakresipos.online[/url]
Submitted by trapeure (not verified) on
Generic professional cialis cialis <a href="http://cialischmrx.com/#">generic cialis online</a> official site cialis pills <a href="http://cialisdbrx.com/#">buy generic cialis online</a>
Submitted by vafpesia (not verified) on
Uroxatral vs hytrin cialis pills <a href="http://mrxcialisrx.com/#">cialis coupon</a> viagra blue pill <a href="http://viagramrxgeneric.com/#">buy viagra online</a>
Submitted by Expona (not verified) on
Generic cialis price <a href="http://cialisherrx.com/#">cheap cialis</a> is cialis available in generic <a href="http://cialismdmarx.com/#">buy cialis online</a>
Submitted by Dwentown (not verified) on
Buy viagra online <a href="http://chviagranrxusa.com/#">buy generic viagra</a> hot rod cialis pills buy <a href="http://cialismnrx.com/#">buy generic cialis</a>
Submitted by speeday (not verified) on
Order cialis online without medical <a href="http://cialismrxcialis.com/#">generic cialis</a> viagra from canada <a href="http://genviagramdmrx.com/#">buy generic viagra</a>
Submitted by Buffnevy (not verified) on
Buy cialis online pharmacy <a href="http://4ginthebox.com/#">generic cialis</a> order cialis online without otc <a href="http://babysitterpass.com/#">cheap cialis online</a> taking without ed cialis pills cialis <a href="http://extra-casting.com/#">buy cheap cialis coupon</a> holland cialis pills <a href="http://jahanews.com/#">cialis generic</a> levaquin inhaler cialis pills <a href="http://fpdvermont.org/#">buy cialis online cheap</a> where to buy cialis
Submitted by geosycle (not verified) on
Cialis generic cheap <a href="http://gamingpcunder.com/#">buy cialis cheap</a> cialis canadian pharmacy cheap buy <a href="http://buteykobreathing.com.au/#">cialis cheap</a> viagra v levitra cialis pills <a href="http://frommydiamondeye.com/#">Buy Generic Cialis Online</a> benefits of cialis generic drugs <a href="http://bettychoyce.com/#">cheap generic cialis</a> get cialis prescription and order cialis online <a href="http://100halloweencards.com/#">online cialis</a> price of cialis pills
Submitted by Jeseemon (not verified) on
Buy cialis generic pharmac <a href="http://badcreditpaydayloanuqdirect.com/#">Buy Cialis Online</a> buy cialis europe <a href="http://dcbarr.com/#">buy cialis</a> cialis pharmacy discount <a href="http://pickleball247.com/#">buy cialis</a> next day brand cialis only online <a href="http://eshta.org/#">buy generic cialis</a> medco cialis online pharmacy viagra <a href="http://cashscripter.com/#">cheap cialis</a> generic cialis pro

Pages

Add new comment