-
Notifications
You must be signed in to change notification settings - Fork 63
Korrektur des href Attributs in Kitodo
David Maus edited this page Mar 28, 2019
·
4 revisions
In Kitodo.Production können Namespaces nicht für Attribute vergeben werden. Dies ist jedoch für die korrekte Ausgabe des xlink:href-Attributs in dem MODS-Element accessCondition notwendig.
Im METS-Bereich des Regelsatzes ist es möglich, Namespaces für Elemente zu definieren, wie zum Beispiel:
<NamespaceDefinition>
<URI>http://slub-dresden.de/</URI>
<prefix>slub</prefix>
</NamespaceDefinition>
Dies ist in Kitodo.Production 2.x jedoch nur für Nodes möglich, nicht für Attribute. Es wird nur "href" in die METS-Datei eingetragen:
< mods:accessCondition type='use and reproduction' href='https://creativecommons.org/publicdomain/mark/1.0/'>
Um ein MODS-konformes href-Attribut zu erzeugen, müssen die METS-Dateien korrigiert werden. David Maus schlägt folgende Lösung mit XSLT vor:
<xsl:transform version="1.0"
xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="mods:accessCondition/@href">
<xsl:attribute name="xlink:href"><xsl:value-of select="."/></xsl:attribute>
</xsl:template>
</xsl:transform>
Vergleiche: https://maillist.slub-dresden.de/pipermail/kitodo-community/2018-December/000247.html
- Thread in der Kitodo-Mailing-Liste: https://maillist.slub-dresden.de/pipermail/kitodo-community/2018-December/000250.html
- Regelsatz XML Datei: https://github.com/kitodo/kitodo-production/wiki/Regelsatz-XML-Datei
- GitHub-Issue: https://github.com/kitodo/kitodo-production/issues/2238