Datumswerte für Metadatenanzeige formatieren

Das Datum der Ausgaben unserer Zeitungen ist iso-codiert in der Form YYYY-MM-DD (und das kommt halt auch direkt aus dem NewspaperPlugin so heraus) um eine in unseren Breiten üblichere Form wie DD.MM.YYYY zu bekommen überlege ich, ob dies mit dem

<replace regex="">... in der config_viewer.xml möglich wäre?`

Also so etwas wie:

<metadata label="MD_YEARPUBLISH">
	<param type="field" key="MD_YEARPUBLISH">
       <replace regex="([\d]{4})-([\d]{2})-([\d]{2})" condition="DOCSTRCT:newspaper">$3.$2.$1</replace>
	</param>
</metadata>

Kann dieses Replace-Parameter auf Basis von Regex mit RegEx-Groups umgehen?

LG
Christian

Hallo Christian,

theoretisch sollte das gehen (laut Doku zu String.replaceAll()). Es gibt aber auch <param type="datefield" ...>. Damit sollten standardisierte Datumsangaben je nach ausgewählter Locale automatisch formatiert werden. Seit Version 23.07 gibt es noch den Parameter pattern, mit dem die Formatierung für alle Sprachen/Locales einheitlich vergegeben werden kann, z.B. <param type="datefield" pattern="dd.MM.yyyy">.

Viele Grüße
Andrey

1 „Gefällt mir“

Hallo Andrey, seit wann gibt es denn type="datefield"? In der Doku 1.19.1 Haupt-Metadaten - Goobi viewer (Deutsch) ist es aktuell nicht gelistet, und bei mir im Viewer (22.05) greift

<metadata label="MD_YEARPUBLISH">
	<param type="datefield" key="MD_YEARPUBLISH"/>
</metadata>

leider nicht - wie hier zu sehen: Obwaldner Volksfreund 1870 (1870) - ZentralGut

Die RegEx-Group-Geschichte muss ich noch testen.

Hallo Christian,

sorry, mein Fehler. der Typ “datefield” kommt erst mit dem kommenden Release 2023.08.

Viele Grüße
Andrey

RegEx-Transformation klappt gut, wie oben beschrieben: vgl. Obwaldner Volksfreund (4. Jahrgang) - ZentralGut