GTBib-SOD: XML y OpenURL

GTBib-SOD incorpora un módulo de intercambio de información basado en los estándares OpenURL y XML. Este módulo está pensado para poder compartir información con otras aplicaciones (catálogos, portales, etc).

El primer script implicado en este proceso es buscar_peticion.php. Como actualmente GTBib puede configurarse como sistemas multicentro, este script debe ser invocado siempre con un parámetro centro en el que se indica el código de centro propietario sobre el que se buscaran las peticiones. Pueden pasarse parámetros bibliográficos siguiendo estándar OpenURL (aulast,title,atitle,etc). Un parámetro específico es el id que permite recuperar la petción cuyo número coincide con ese id. Ejemplos:

  • buscar_peticion.php?centro=KRONOS&id=2400001
  • buscar_peticion.php?centro=KRONOS&title=lancet
  • buscar_peticion.php?centro=KRONOS&title=lancet&aulast=smith&atitle=hemoglobin

Una primera diferencia entre los tres ejemplos anteriores es que el primero y el tercero posiblemente devuelven un único registro, mientras que el segundo devolverá varios. En el primer caso la información devuelta son los datos bibliográficos, en el segundo, una lista con los punteros para recuperar los registros específicos. La respuesta se genera en XML siguiendo RDF / Dublin Core.

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.gtbib.net/sod/ficha.xsl" ?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:dcterms="http://purl.org/dc/terms /"
 xmlns:gtbib="http://www.kronosdoc.com/gtbib/xml"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:rft="info:ofi/fmt:xml:xsd:journal">
<rdf:Description>
 <dc:identifier>12400001</dc:identifier>
 <dc:title>[Laudation on the 70th birthday]</dc:title>
 <dc:creator>Wirth, W</dc:creator>
 <dc:publisher />
 <dcterms:isPartOf>0340-1855</dcterms:isPartOf>
 <dcterms:bibliographicCitation>rft:title=ZEITSCHRIFT FUER
 RHEUMATOLOGIE&rft:date=1978 Ja&rft:volume=37&rft:issue=1-2
 &rft:pages=1-3</dcterms:bibliographicCitation>
 </rdf:Description>
</rdf:RDF>

Asimismo, el sistema devuelve otros datos GTBib y los datos de los cursos asociados. Se devuelven también datos de la petición pero no se devuelve nigún dato de departamentos o usuarios.

 

<gtbib:cursos>
 <gtbib:curso id="1">
  <gtbib:suministrador>KRONOS</gtbib:suministrador>
  <gtbib:codigo_suministrador>KRONOS</gtbib:codigo_suministrador>
  <gtbib:fecha_demanda>2004-10-10</gtbib:fecha_demanda>
  <gtbib:medio_demanda>E</gtbib:medio_demanda>
  <gtbib:fecha_respuesta>2004-10-10</gtbib:fecha_respuesta>
  <gtbib:medio_respuesta>E</gtbib:medio_respuesta>
  <gtbib:respuesta>S</gtbib:respuesta>
 </gtbib:curso>
</gtbib:cursos>

Tal como se ha comentado si el sistema localiza más de un registro devuelve una lista con los punteros a los registros especificos

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.gtbib.net/sod/lista.xsl" ?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:dcterms="http://purl.org/dc/terms /"
	xmlns:gtbib="http://www.kronosdoc.com/gtbib/xml"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:rft="info:ofi/fmt:xml:xsd:journal">
 <rdf:Description>
   <gtbib:centro>KRONOS</gtbib:centro>
   <gtbib:sentencia>SELECT * FROM sod_peticiones INNER JOIN
	sod_peticiones_refbib ON sod_peticiones_refbib.REFBIB=
	sod_peticiones.REFBIB WHERE 1 LIMIT 50</gtbib:sentencia>
   <gtbib:registros>16</gtbib:registros>
   <gtbib:error />
   <gtbib:peticion>
   	<dc:identifier>12400001</dc:identifier>
      <link>http://www.gtbib.net/sod/buscar_peticion.php?id=12400001</link>
   </gtbib:peticion>
   <gtbib:peticion>
      <dc:identifier>12400002</dc:identifier>
      <link>http://www.gtbib.net/sod/buscar_peticion.php?id=12400002</link>
   </gtbib:peticion>
 </rdf:Description>
</rdf:RDF>