Im Zuge der Modernisierung der technischen Infrastruktur des URN-Service wurde der ursprüngliche Harvester nun endgültig abgelöst. Wie schon vor längerem angekündigt, arbeitet der neue Harvester weniger fehlertolerant, weshalb nur noch valides xepicur-XML verarbeiten werden kann.
Beim Import der geharvesteten xepicur-Datensätze haben wir die Verwendung des sehr komplexen Transferformats etwas vereinfacht und so wieder näher an die ursprüngliche OAI-Funktionalität gebracht. Insbesondere wird die Weiterverarbeitung der xepicur-records NICHT mehr durch sogenannte „Update-Status“ gesteuert. Wie auch sonst beim Einsatz von OAI-PMH, wird die URN-Datenbank entsprechend der auf Ihrem Repository vorhandenen URN und URL-Kombinationen aktualisiert. Dazu muss Ihre Schnittstelle jeweils alle aktuell gültigen URLs liefern. Alle nicht mehr gelieferten URLs werden aus der URN-Datenbank gelöscht.
Wenn die Update-Status wie zuvor verwendet werden, kann es deshalb zu Fehlern kommen. So würde beispielsweise bei „url-delete“ gerade die URL in die Datenbank eingetragen, die eigentlich gelöscht werden sollte, alle anderen vorhandenen URLs aber würden gelöscht. Ähnlich würde bei Verwendung von „url_insert“ anschließend nur noch die aktuell gelieferte URL noch in der Datenbank stehen. Kein Konflikt zur neuen Funktionalität entsteht, wenn ausschließlich „urn_new“ und „url_update_general“ verwendet werden.
Die Update-Status werden also zwar nicht mehr ausgewertet, es muss aber dennoch ein Update-Status angegeben werden, da sonst das xepicur-Format nicht valide ist und beim Harvesten nicht akzeptiert würde. Bei größeren Serverwechseln und Systemwechseln wird die URN-Aktualisierung mit dem neuen Harvester deutlich vereinfacht. Zusätzlichen Komfort für Sie erhoffen wir uns davon, dass nun auch eine Set-Einschränkung möglich ist.
Die ursprüngliche xepicur Dokumentation wird ergänzt mit den Hinweisen, welche Elemente aktuell und in Zukunft tatsächlich ausgewertet werden.
Zu beachten ist insbesondere: Bitte liefern Sie alle aktuell gültigen URLs mit Ihrer URN. Alle nicht mehr mitgelieferten URLs werden in der URN-Datenbank gelöscht.
Generelle Hinweise
Gültigkeit:
Für Datensätze zur Administration von URNs wird xepicur zukünftig nur noch für die Übertragungsart OAI-PMH verbindlich sein.
Hinweise zu Datenstruktur und Syntax
Für den Datensatz ist als Dokumentformat XML verbindlich.
- Elementtypen
- Der Metadatensatz enthält Datenelemente, die nach Elementtypen differenziert in strukturierter Form angegeben sind. Jedes Datenelement wird durch einen Elementbezeichner (tag) eingeleitet, der den Elementnamen angibt.
Beispiel: <identifier>
- Attribute
- Elementbezeichner werden durch Attribute spezifiziert. Es gibt sowohl obligatorische Attribute ("type", "scheme", "imt") als auch optionale Attribute ("role", "status" oder "type").
- Beispiel: <identifier scheme="url" role="primary">
Beschreibung des Datenformates, Reihenfolge und Struktur der Elemente
Generelle Struktur
Ein XML-Datensatz besteht aus einem Wurzelelement
<epicur>
und zwei hierarchisch untergeordneten Elementen
<administrative_data>
<record>
Wurzelelement "epicur"
| Bezeichnung | epicur | wird ausgewertet |
|---|---|---|
| Attribute | keine | |
| Unterelemente |
| |
| Wiederholbar | nein | |
| Obligatorisch | ja | |
| Beschreibung | Das Wurzelelement bildet die äußere Einheit eines XML-Dokumentes. | |
| Syntax | <epicur> <administrative_data> <record> </epicur> | |
Elementgruppe "administrative_data"
Element "administrative_data"
| Bezeichnung | administrative_data | Wird zukünftig nicht mehr ausgewertet, da es aber obligatorisch ist, bitte dennoch liefern. |
|---|---|---|
| Attribute | keine | |
| Unterelemente |
| |
| Wiederholbar | nein | |
| Obligatorisch | ja | |
| Beschreibung | Das Element dient der Kapselung von Legitimationsdaten, der Spezifizierung des URN-Meldeprozesses, | |
| Syntax | <administrativ_data> <delivery> [...] </delivery> </administrative_data> |
Element "authorization"
| Bezeichnung | authorization | Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden |
|---|---|---|
| Attribute | keine | |
Unterelemente |
| |
| Wiederholbar | nein | |
| Obligatorisch | nein | |
| Beschreibung | Die Informationen dienen der Spezifizierung des URN-Meldeprozesses wie z. B. URN-Erstmeldung oder URL-Aktualisierung, der verwendeten Transferschnittstelle oder der Art der Rückmeldung. | |
| Syntax | <administrative_data> | |
Element "update_status"
| Bezeichnung | update_status | Ist obligatorisch, bitte nur noch mit dem Werten "urn_new" oder "url_update_general" verwenden und aktuelle URN/URL-Zuordungen liefern. |
|---|---|---|
| Attribute | "type" mit folgenden Inhalten: | |
| bitte verwenden | |
| Wird nicht mehr ausgewertet | |
| Wird nicht mehr ausgewertet | |
| Wird nicht mehr ausgewertet | |
| bitte verwenden | |
| Wird nicht mehr ausgewertet
| |
| Wird nicht mehr ausgewertet | |
| Unterelemente | keine | |
| Wiederholbar | nein | |
| Obligatorisch | ja | |
| Beschreibung | Das Element dient der Spezifizierung der Art des Meldeprozesses. | |
| Syntax | <update_status type="urn_new"/> | |
Element "transfer"
| Bezeichnung | transfer | Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. |
|---|---|---|
| Obligatorisch | nein |
Element "resupply"
| Bezeichnung | resupply | Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. |
|---|---|---|
| Obligatorisch | nein |
Beispiel "administrative_data"
<epicur> | |||||
<administrative_data> | |||||
<delivery> | |||||
<update_status type="urn_new"/> | |||||
</delivery> | |||||
</administrative_data> | |||||
[...] | |||||
</epicur> | |||||
Elementgruppe "record"
Element "record"
| Bezeichnung | record | Wird ausgewertet |
|---|---|---|
Attribute | keine | |
| Unterelemente |
| Wird ausgewertet |
| Wird ausgewertet | |
| URN und URLs werden zukünftig noch registriert, die hierarische Struktur aber ignoriert. | |
| Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. | |
| Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. | |
| Wiederholbar | ja, aber bei Einbindung des Schemas in OAI 2.0 ist die Kardinalität des Elements "record" auf 1 begrenzt. | |
| Obligatorisch | ja | |
| Beschreibung | Das Element "record" kapselt URN-URL-Beziehungen der Objekte. Das Element "record" ist dem Wurzelelement "epicur" direkt untergeordnet. Es ist wiederholbar, um Sammelmeldungen zu generieren. Dieser Fall kann bei der Implementation des URN-Melde- und Updateprozesses über eine separate URN-Schnittstelle eintreten. Bei Einbindung des Schemas in OAI 2.0 ist die Kardinalität des Elements "record" auf 1 begrenzt. | |
| Syntax | <record> [...] </record> | |
Element "identifier"
| Bezeichnung | identifier | Wird ausgewertet |
|---|---|---|
| Attribute |
Mit dem Attribut "scheme" wird URN bzw. URL des Objektes erfasst. Das Attribut zur Spezifizierung der URN kann folgende Werte annehmen:
Das Attribut zur Spezifizierung der URL hat folgenden obligatorischen Wert:
| Wird ausgewertet |
Das optionale Attribut dient zur Kennzeichnung einer URL als Frontpage-URL (landing page) und hat den Wert
| Wird zukünftig nicht mehr ausgewertet | |
| Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. | |
Das optionale Attribut kennzeichnet eine URL als "Master-URL", die beim Resolving zuerst ausgewiesen werden soll. Dieser Fall tritt ein, wenn mehr als eine URL zu einer URN registriert ist. Das Attribut hat folgenden Wert:
| Wird ausgewertet (Wenn der Inhaber der URL auch der des Namensraums ist.) Primary wird umgesetzt als Priorität 1. | |
| Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. | |
| Wird nicht mehr ausgewertet. Bitte nicht mehr verwenden. | |
| Unterelemente | keine | |
| Wiederholbar | ja | |
| Obligatorisch | ja | |
| Beschreibung | Das Element "identifier" enthält Informationen über eine URN und URL. Es wird durch obligatorische sowie mehrere optionale Attribute näher spezifiziert. | |
| Syntax (Auswahl) | <identifier scheme="urn:nbn:de"> [...] </identifier> oder <identifier scheme="url"> [...] </identifier> oder <identifier scheme="url" role="primary"> [...] </identifier> | |
Element "isVersionOf"
| Bezeichnung | isVersionOf | wird nicht mehr ausgewertet. Bitte nicht mehr verwenden |
|---|---|---|
| Obligatorisch | nein | |
Element "hasVersion"
| Bezeichnung | hasVersion | wird nicht mehr ausgewertet. Bitte nicht mehr verwenden |
|---|---|---|
| Obligatorisch | nein | |
Element "resource"
| Bezeichnung | resource | wird ausgewertet |
|---|---|---|
| Attribute | keine | |
| Unterelemente |
Mit dem Element "identifier" wird die URL des Objektes erfasst. Aus diesem Grund muss das Attribut "scheme"="url" verwendet werden. (siehe Element "identifier") | wird ausgewertet |
Das Element "format" dient der Erfassung des MimeTypes des Objektes. | wird ausgewertet | |
| Wiederholbar | ja | |
| Obligatorisch | nein | |
| Beschreibung | Das Element "resource" kapselt die Unterelemente "identifier" mit dem Attribut "scheme"="url" und "format" dient der Erfassung der URL und des MimeTypes (Dateiformat) des Objektes. | |
| Syntax | <resource> <identifier scheme="url"> [URL des Objektes] </identifier> <format scheme="imt"> [MimeType des Objektes] </resource> | |
Element "format"
| Bezeichnung | format | wird ausgewertet |
|---|---|---|
| Attribute | Das Element "format" hat folgendes Attribut: "imt", das als Wert den MimeType des Objektes enthält. | |
| Unterelemente | keine | |
| Wiederholbar | nein | |
| Obligatorisch | nein | |
| Beschreibung | Das Element "format" dient der Erfassung des MimeTypes (Dateiformates) eines Objektes | . |
| Syntax | <format scheme="imt"> |
Element "isPartOf"
| Bezeichnung | isPartOf | Zukünftig werden URN und URL registriert, die hierarchische Struktur aber wird ignoriert. |
|---|---|---|
| Attribute | keine | |
| Unterelemente |
| |
| Wiederholbar | ja | |
| Obligatorisch | nein | |
| Beschreibung | Das Element "isPartOf" kapselt Informationen zu URNs und URLs von Teilobjekten. | |
| Syntax | <isPartOf> | |
Beispiel "record"
<epicur> | |||||
<administrative_data> [...] | |||||
<update_status type="urn_new"/> | |||||
[...] </administrative_data> | |||||
<record> | |||||
<identifier scheme="urn:nbn:de"> | |||||
<resource> | |||||
<identifier scheme="url" role="primary" >http://edok01.tib.uni-hannover.de/edoks/e01dh01/</identifier> | |||||
<format scheme="imt">text/html</format> | |||||
</resource> | |||||
</record> | |||||
</epicur> | |||||
Priorität
Das bisherige Primary-Modell wird durch die Priorität abgelöst.
Dabei gilt folgende Logik:
- Höchste Priorität haben immer die URLs der Organisation, der auch Inhaber des entsprechenden Unternamensraum ist.
- Diesen nachgeordnet sind URLs, die von Organisationen, denen die entsprechende URN NICHT gehört hinzugefügt wurden. (sogenannte Kuckucks-URLs)
- Über die geringste Priorität verfügen die URLs, die also sogenannte Archiv-URL von der DNB bei der Ablieferung der Netzpublikation, automatisiert hinzugefügt werden.
Darum haben nur die Organisation, die für den jeweiligen Namensraum verantwortlich sind, die Möglichkeit, eine URL mit der Priority 1, also der höchsten Priorität, auszuzeichnen. (Bei allen weiteren URLs wird die Priorität intern hochgezählt.)
NUR als für den Namensraum verantwortliche Organisation wird, wenn Sie in xepicur die role primary liefern, diese als Priorität 1 umgesetzt.
<identifier scheme="url" role="primary">