Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
buechereielektrik:unapi:unapi.php [2010-01-11 22:24] – Added openurl-kev as format. rosenkebuechereielektrik:unapi:unapi.php [2011-01-20 17:12] (current) – content moved strols
Line 1: Line 1:
-<code php unAPI.php> +This content was moved to [[https://github.com/rosenke/unapi4pica|gitgub]].
-<?php+
  
-/* 
-  Purpose 
- * 
-  This is an implementation of an unAPI for PICA-LBSs. 
-  It uses the XML-interface of the OPC4 for extracting bibliographic 
-  data. 
-  For the specification of unAPI, see <http://unapi.info/specs/>. 
- */ 
- 
-/* 
-  Copyright 
- * 
-  Copyright 2008 2009 Goetz Hatop <hatop@ub.uni-marburg.de>. 
-  Goetz Hatop's original Version can be found at 
-  <ftp://ftp.ub.uni-marburg.de/pub/research/unapi.tar.gz>. 
- * 
-  Copyright 2009 2010 Stephan Rosenke <rosenke@ulb.tu-darmstadt.de> or 
-  <r01-551@r0s.de>. 
- */ 
- 
-/* 
-  License 
- * 
-  This program is free software: you can redistribute it and/or modify 
-  it under the terms of the GNU General Public License as published by 
-  the Free Software Foundation, either version 3 of the License, or 
-  (at your option) any later version. 
- * 
-  This program is distributed in the hope that it will be useful, 
-  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
-  GNU General Public License for more details. 
- * 
-  You should have received a copy of the GNU General Public License 
-  along with this program.  If not, see <http://www.gnu.org/licenses/>. 
- */ 
- 
-/* 
-  Version 
- * 
-  0.5 
- */ 
- 
-/* 
-  Changelog 
- * 
-  20100111: Added openurl-kev as format. 
-  20100110: Some style improvements, added comments, removed some old code. 
-  20100109: Some style improvements, added comments. 
-  20091216: Some minor style and other corrections. 
-  20091215:   Added JSON as format. 
-  20091214:   s/require/require_once/. 
-              Made last switch() more validator compliant. 
-  20091211: Added HTTP-Response-Codes to some cases in the last switch. 
- * Corrected answer if format=''. 
- * Added BibTex as format. 
-  20091210: Put class Picappn to PicaRecord.php. 
- * Inserted conditional for textual output of array. 
- * Ordered final switch() alphabetically. 
- * Added format "plain", renamed "picaplus" to "extpp". 
- * Put header() in the case-loops in final switch(). 
-  20091210: Started with Goetz Hatop's version of 2009-12-08. 
- */ 
- 
- 
-/* 
- * 
-  DO NOT MESS BEHIND THIS LINE 
- * 
- */ 
- 
-//  include some objects and methods 
-require_once('unAPI.inc.php'); 
- 
-//  make some GET-variables a little bit handier 
-$format = $_GET['format']; 
-$id = $_GET['id']; 
- 
-/* 
-  Output if no id-parameter or no parameter at all is given. 
-  Plain-format is not announced. 
- */ 
-$noparam = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> 
-<formats> 
-<format name=\"bibtex\" type=\"text/plain\" /> 
-<format name=\"dc\" type=\"application/xml\" /> 
-<format name=\"extpp\" type=\"application/xml\" /> 
-<format name=\"json\" type=\"application/json\" /> 
-<format name=\"openurl-kev\" type=\"text/plain\" /> 
-<format name=\"rdf\" type=\"application/xml\" /> 
-<format name=\"text\" type=\"text/plain\" /> 
-<format name=\"xml\" type=\"application/xml\" /> 
-</formats> 
-"; 
- 
-/* 
-  check if $id is not empty, if it's empty show 
-  available formats. 
- */ 
-if (!isset($id) || $id == '') { 
-  header('Content-type: application/xml'); 
-  echo "$noparam"; 
-  return; 
-} 
- 
-//  instantiate new Picappn() 
-$pica = new Picappn(); 
- 
-//  set PPN as identifier 
-$pica->setPpn($id); 
- 
-/* 
-  This is no part of the unAPI but for debugging. 
-  It is triggered by supplying "array" as $format and print_rs the 
-  pica-data as array. 
- */ 
-if ($format == "array") { 
-  echo "<head></head>\n<body>\n <pre>\n"; 
-  print_r($pica->getArray()); 
-  echo " </pre>\n</body>\n"; 
-  die(0); 
-} 
- 
-//  Final switch for printing result according to $format 
-switch ($format) { 
-  //  BibTeX 
-  case 'bibtex': 
-     $res = $pica->getBibTex(); 
-     final_result($res, 'text/plain'); 
-     break; 
-  //  Dublin Core 
-  case 'dc': 
-     $res = $pica->getDublinCore(); 
-     final_result($res, 'application/xml'); 
-     break; 
-  //  External PICA+ 
-  case 'extpp': 
-     $res = $pica->getPicaPlus(); 
-     final_result($res, 'application/xml'); 
-     break; 
-  //  JSON 
-  case 'json': 
-     $res = $pica->getJson(); 
-     final_result($res, 'application/json'); 
-     break; 
-  //  OpenURL-KEV 
-  case 'openurl-kev': 
-     $res = $pica->getOpenUrlKev(); 
-     final_result($res, 'text/plain'); 
-     break; 
-  //  pseudo-XML 
-  case 'plain': 
-     $res = $pica->getPlain(); 
-     break; 
-  //  RDF 
-  case 'rdf': 
-     $res = $pica->getDublinCoreRDF(); 
-     final_result($res, 'application/xml'); 
-     break; 
-  //  plain text 
-  case 'text': 
-     $res = $pica->getText(); 
-     final_result($res, 'text/plain'); 
-     break; 
-  //  XML 
-  case 'xml': 
-     $res = $pica->getXmlData(); 
-     final_result($res, 'application/xml'); 
-     break; 
-  //  if no $format is given but $id is set 
-  case '': 
-     header('HTTP/1.0 300 Multiple Choices'); 
-     header('Content-type: application/xml'); 
-     echo "$noparam"; 
-     break; 
-  //  for all other values of $format 
-  default: 
-     header('HTTP/1.0 406 Not Acceptable'); 
-     break; 
-} 
-?> 
-</code> 
buechereielektrik/unapi/unapi.php.1263245085.txt · Last modified: 2010-01-11 22:24 by rosenke
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0