Closed jbil7 closed 3 years ago
Nepodařilo se mi daný balíček najít. Je skutečně v systému? Nenašel jsem ani v Arch. storage ani v ingestu.
Ingest jsem provedl ještě jednou zde: https://arclib-test.lib.cas.cz/ingest-workflows/ARCLIB_000001369
Na transfer area je to complete_NDK-000001011919_1591704249821 (2).zip
Jasně, díky.
Upravili jsme chybovou hlášku aby bylo zřejmější v které fázi došlo k chybě. Současná hláška: "cz.cas.lib.arclib.exception.validation.SchemaValidationError: Validation of resulting AIP XML - XML schema validation failed. Details: org.xml.sax.SAXParseException; lineNumber: 230; columnNumber: 36; cvc-datatype-valid.1.2.1: '' is not a valid value for 'date'.. More details (whole XML) can be found in application log."
V aplikačním logu je poté vypsané celé XML na němž validace selhala. V tomto případě je chybný řádek
<METS:amdSec>
<METS:techMD ID="ARCLIB_004">
<METS:mdWrap MDTYPE="OTHER">
<METS:xmlData>
<ARCLib:ImageCaptureInformation xmlns:ARCLib="http://arclib.lib.cas.cz/ARCLIB_XSD">
<ARCLib:ImageCaptureMetadata>
<ARCLib:dateCreated>2020-06-09</ARCLib:dateCreated>
<ARCLib:imageProducer>The National Library of the Czech Republic, A3962</ARCLib:imageProducer>
<ARCLib:scannerModelSerialNo>2018.05.16</ARCLib:scannerModelSerialNo>
<ARCLib:eventCount>64</ARCLib:eventCount>
</ARCLib:ImageCaptureMetadata>
<ARCLib:ImageCaptureMetadata>
<ARCLib:dateCreated/>
<ARCLib:imageProducer/>
<ARCLib:scannerModelSerialNo/>
<ARCLib:eventCount>64</ARCLib:eventCount>
</ARCLib:ImageCaptureMetadata>
</ARCLib:ImageCaptureInformation>
</METS:xmlData>
</METS:mdWrap>
</METS:techMD>
</METS:amdSec>
ARCLib XSD očekává v poli pro datum hodnotu, které zde není. Nevalidní fragment vznikl při extrakci pomocí SIP profilu, problém je v zdrojových datech - obsahují element mix:ImageCaptureMetadata 2x, jednou plnohodnotný a podruhé s nějakou poznámkou. Toto v SIP profilu není postihnuto. Např. v souboru complete_NDK-000001011919_1591704249821\amdsec\amd_mets_dd202200-5d32-11ea-9076-005056827e52_0035.xml:
<mix:ImageCaptureMetadata>
<mix:orientation>normal*</mix:orientation>
</mix:ImageCaptureMetadata>
...
<mix:ImageCaptureMetadata>
<mix:GeneralCaptureInformation>
<mix:dateTimeCreated>2020-06-09T09:41:49</mix:dateTimeCreated>
<mix:imageProducer>The National Library of the Czech Republic, A3962</mix:imageProducer>
<mix:captureDevice>digital still camera</mix:captureDevice>
</mix:GeneralCaptureInformation>
<mix:ScannerCapture>
<mix:scannerManufacturer>4DigitalBooks</mix:scannerManufacturer>
<mix:ScannerModel>
<mix:scannerModelName>4DigitalBooks ScanVPage-Jumbo</mix:scannerModelName>
<mix:scannerModelNumber>4DigitalBooks ScanVPage-Jumbo</mix:scannerModelNumber>
<mix:scannerModelSerialNo>2018.05.16</mix:scannerModelSerialNo>
</mix:ScannerModel>
<mix:MaximumOpticalResolution>
<mix:xOpticalResolution>300</mix:xOpticalResolution>
<mix:yOpticalResolution>300</mix:yOpticalResolution>
<mix:opticalResolutionUnit>in.</mix:opticalResolutionUnit>
</mix:MaximumOpticalResolution>
<mix:scannerSensor>TwoChipColorArea</mix:scannerSensor>
<mix:ScanningSystemSoftware>
<mix:scanningSoftwareName>Copinet</mix:scanningSoftwareName>
<mix:scanningSoftwareVersionNo>2.2.6709.16154</mix:scanningSoftwareVersionNo>
</mix:ScanningSystemSoftware>
</mix:ScannerCapture>
<mix:orientation>normal*</mix:orientation>
</mix:ImageCaptureMetadata>
Moc děkuji za odpověď! Do logů jsem dlouho neměl přístup a i když jej teď už mám, nenapadlo mě jej zkontrolovat.
Opravil jsem SIP profil a chybu jsem snad vyřešil upřesněním XPath výrazu select="$amdSecs/METS:mets/METS:amdSec/METS:techMD[@ID='MIX_001']/METS:mdWrap/METS:xmlData/mix:mix/mix:ImageCaptureMetadata"
v ARCLIB_004
tak, aby se hodnoty přejímaly pouze z MIX_001
.
Všechna přebíraná metadata z ImageCaptureMetadata
by se podle Definic metadatových formátů NK pro NDK balíčky měla nacházet v MIX_001
.
Při ingestu NDK balíčku jsem narazil na tuto chybu:
Jedná se o ARCLIB_000001338. Data v balíčku jsem kontroloval a nepřišel jsem zatím na nic, co by rozporovalo očekávanému formátu. Jedná-li se o chybu na vstupu, požádal bych, zda by nebylo možné chybovou hlášku upravit tak, aby odkazovala na konkrétní místo v datech.