Search/Retrive via URL (SRU)
================================================================================
0.6
* Fix: don't check title or author if result is retrieved via ISBN
* Fix: Check if author matches if result is NOT retrieved via ISBN
* Fix: GBV and LOC now get a clickable link (identifier)
* Fix: Reset button has a label
* Tweak: Minimum results to fetch defaults to 10 (instead 1) now; otherwise results from LOC are really bad sometimes
* Tweak: Search for short title (e.g. just 'Animal farm' instead of Animal farm: a fairy story')
* Other: Minor fixes

0.5
* Initial release


0. IDEAS
========================================
- Use Dewey for something? http://www.loc.gov/marc/bibliographic/bd082.html
- Instantly get cover from nice, reliable source IF an isbn is found
- Allow entry of custom SRU sources
- Make an option to use GBV if language field is set to german, else LOC
- Check for way to limit to material type (book, ebook, not audiobook etc.)
- Prefer titles with isbn and comment (relevance) ~ rudimentary implemented
- Don't Limit to SRU but open up to Linked Open Data (RDF)

1. Definition
========================================
"SRU- Search/Retrieve via URL - is a standard XML-based protocol for search queries, utilizing CQL - Contextual Query Language - a standard syntax for representing queries." (http://www.loc.gov/standards/sru/)
This plugin focuses on version 1.1 ("version=1.1"). LOC doesn't offer anything else


2. Data format: MARC-XML
========================================
MARC (Maschine Readable Cataloging) is used by the LOC and many other libraries for storing bibligraphic (and other) data. The fields can be looked up here: http://www.loc.gov/marc/bibliographic/. SRU isn't necessarily limited to MARC-XML, but this plugin relies on it ("recordSchema=marcxml").


3a. Provider (free)
========================================
Just some examples other than the LOC list (http://www.loc.gov/standards/sruBob/resources/implementors.html)

1. Library of Congress (LOC)
Base URL: http://z3950.loc.gov:7090/voyager
Example:  http://z3950.loc.gov:7090/voyager?version=1.1&operation=searchRetrieve&query=dinosaur&maximumRecords=1&recordSchema=marcxml
Supports: (at least) marcxml, dc, cql, bath...
 
2. Gemeinsame Bibliotheksverbund (GBV/germany)
Base URL: http://sru.gbv.de/gvk
Example:  http://sru.gbv.de/gvk?version=1.1&operation=searchRetrieve&query=pica.tit%3Dnichts%20and%20pica.aut%3Dteller, janne and pica.num%3D9783446235960&maximumRecords=1&sortKeys=year,,1
Supports: marcxml, dc, picaxml
Info:     http://www.gbv.de/wikis/cls/SRU
For advanced use it is interesting, that you can not only with dc syntax, but Pica syntax to. This gives access to many additional field. It should be possible to use any field listed in square backets here: https://katalog.b.tu-harburg.de/DB=1/SET=1/TTL=1/LNG=EN/HELP_SPECIALSEARCHKEYS (the GBV has removed this page?)

3. SwissBib
Base URL: http://sru.swissbib.ch/SRW/search/
Example:  http://sru.swissbib.ch/SRW/search/?query=dc.creator+%3D+%22precht%22+and+dc.title+%3D+%22liebe%22&version=1.1&operation=searchRetrieve&recordSchema=info%3Asrw%2Fschema%2F1%2Fmarcxml-v1.1&maximumRecords=1&startRecord=1&resultSetTTL=300&recordPacking=xml&recordXPath=&sortKeys=
Supports: marcxml, dc, cql, bath...
Info:     http://www.swissbib.org/wiki/index.php?title=SRU ; errm, this is generated


3b. Provider (requiring authentication)
========================================
- Worldcat is offering SRU for a limited audience: http://oclc.org/developer/documentation/worldcat-search-api/sru 
- The DNB (German Nation Library) is offering SRU but access is restricted (shame!): http://www.dnb.de/DE/Service/DigitaleDienste/SRU/sru_node.html
- ...


4. Fields to query (DC/Dublin Core)
========================================
dc.title, dc.creator, dc.subject
dc.description, dc.publisher, dc.contributor, dc.date, dc.type, dc.format, dc.identifier, dc.source, dc.language, dc.relation, dc.coverage, dc.rights
Also check: http://www.loc.gov/standards/sru/cql/


5. Interesting Stuff
========================================
SRU
- http://alcme.oclc.org/srw/SRUServerTester.html
- http://www.cerl.org/resources/cerl_thesaurus/sru
- http://irspy.indexdata.com/find.html?cql.anywhere=&dc.title=&zeerex.country=&net.protocol=sru&net.host=&net.port=&net.path=&zeerex.reliabilityAtLeast=&zeerex.libType=&dc.description=&dc.creator=&_sort=&_search=Search&_count=10&_skip=0

LINKED OPEN DATA (Sparql)
- http://lobid.org/resource/search
- http://bnb.data.bl.uk/

LINKED OPEN DATA (Other)
http://www.theeuropeanlibrary.org/tel4/apisearch
  > Needs registration for API-Key http://www.theeuropeanlibrary.org/tel4/register