slub / dfg-viewer

The DFG Viewer is a free web service for browsing digitized books from remote library repositories in a rich and dynamic environment.
https://dfg-viewer.de
GNU General Public License v3.0
29 stars 26 forks source link

first attempt at providing an XMLSchema for dfg-viewer.de namespace #196

Open bertsky opened 2 years ago

bertsky commented 2 years ago

There has been an informal definition of an XML namespace http://dfg-viewer.de in various parts of Kitodo and DFG Viewer for some time. Without a formalization, there is no validation, and re-implementation is difficult. I tried to fill the gap here, but …

  1. not sure if this is the right place. Perhaps better use a new repo?
  2. not sure about various details (see fixmes and references in the XSD). I had to rework from the implementations and example XMLs I could find. Perhaps I missed or misinterpreted some of them?
  3. not sure whether a single XSD for the 4 different roots is adequate, and how we can validate that the right kind of root gets used in the right context – i.e.
    • dv:rights only in mets:amdSec/mets:rightsMD,
    • dv:links only in mets:amdSec/mets:digiprovMD,
    • ?? only in mets:amdSec/mets:techMD,
    • dv:page only in SRU responses).

I have added the XSD under Resources/Public/Xsd/dfg-viewer.xsd – which could be used as a schemaLocation for dv XMLs in the future. I also added some example XMLs as test cases, which should probably go somewhere else.

@sebastian-meyer @Erikmitk

bertsky commented 2 years ago

We should probably also formalize the METS and MODS Anwendungsprofile, including the Strukturdatenset BTW.

bertsky commented 2 years ago

One more thing: I noticed some obvious inconsistencies in the dv:page documentation part of the SRU/ALTO Anwendungsprofil:

MarcMoschSLUB commented 9 months ago

Thanks @bertsky. We will most likely pick up this issue with DFG-Viewer 3D second phase. It can serve as a base for the METS validator (AP 1-3 at https://intranet.slub-dresden.de/pages/viewpage.action?pageId=488903266).