|
|
- <?php
- // Project: Web Reference Database (refbase) <http://www.refbase.net>
- // Copyright: Matthias Steffens <mailto:refbase@extracts.de> and the file's
- // original author(s).
- //
- // This code is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY. Please see the GNU General Public
- // License for more details.
- //
- // File: ./includes/unapi.inc.php
- // Repository: $HeadURL: file:///svn/p/refbase/code/branches/bleeding-edge/includes/unapi.inc.php $
- // Author(s): Matthias Steffens <mailto:refbase@extracts.de>
- //
- // Created: 15-Jul-06, 15:25
- // Modified: $Date: 2015-01-08 00:03:12 +0000 (Thu, 08 Jan 2015) $
- // $Author: karnesky $
- // $Revision: 1400 $
-
- // This include file contains functions that deal with unAPI response XML.
- // Requires ActiveLink PHP XML Package, which is available under the GPL from:
- // <http://www.active-link.com/software/>. See 'unapi.php' for more info.
-
-
- // Incorporate some include files:
- include_once 'includes/webservice.inc.php'; // include functions that are commonly used with the refbase webservices
-
- // Import the ActiveLink Packages
- require_once("classes/include.php");
- import("org.active-link.xml.XML");
- import("org.active-link.xml.XMLDocument");
-
- // --------------------------------------------------------------------
-
- // return an unAPI XML response if the unAPI request issued either of the following:
- // - http://.../refs/unapi.php
- // - http://.../refs/unapi.php?id=http://polaris.ipoe.uni-kiel.de/refs/show.php?record=1
- function unapiExplainResponse($unapiID)
- {
- global $contentTypeCharset; // these variables are specified in 'ini.inc.php'
-
- $unapiCollectionDoc = new XMLDocument();
- $unapiCollectionDoc->setEncoding($contentTypeCharset);
-
- $unapiCollection = new XML("formats");
-
- if (!empty($unapiID)) //TODO: we may want to ensure the unapi we are using does, indeed, point back to a record or return an error.
- $unapiCollection->setTagAttribute("id", encodeHTML($unapiID));
-
- // Recommended format names are given at <http://unapi.stikipad.com/unapi/show/existing+formats>
- // TODO: add 'ISI', 'ODF XML' and 'Word XML'
- addNewBranch($unapiCollection, "format", array("name" => "bibtex", "type" => "text/plain", "docs" => "http://en.wikipedia.org/wiki/BibTeX"), ""); // function 'addNewBranch()' is defined in 'webservice.inc.php'
- addNewBranch($unapiCollection, "format", array("name" => "endnote", "type" => "text/plain", "docs" => "http://www.ecst.csuchico.edu/~jacobsd/bib/formats/endnote.html"), "");
- addNewBranch($unapiCollection, "format", array("name" => "ris", "type" => "text/plain", "docs" => "http://www.adeptscience.co.uk/kb/article/A626"), "");
- addNewBranch($unapiCollection, "format", array("name" => "atom", "type" => "application/atom+xml", "docs" => "http://www.atomenabled.org/developers/syndication/"), "");
- addNewBranch($unapiCollection, "format", array("name" => "mods", "type" => "application/xml", "docs" => "http://www.loc.gov/standards/mods/"), "");
- addNewBranch($unapiCollection, "format", array("name" => "oai_dc", "type" => "application/xml", "docs" => "http://www.openarchives.org/OAI/openarchivesprotocol.html#dublincore"), "");
- addNewBranch($unapiCollection, "format", array("name" => "srw_dc", "type" => "application/xml", "docs" => "http://www.loc.gov/standards/sru/"), "");
- addNewBranch($unapiCollection, "format", array("name" => "srw_mods", "type" => "application/xml", "docs" => "http://www.loc.gov/standards/sru/"), "");
- addNewBranch($unapiCollection, "format", array("name" => "html", "type" => "text/html", "docs" => "http://www.w3.org/MarkUp/"), "");
- addNewBranch($unapiCollection, "format", array("name" => "rtf", "type" => "application/rtf", "docs" => "http://en.wikipedia.org/wiki/Rich_Text_Format"), "");
- addNewBranch($unapiCollection, "format", array("name" => "pdf", "type" => "application/pdf", "docs" => "http://partners.adobe.com/public/developer/pdf/index_reference.html"), "");
- addNewBranch($unapiCollection, "format", array("name" => "latex", "type" => "application/x-latex", "docs" => "http://en.wikipedia.org/wiki/LaTeX"), "");
- addNewBranch($unapiCollection, "format", array("name" => "markdown", "type" => "text/plain", "docs" => "http://daringfireball.net/projects/markdown/"), "");
- addNewBranch($unapiCollection, "format", array("name" => "text", "type" => "text/plain"), "");
-
- $unapiCollectionDoc->setXML($unapiCollection);
- $unapiCollectionString = $unapiCollectionDoc->getXMLString();
-
- return $unapiCollectionString;
- }
-
- // --------------------------------------------------------------------
- ?>
|