Skip to content
Martin Řehánek edited this page Feb 15, 2018 · 13 revisions

Komplexní validátor

Komplexní validátor je softwarový nástroj určený pro validaci digitalizačních balíčků (PSP/SIP) podle standardů Definice metadatových formátů (dále DMF). Nástroj existuje jako grafická aplikace (GUI) ve verzích pro MacOS, Windows a Linux a také jako aplikace pro příkazový řádek (CLI). Validovat lze buď jeden balíček jako adresář či zip archiv, nebo skupinu balíčků v adresáři/zipu.

DMF

DMF jsou standardy v podobě PDF dokumentů, které popisují požadovanou a doporučenou strukturu balíčků, podobu strukturálních, popisných, technických a dalších metadat, obrazových a OCR dat apod. Standardy DMF jsou dostupné na http://www.ndk.cz/standardy-digitalizace/metadata, s odkazy na další standardy digitalizace http://www.ndk.cz/standardy-digitalizace.

fDMF

Komplexní validátor zavádí tzv. formalizované DMF (dále fDMF), tedy DMF převedené na formální technickou specifikaci. Komplexní validátor tak validuje balíček podle konkrétní fDMF. Validátor je schopen vybrat vhodnou fDMF podle obsahu balíčku, lze ale uživatelsky vynutit validaci podle zvolené fDMF. Aktuální podoby fDMF jsou dostupné zde: https://github.com/NLCR/komplexni-validator/tree/master/sharedModule/src/main/resources/nkp/pspValidator/shared/validatorConfig/fDMF

Obsah fDMF

  • rules.xml - seznam validačních pravidel rozdělených do sekcí
  • patterns.xml - seznam "vzorů" oproti kterým jsou vyhodnocovány typicky názvy souborů
  • variables.xml - seznam "proměnných", které se společně se vzory používají ve validačních pravidlech
  • namespaces.xml - seznam použitých jmenných prostorů xml pro jednotlivé formáty (METS, MODS, Dublin Core, ALTO, Copyright MD, MIX, PREMIS, apod.)
  • adresár xsd - obsahuje xsd soubory pro validace metadat podle XML Schema
  • adresář biblioProfiles - obsahuje soubory metadatových profilů pro validace popisných metadat MODS a Dublin Core, profily jsou rozděleny podle úrovně popisu (issue/volume u periodik), typu popisované entity (cartographic/sheetmusic u monografií) a podle použitých katalogizačních pravidel (RDA/AACR2).
  • adresář techProfiles - obsahuje soubory metadatových profilů pro validace technických metadat (MIX, PREMIS)
  • adresář metsProfiles - obsahuje soubory metadatových profilů pro základní validace METS záznamů, nicméně většina validačních pravidel zahrnující METS se týká struktury souborů a dat v nich, což je nad možnosti jazyka metadatových profilů, proto se zde kontrolují jen základní věci typu hlaviček METS a většina ostatních validací je ve vlastních pravidlech
  • adresář jpeg2000Profiles - profily pro validace výstupů nástrojů třetích stran pro kontrolu obrazových dat (imageMagick, jhove, jpylyzer, kakadu) ve verzích pro archivní a uživatelské kopie obrázků

Konfigurace validátoru

Komplexní validátor obsahuje další konfiguraci, která je společná pro validace přes všechny fDMF, ta je dostupná na: https://github.com/NLCR/komplexni-validator/tree/master/sharedModule/src/main/resources/nkp/pspValidator/shared/validatorConfig Obsah:

  • adresář dictionaries - obsahuje slovníky používané ve validačních pravidlech, slovník zde znamená výčet povolených hodnot, např. kódy institucí (SIGLA) nebo kódy jazyků podle ISO 639-2
  • adresář functions - obsahuje definice validačních a vyhodnocovacích funkcí. Validační funkce se používají ve validačních pravidlech (rules.xml), kde dostávají na vstupu proměnné, vzory a konstantní hodnoty. Vyhodnocovací funkce vyhodnocují proměnné a vzory na základě jiných proměnných, vzorů a samotného obsahu validovaného balíčku.
  • adresář xsd - obsahuje XSD soubory pro validace samotných fDMF, tedy:
    • fdmfConfig.xsd - validace základního jazyka validátorů (soubory rules.xml, patterns.xml a variables.xml)
    • metadataProfile.xsd - validace metadatových profilů (soubory v adresářích biblioProfiles, metsProfiles, techProfiles)
    • j2kProfile.xsl - validace profilů pro validace výstupů nástrojů třetích stran pro kontrolu obrazových dat (dosud neimplementováno)
  • adresář fDMF - samotné definice fDMF
  • imageUtils.xml - definice detekce verze, spuštění a získání výstupů nástrojů třetích stran pro validaci obrazových dat.
  • metadata_profile_example_mods.xml - příklad metadatového profilu s popisem všech možností jazyka na konkrétních příkladech

Úpravy přes změnu konfigurace validátoru a fDMF

Komplexní validátor byl navrhován tak, aby byly validace obecně rozšiřitelné a upravovatelné bez nutnosti velkého zásaho do zdrojového kódu validátoru. Uživatel pro testovací a jiné účely může konfiguraci validátoru upravovat, zejména:

pro celý validátor

  • upravovat existující slovníky
  • přidávat nové slovníky
  • upravovat imageUtils.xml, což dává smysl v případech, kdy je potřeba se přizpůsobit nové verzi nástroje třetí strany pro validaci obrázků, například pokud se změnil proud, do kterého nástroj vypisuje výsledky, jinak vypadá výpis nástroje pro zjištění verze apod.

Nelze naopak přidávat a upravovat validační a vyhodnocovací funkce v functions/validationFunctions.xml a functions/evaluationFunctions.xml. Funkce jsou tam popsány jen za účelem dokumentace funkcí a jejich parametrů, realně musí být funkce implementovány v Javovém kódu.

v rámci fDMF

  • upravovat metadatové profily pro popisná metadata
  • upravovat profily pro validace obrazových dat nástroji třetích stran
  • upravovat a přidávat pravidla, promměnné a vzory v rules.xml

Podporované DMF / existující fDMF

Komplexní validátor v aktuální verzi (1.6) umožňuje validovat podle následujících aktuálních standardů DMF:

Dále lze validovat podle starších verzí DMF:

Vývoj

Vývoj probíhá pod záštitou Národní knihovny České republiky.

Software je licencován pod otevřenou licencí Apache lincence 2.0. Zdrojové kódy, instalační balíky, dokumentace apod. jsou veřejně dostupné na webu projektu.