GithubHelp home page GithubHelp logo

indexdata / metaproxy Goto Github PK

View Code? Open in Web Editor NEW
14.0 17.0 3.0 2.22 MB

Z39.50/SRU router

Home Page: http://www.indexdata.com/metaproxy

License: Other

Shell 0.31% XSLT 21.97% Makefile 1.54% C++ 75.44% PHP 0.40% M4 0.34%

metaproxy's Introduction

Metaproxy - a universal Z39.50/SRU router.

Copyright (C) 2005-2023, Index Data. See the file LICENSE for details.

For more information about Metaproxy refer to the documentation in sub directory doc or online.

To get more information or assistance, send mail to [email protected]. Even better, sign on to the YAZ mailing list

metaproxy's People

Contributors

adamdickmeiss avatar dcrossleyau avatar funkymalc avatar heikkilevanto avatar jakub-id avatar miketaylor avatar schafdog avatar ssp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metaproxy's Issues

SRU query response's recordSchema element is not standards compliant

When querying an SRU server that runs Metaproxy using the searchRetrieve operation, the response's recordSchema element simply mirrors the string that is provided by the client. If the client does not provide the recordSchema parameter, the element is empty.


Example:

Request:

?version=1.1&operation=searchRetrieve&query=dinosaur

Response:

...
  <zs:record>
    <zs:recordSchema/>
    ...
  </zs:record>
...

But according to the SRU standard, the recordSchema element must contain the URI of the used XML schema. There is a webpage listing SRU Record Schemas, although their use of the info: URI scheme may be outdated.

This is what the SRU specification (same in 1.1, 1.2, and 2.0) states with respect to the allowed values of the recordSchema element in a server response:

Mandatory. The URI identifier of the XML schema in which the record is encoded. Although the request may use the server's assigned short name, the response must always be the full URI.

From my cursory search the following may be the line of code that is responsible for providing the recordSchema for the response, but I am not sure:

sru_res->records[i + num].recordSchema = sr_req->recordSchema;

I tested this by accessing the Library of Congress SRU server that runs Metaproxy 1.15.0.

Instrumentation

It would be cool to add some Graphite instrumentation to Metaproxy, so we could see how long different filters take, and such.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.