From b04d46ed408dcef9d3cc363814a208b424fb8685 Mon Sep 17 00:00:00 2001 From: David Maus <maus@hab.de> Date: Fri, 23 Mar 2018 11:20:11 +0100 Subject: [PATCH] Berechnung normalisierter @ID-Werte MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verwende Präfix de.hab.diglib-mets-* für normalisierte @ID der Dateien und der physischen Strukturen. --- src/xslt/mets.xsl | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/xslt/mets.xsl b/src/xslt/mets.xsl index a156415..814cb31 100644 --- a/src/xslt/mets.xsl +++ b/src/xslt/mets.xsl @@ -52,7 +52,7 @@ <premis:eventIdentifierType>UUID</premis:eventIdentifierType> <premis:eventIdentifierValue><xsl:value-of select="$eventCreateUUID"/></premis:eventIdentifierValue> </premis:eventIdentifier> - <premis:eventType valueURI="http://id.loc.gov/vocabulary/preservation/eventType/creation">creation</premis:eventType> + <premis:eventType valueURI="http://id.loc.gov/vocabulary/preservation/eventType/cre">creation</premis:eventType> <premis:eventDataTime><xsl:value-of select="/mets/metsHdr/@CREATEDATE"/></premis:eventDataTime> <premis:linkingAgentIdentifier> <premis:linkingAgentIdentifierType>Name</premis:linkingAgentIdentifierType> @@ -119,9 +119,24 @@ <xsl:attribute name="xlink:href" select="concat('../', tokenize(., '/')[last()])"/> </xsl:template> + <xsl:function name="fun:normalize-physId" as="xs:string"> + <xsl:param name="fileId" as="xs:string"/> + <xsl:value-of> + <xsl:text>de.hab.diglib-mets-phys.</xsl:text> + <xsl:value-of select="tokenize($fileId, '\.')[last()]"/> + </xsl:value-of> + </xsl:function> + <xsl:function name="fun:normalize-fileId" as="xs:string"> <xsl:param name="file" as="element(file)"/> - <xsl:value-of select="string-join( ('image', if ($file/../@USE) then lower-case($file/../@USE) else (), tokenize($file/FLocat/@xlink:href, '/')[last()]), '.')"/> + <xsl:value-of> + <xsl:text>de.hab.diglib-mets-file</xsl:text> + <xsl:if test="$file/../@USE"> + <xsl:value-of select="concat('.', lower-case($file/../@USE))"/> + </xsl:if> + <xsl:text>.</xsl:text> + <xsl:value-of select="substring-before(tokenize($file/FLocat/@xlink:href, '/')[last()], '.')"/> + </xsl:value-of> </xsl:function> </xsl:transform> -- GitLab