Lieber Markus, liebe Kollegen,
es gibt auch noch andere Probleme. Z.B. wird der dv-Namespace wird nicht
geprueft, z.B. ist dies gültig:
<dv:linksxxx xmlns:dv="http://dfg-viewer.de/">
Anbei ein Codeschnipsel, der das behebt. Im METS -Schema muss neben dem
Namespace dies ergaenzt werden:
<xsd:import namespace="http://dfg-viewer.de/"
schemaLocation="dfg-dv.xsd"/>
Mein Kopf sieht uebrigens so aus:
<xsd:schema
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import
schemaLocation="dfg-mods.xsd"/>
<xsd:import namespace="http://dfg-viewer.de/"
schemaLocation="dfg-dv.xsd"/>
Man müsste noch etwas staerker in METS eingreifen, wenn man auf das
Vorhandensein von <dv:rights> und <dv:links> pruefen will (Lokalisierung
von mdSecType). Gleiches gilt für MODS. Es waere auch zu überlegen, was
genau von diesen 6 Elementen des dv-NS da sein muss.
Ein bisschen frage ich mich mittlerweile auch, was die Firma eigentlich
gemacht hat ;-) Zumindest wird nicht zuverlässig geprüft, was nach
unseren Verabredungen minimal da sein muss, und das war doch vermutlich
irgendwie die Idee des Validators.
Viele Gruesse und ein schönes Weihnachtsfest,
Thomas
Enders, Markus schrieb:
Liebe Zielgruppe,
nicht, dass ich Zeit haette, aber ein METS Validator ist schon interessant. Zumal wir
hier mit sehr aehnlichen Problemen kaempfen. Ich habe den Validator zunaechst mal mit der
Datei "metsmods-ok.xml" getestet. Diese validiert lt. Validator, nur paar
Warnings "Verstoss gegen ZVDD Vorgaben".
Was einem auffaellt: In der Datei wird das MODS Schema "mods-3-0.xsd"
referenziert. In der Ausgabe auf dem Bildschirm behauptet der Validator, es wuerde gegen
"http://www.loc.gov/mods/v3/mods-3-3.xsd" validiert werden.
Verwunderung macht sich breit.... Wonach validiert er denn nun?
Und wieso 3.3? Das MODS Anwendungsprofil bezieht sich lt. Profil auf 3.2... IMHO sollte
in der XML-Datei MODS 3.2 referenziert werden und dagegen auch validiert werden.
Aber man kann ja mal ein Blick auf die Datei werfen. Dabei entdeckt man dann folgendes:
Eigenartigerweise sind Grundlage der Testdaten METS Daten die gar nicht aus dem DFG
Kontext kommen, sondern wohl in Berkeley entstanden sind. Deswegen sieht die
Rights-Sektion auch anders aus.
Fast alle URLs zu den extension schemas wie MODS, metsrights etc. Sind falsch gesetzt,
bzw. auch die namespace-Angaben sind falsch.
- URLs wie "http://www.loc. gov/mods/v3" sind nicht nur unschoen sondern
koennen auch nicht gefunden werden. Eine Schema-Validierung kann in Folge dessen auch
nicht stattfinden. Das sehe zumindest ich, wenn ich die Datei in Oxygene oeffne.
- Habe die URLs mal korrigiert und - surprise, surprise mal paar interessante Ergebnisse
gefunden:
Target Namespace fur MIX ist falsch:
- sollte eigentlich
http://www.loc.gov/mix/v20 sein (lt. xml schema), ist aber nur auf
http://www.loc.gov/mix/ gesetzt
- Sobald man das mal macht - es gibt einige Fehler. Der MIX Record ist nicht compliant
mit dem MIX schema. Keine Ahnung warum.
MODS Metadaten Record hat auch einen Fehler:
- <mods:typeOfResource> enthaelt einen Fehler; der Wert " still image "
ist nicht zugelassen. Der Wert muss auch einer ennumerated list kommen - und der
entsprechende Wert ist nunmal "still image" (man beachte die Leerzeichen).
- Gibt es einen Grund warum das veraltete 3.0 Schema benutzt wird und nicht 3.2 oder 3.3?
IMHO sollte hier 3.2. benutzt werden, da dies immerhin vom MODS Anwendungsprofil
vorgeschrieben wird.
Habe die entsprechenden URLs mal korrigiert und die MIX records rausgeschmissen. Die sind
ja weder fuer das METS noch fuer das MODS Profil verbindlich vorgeschrieben.
Angehangen mal die "korrigierte" Version.
So wie die Validierung beginnt, geht es auch weiter: Der Validator scheint ja nichtmal
auf xml-Schema Ebene zu validieren, sonst haetten entsprechende Fehler auffallen muessen.
Ueber weitere Fehler wie bspw. fehlerhafte Pointer innerhalb einer METS Datei (AMDID
verweist auf eine dmdSec) gibt es natuerlich auch keine Fehlermeldungen (hab ich anhand
einer modifizierten Datei getestet). D.h. der Validator validiert anscheinend nichtmal auf
Ebene des METS-Datenmodells korrekt.
Eine Ebene tiefer, d.h. auf formeller Ebene des METS Anwendungsprofils darf man ebenfalls
nichts erwarten. Das Anwendungsprofil legt fest:
"Das Seitenbasierte Dokumentenmodell zeichnet sich durch zwei <structMap>
Elemente aus." Und ferner "Das Seitenbasierte Dokumentmodell ist das
Minimalmodell, welches vom DFG-Viewer unterstüzt wird."
IMHO wurde genau dafuer der DFG-Viewer gebaut: Seitenweises blaettern. D.h. die METS
Datei muss eine logische und eine physische Struktur besitzten, da entweder das
Seitebasierte oder das komplexe Dokumentenmodell implementiert sein muss.
Diese validierbare METS Datei hat jedoch keine logische Struktur. Sie besitzt eine
physische Struktur, wobei dessen Strukturdaten keineswegs dem entsprechend, was das METS
Anwednungsprofil vorsieht. Eine <structLink> Sektion fehlt in der METS Datei
natuerlich auch. Wird alles nicht angemeckert durch den Validator.
Wenn also die dritte Ebene (formelle Ebene des METS Anwendungsprofils) nicht validiert
wird, kann die vierte Ebene (Semantik des METS Anwendungsprofils) erst recht nicht
validiert werden. Hierbei wuerde es um Attributwert sowie entsprechende Abhaengigkeiten
zwischen Attributwerden und XML Strukturen (in METS und den Extension-Schemas) gehen.
Ich weiss nicht, ob es sich lohnt, den Sourcecode des Validators zu besorgen. IMHO
koennen dort max. 5% dessen was eine Validierung ausmacht drin stecken. Der Validator ist
vollkommen unbrauchbar :-(
Das verwundert mich ehrlich gesagt nicht. XML ist fuer viele Leute ja nun schon schwierig
genug. METS ist nochmal eine andere Stufe - erst Recht, wenn es dann noch um die
Einbindung von Extensions Schemas geht. Meiner Erfahrung nach ist es recht schwer Arbeiten
dieser Art auszulagern. Das Wissen und Verstaendnis von externen Firmen auf diesem Gebiet
ist nicht gegeben. METS Dateien zu generieren und zu parsen ist fuer viele schon mit einem
hohen Lernaufwand verbunden. Eine Validierung ist nochmal etwas anderes und IMHO
wesentlich komplizierter.
Ich denke ohne aufwendige Requirement-Dokumente wird man hier nicht auskommen. IMHO
sollte fuer jeder der 4 Validierungslevel genau festgelegt werden, welche Elemente und
Semantiken eigentlich validiert werden sollen, und ob das Ergebnis einer fehlerhaften
Teilvalidierung ein Error, Warning, Hint etc ist. Ich weiss nicht, ob solche
Requirement-Dokumente der Entwicklung des aktuellen Validators zu Grunde lagen. (ich
vermute eher nicht).
Allerdings waere es fuer alle hilfreich zu diskutieren, was wir eigentlich validieren
wollen. Nur das METS/MODS Profil soweit es der DFG-Viewer braucht? Oder sollte nicht
eigentlich das komplette Profil validiert werden?
Andere Dienste, wie bspw. ein PDF-Konvertierdienst koennten naemlich ganz andere Teile
benoetigen als bspw. der DFG-Viewer. Der aktuelle Validator meckert bspw. ein Fehlen von
"<mods:identifier
type="urn">urn:nbn:gbv-7-PPN481399712</mods:identifier>" nicht an.
Fuer den Viewer mag das nicht wichtig sein. Fuer andere Dienste aber durchaus.
Ich wuerde sagen: Zurueck auf Los und nochmal anfangen.
Ansonsten allen Diskutierenden schoene Weihnachten... Haben wir ja gleich was zu tun nach
der Ruhepause ;-)
Ciao
Markus
-----Original Message-----
From: dv-technik-bounces(a)dfg-viewer.de [mailto:dv-technik-bounces@dfg-viewer.de] On
Behalf Of Meyer, Sebastian
Sent: 03 December 2008 15:12
To: technik(a)dfg-viewer.de
Subject: [DFG-Viewer] METS/MODS-Validator
Liebe Kolleginnen und Kollegen,
der METS/MODS-Validator ist nun weitestgehend fertig und kann unter folgender URL
getestet werden:
http://194.95.142.95/fileadmin/statics/validator/metsmods.php
Der Validator basiert auf den kürzlich von den Göttinger Kollegen freigegebenen METS- und
MODS-Profilen für den Einsatz im Rahmen des DFG-Viewers und ZVDD. Die Validierung findet
dabei in mehreren Schritten statt und gibt bei invaliden Dokumenten Hinweise zum Fehler
aus.
Eine Integration in die Webseite des DFG-Viewers soll im Laufe der kommenden Woche
erfolgen.
Über reges Testen, Hinweise auf Fehler und andere Anmerkungen würde ich mich freuen.
Viele Grüße aus Dresden
Sebastian Meyer
--
___________________________________________________
Sebastian Meyer
Abteilung Informationstechnologie
Referat Entwicklung
Sächsische Landesbibliothek -
Staats- und Universitätsbibliothek Dresden (SLUB)
01054 Dresden
Besucheradresse: Zellescher Weg 18
Tel.: +49 351 4677-206
Fax: +49 351 4677-711
Mail: smeyer(a)slub-dresden.de
Web:
http://www.slub-dresden.de/
___________________________________________________
**************************************************************************
Experience the British Library online at
www.bl.uk
The British Library's new interactive Annual Report and Accounts 2007/08 :
www.bl.uk/knowledge
Help the British Library conserve the world's knowledge. Adopt a Book.
www.bl.uk/adoptabook
The Library's St Pancras site is WiFi - enabled
*************************************************************************
The information contained in this e-mail is confidential and may be legally privileged.
It is intended for the addressee(s) only. If you are not the intended recipient, please
delete this e-mail and notify the postmaster(a)bl.uk : The contents of this e-mail must not
be disclosed or copied without the sender's consent.
The statements and opinions expressed in this message are those of the author and do not
necessarily reflect those of the British Library. The British Library does not take any
responsibility for the views of the author.
*************************************************************************