API Dokumentation
Inhaltsverzeichnis
https
Die Seiten von Henze-Digital werden nur über verschlüsseltes https
ausgeliefert. Anfragen via http
werden nach https
umgeleitet. Die folgenden URL-Beispiele gelten somit immer für beide Protokolle.
Ausgabeformate und Content Negotiation
Via Content Negotiation lassen sich zu einer Ressource verschiedene Ausgabeformate wählen. Aktuell werden HTML, TEI-XML, JSON-LD und Plain Text unterstützt, wobei das gewünschte Ausgabeformat entweder über ein Suffix oder über den HTTP Accept Header angegeben werden kann. Wird beides angegeben, hat das Suffix Vorrang. NB: Die Plain-Text-Ausgabe ist als experimentelles Feature zu verstehen!
Format | Suffix | Accept Header |
---|---|---|
HTML |
.html , .htm
|
text/html , application/xhtml+xml
|
TEI XML |
.tei , .xml
|
application/xml , application/tei+xml
|
Plain Text |
.txt
|
text/plain
|
JSON-LD |
.jsonld
|
application/ld+json
|
Die persistente URL jeder Ressource setzt sich dabei aus der Domäne „henze-digital.zenmem.de“ und der ID zusammen.
Beispiele mit curl
# curl -L https://henze-digital.zenmem.de/A042B70F.xml
# curl -L https://henze-digital.zenmem.de/A042B70F.html
# curl -L -H "Accept: text/html" https://henze-digital.zenmem.de/A042B70F
# curl -L -H "Accept: application/xml" https://henze-digital.zenmem.de/A042B70F
Bitte beachten Sie, dass der Parameter -L
hier benötigt wird, da ggf. eine Weiterleitung erfolgt
und dass zwingend die Angabe des gewünschten Ausgabeformats (via Suffixnotation oder HTTP Accept Header) erforderlich ist.
TEI-Ausgabeformate
Wird eine TEI-Datei abgerufen (siehe Content Negotiation), so wird diese standardmäßig im HenDi-TEI-Format ausgeliefert.
Dieses Format ist eine „TEI-Customization“ und dokumentiert unter https://github.com/Henze-Digital/HenDi-ODD.
Alternativ kann über den URL-Parameter format
auch eine Ausgabe kompatibel zu „TEI all“ (format=tei_all
)
oder „TEI simplePrint“ (format=tei_simplePrint
) gewählt werden.
Beispiele mit curl
# curl -L "https://henze-digital.zenmem.de/A042B70F.xml?format=tei_all"
# curl -L -H "Accept: application/xml" "https://henze-digital.zenmem.de/A042B70F?format=tei_simplePrint"
Siehe auch die News vom 29. November 2017 zu „alternativen TEI-Ausgabeformaten“.
Sprachauswahl
Die HTML-Ausgabe der Ressourcen kann in mehreren Sprachen (Aktuell Deutsch und Englisch) erfolgen.
Dabei werden allerdings nur die Navigations- und Menüelemente übersetzt, nicht jedoch die eigentlichen Texte!
Die Sprachwahl erfolgt über eine URL-Pfadkomponente, de
für Deutsch und en
für Englisch.
Beispiele mit curl
# curl -L https://henze-digital.zenmem.de/de/A042B70F.html
# curl -L -H "Accept: text/html" https://henze-digital.zenmem.de/en/A042B70F
Abfragen von GND IDs
Von der API werden aktuell GNDs vom Typ „Person“ (früher PND), „Organisation/Körperschaft“ (früher GKD),
sowie „Werk“ unterstützt,
welche über BEACON-Dateien zur Verfügung gestellt werden.
Die Adressen der BEACON-Dateien sind https://henze-digital.zenmem.de/pnd_beacon.txt
,
https://henze-digital.zenmem.de/gkd_beacon.txt
,
bzw. https://henze-digital.zenmem.de/works_beacon.txt
.
Abfragen können durch Anhängen einer gültigen GND an die Adresse https://henze-digital.zenmem.de/de/gnd/
gemacht werden. (Zur Sprachwahl siehe oben.)
Beispiele mit curl
# curl -L -H "Accept: application/tei+xml" https://henze-digital.zenmem.de/de/gnd/118549383
# curl -L https://henze-digital.zenmem.de/de/gnd/118549383.jsonld
Bitte beachten Sie, dass der Parameter -L
hier zwingend benötigt wird, da eine Weiterleitung erfolgt
und dass ebenfalls die Angabe des gewünschten Ausgabeformats (via Suffixnotation oder HTTP Accept Header) erforderlich ist.
Detaillierte Informationen zum BEACON-Format finden sich unter https://de.wikipedia.org/wiki/Wikipedia:BEACON .
Swagger OpenAPI
Henze-Digital bietet unter https://henze-digital.zenmem.de/api/v1/ ebenfalls eine REST-Schnittstelle nach der Swagger OpenAPI Spezifikation 3.0 an. Diese Schnittstelle soll ein schnelles und komfortables Auffinden von Dokumenten aus der digitalen Edition ermöglichen.