Update 04_4_download_der_metadaten.md

This commit is contained in:
Felix Lohmeier 2016-10-24 01:44:50 +02:00
parent eaf12f4444
commit bff858e6f5
1 changed files with 4 additions and 6 deletions

View File

@ -45,7 +45,7 @@ done < 100ppns.txt
* Danach muss das Script noch ausführbar gemacht werden: ```chmod +x download.sh```
* Script starten mit ```./download.sh```
## Aufgabe 2: Heruntergeladene XML-Dateien zusammenführen
## Aufgabe 3: Heruntergeladene XML-Dateien zusammenführen
XML bietet durch seine Baumstruktur die Möglichkeit mehrere Datensätze in einer Datei abzubilden. Die Inhalte der Einzeldateien einfach aneinanderzureihen funktioniert leider nicht, da jede Datei einen eigenen "Header" mitbringt und die XML-Syntax nur einen Header erlaubt. Die Zusammenführung gestaltet sich also etwas komplizierter. Dazu können entweder extra Tools verwendet werden, die für XML gebaut wurden oder Sie nutzen die typischen Kommandozeilenwerkzeuge in trickreicher Kombination.
@ -59,9 +59,7 @@ XML bietet durch seine Baumstruktur die Möglichkeit mehrere Datensätze in eine
## Alternative: SRU-Schnittstelle
Mit Suchabfragen der folgenden Form ließen sich auch alle Daten sukzessive abrufen:
1. http://sru.gbv.de/opac-de-18-302?operation=searchRetrieve&query=pica.ppn=.*&maximumRecords=100&startRecord=001&recordSchema=picaxml
2. http://sru.gbv.de/opac-de-18-302?operation=searchRetrieve&query=pica.ppn=.*&maximumRecords=100&startRecord=101&recordSchema=picaxml
3. http://sru.gbv.de/opac-de-18-302?operation=searchRetrieve&query=pica.ppn=.*&maximumRecords=100&startRecord=201&recordSchema=picaxml
4. ...
Die Suche nach ```pica.ppn=.*``` liefert alle Datensätze zurück, wird mit ```maximumRecords=100``` begrenzt (sonst liefert die Schnittstelle gar keine Daten) und sukzessive mit einem Parameter ```startRecord=``` abgefragt. Das ließe sich auch gut in einem Shell-Script abfragen.
http://sru.gbv.de/opac-de-18-302?operation=searchRetrieve&query=pica.ppn=.*&maximumRecords=100&startRecord=1&recordSchema=picaxml
Die Suche nach ```pica.ppn=.*``` liefert alle Datensätze zurück, wird mit ```maximumRecords=100``` begrenzt (sonst liefert die Schnittstelle gar keine Daten) und sukzessive aufsteigend mit ```startRecord=1```, ```startRecord=101```, ```startRecord=201``` usw. abgefragt.