Skip to content
Snippets Groups Projects
Commit ef9ed865 authored by Jens Kupferschmidt's avatar Jens Kupferschmidt
Browse files

fix oai2 support

parent 20f5aa4d
Branches
No related merge requests found
This diff is collapsed.
......@@ -10,55 +10,40 @@
<xsl:include href="object2record.xsl" />
<xsl:template match="mycoreobject[contains(@ID,'_biocol_')]" mode="header">
<xsl:apply-templates select="@ID" />
<xsl:apply-templates select="service/servdates/servdate[@type='modifydate']" />
</xsl:template>
<xsl:template match="mycoreobject" mode="metadata">
<xsl:variable name="sourcedoc" select="document(concat('xslStyle:mycoreobject-xml:mcrobject:',@ID))" />
<xsl:apply-templates select="$sourcedoc/mycoreobject" mode="dc" />
</xsl:template>
<xsl:template match="mycoreobject" mode="dc">
<xsl:template match="mycoreobject[contains(@ID,'_biocol_')]" mode="oai2_metadata" priority="1">
<xsl:variable name="native"
select="document(concat('xslStyle:mycoreobject-native:mcrobject:',@ID))/mycoreobject" />
<oai_dc:dc>
<!-- dc:title - title -->
<dc:title>
<xsl:choose>
<xsl:when test="./metadata/def.biocol09/biocol09">
<xsl:value-of select="./metadata/def.biocol09/biocol09/text()" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="concat(./metadata/def.biocol30/biocol30/text(), ' | ', ./metadata/def.biocol31/biocol31/text())" />
</xsl:otherwise>
</xsl:choose>
</dc:title>
<xsl:if test="$native/metadata/def.biocol09">
<dc:title>
<xsl:choose>
<xsl:when test="$native/metadata/def.biocol09/biocol09">
<xsl:value-of select="$native/metadata/def.biocol09/biocol09/text()" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="concat($native/metadata/def.biocol30/biocol30/text(), ' | ', $native/metadata/def.biocol31/biocol31/text())" />
</xsl:otherwise>
</xsl:choose>
</dc:title>
</xsl:if>
<!-- dc:type - objectType -->
<xsl:for-each select="./metadata/def.biocol07/biocol07">
<xsl:for-each select="$native/metadata/def.biocol07/biocol07">
<dc:type>
<xsl:variable name="subjectlinkURL">
<xsl:call-template name="linkClassQueryURL">
<xsl:with-param name="classid" select="@classid" />
<xsl:with-param name="categid" select="@categid" />
</xsl:call-template>
</xsl:variable>
<xsl:for-each
select="document($subjectlinkURL)/mycoreclass/categories/category/label[lang($DefaultLang)]">
<xsl:value-of select="@text" />
</xsl:for-each>
<xsl:value-of select="." />
</dc:type>
</xsl:for-each>
<!-- dc:format - format -->
<xsl:choose>
<xsl:when test="./metadata/def.biocol07/biocol07[@categid='objecttype_otolith']">
<xsl:when test="$native/metadata/def.biocol07/biocol07[@categid='objecttype_otolith']">
<dc:format>biogenes Kalkkonkrement</dc:format>
</xsl:when>
<xsl:when test="./metadata/def.biocol07/biocol07[@categid='objecttype_herbar']">
<xsl:when test="$native/metadata/def.biocol07/biocol07[@categid='objecttype_herbar']">
<dc:format>Plantea</dc:format>
</xsl:when>
<xsl:otherwise>
......@@ -68,26 +53,26 @@
<!-- dc:coverage - places -->
<xsl:if
test="./metadata/def.biocol61/biocol61 or ./metadata/def.biocol62/biocol62 or ./metadata/def.biocol63/biocol63">
test="$native/metadata/def.biocol61/biocol61 or $native/metadata/def.biocol62/biocol62 or $native/metadata/def.biocol63/biocol63">
<dc:coverage>
<xsl:value-of
select="concat(./metadata/def.biocol61/biocol61, ' | ', ./metadata/def.biocol62/biocol62, ' | ',
./metadata/def.biocol63/biocol63)" />
select="concat($native/metadata/def.biocol61/biocol61, ' | ', $native/metadata/def.biocol62/biocol62, ' | ',
$native/metadata/def.biocol63/biocol63)" />
</dc:coverage>
</xsl:if>
<!-- dc:subject - genre and type -->
<xsl:if
test="./metadata/def.biocol20/biocol20 or ./metadata/def.biocol21/biocol21 or ./metadata/def.biocol22/biocol22
or ./metadata/def.biocol23/biocol23 or ./metadata/def.biocol24/biocol24 or ./metadata/def.biocol25/biocol25
or ./metadata/def.biocol26/biocol26 or ./metadata/def.biocol27/biocol27 or ./metadata/def.biocol28/biocol28
or ./metadata/def.biocol29/biocol29">
test="$native/metadata/def.biocol20/biocol20 or $native/metadata/def.biocol21/biocol21 or $native/metadata/def.biocol22/biocol22
or $native/metadata/def.biocol23/biocol23 or $native/metadata/def.biocol24/biocol24 or $native/metadata/def.biocol25/biocol25
or $native/metadata/def.biocol26/biocol26 or $native/metadata/def.biocol27/biocol27 or $native/metadata/def.biocol28/biocol28
or $native/metadata/def.biocol29/biocol29">
<dc:subject>
<xsl:value-of
select="concat(./metadata/def.biocol20/biocol20, ' | ', ./metadata/def.biocol21/biocol21, ' | ', ./metadata/def.biocol22/biocol22,
' | ', ./metadata/def.biocol23/biocol23, ' | ', ./metadata/def.biocol24/biocol24, ' | ', ./metadata/def.biocol25/biocol25,
' | ', ./metadata/def.biocol26/biocol26, ' | ', ./metadata/def.biocol27/biocol27, ' | ', ./metadata/def.biocol28/biocol28,
' | ', ./metadata/def.biocol29/biocol29)" />
select="concat($native/metadata/def.biocol20/biocol20, ' | ', $native/metadata/def.biocol21/biocol21, ' | ', $native/metadata/def.biocol22/biocol22,
' | ', $native/metadata/def.biocol23/biocol23, ' | ', $native/metadata/def.biocol24/biocol24, ' | ', $native/metadata/def.biocol25/biocol25,
' | ', $native/metadata/def.biocol26/biocol26, ' | ', $native/metadata/def.biocol27/biocol27, ' | ', $native/metadata/def.biocol28/biocol28,
' | ', $native/metadata/def.biocol29/biocol29)" />
</dc:subject>
</xsl:if>
......@@ -95,36 +80,30 @@
<dc:language>ger</dc:language>
<!-- dc:creator - author of record -->
<dc:creator>
<xsl:for-each select="./metadata/def.biocol06/biocol06">
<xsl:if test="position() != 1">
<xsl:value-of select="' ; '" />
</xsl:if>
<xsl:value-of select="." />
</xsl:for-each>
</dc:creator>
<xsl:if test="$native/metadata/def.biocol06">
<dc:creator>
<xsl:for-each select="$native/metadata/def.biocol06/biocol06">
<xsl:if test="position() != 1">
<xsl:value-of select="' ; '" />
</xsl:if>
<xsl:value-of select="." />
</xsl:for-each>
</dc:creator>
</xsl:if>
<!-- dc:publisher - collection -->
<xsl:for-each select="./metadata/def.biocol02/biocol02">
<xsl:variable name="subjectlinkURL">
<xsl:call-template name="linkClassQueryURL">
<xsl:with-param name="classid" select="@classid" />
<xsl:with-param name="categid" select="@categid" />
</xsl:call-template>
</xsl:variable>
<xsl:for-each
select="document($subjectlinkURL)/mycoreclass/categories/category/label[lang($DefaultLang)]">
<dc:publisher>
<xsl:value-of select="concat(@text, ' ; ', 'Universität Leipzig')" />
</dc:publisher>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="$native/metadata/def.biocol02/biocol02">
<dc:publisher>
<xsl:value-of select="." />
</dc:publisher>
</xsl:for-each>
<dc:publisher>
<xsl:value-of select="'Universität Leipzig'" />
</dc:publisher>
<!-- dc:identifier - inventory number, alternate ID and @ID -->
<dc:identifier>
<xsl:value-of select="./metadata/def.biocol01/biocol01" />
<xsl:value-of select="$native/metadata/def.biocol01/biocol01" />
<xsl:value-of select="' ; '" />
<xsl:value-of select="concat($WebApplicationBaseURL,'receive/',@ID)" />
</dc:identifier>
......
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:mods="http://www.loc.gov/mods/v3" xmlns:lido="http://www.lido-schema.org">
<xsl:param name="DefaultLang" />
<xsl:param name="WebApplicationBaseURL" />
<xsl:param name="MCR.OAIDataProvider.OAI2.RepositoryIdentifier" />
<xsl:include href="object2record.xsl" />
<xsl:template match="mycoreobject[contains(@ID,'_biocol_')]" mode="oai2_metadata" priority="1">
<xsl:variable name="native"
select="document(concat('xslStyle:mycoreobject-native:mcrobject:',@ID))/mycoreobject" />
<lido:lido>
</lido:lido>
</xsl:template>
</xsl:stylesheet>
......@@ -2,7 +2,7 @@
<xsl:stylesheet version="1.0" xmlns="http://www.openarchives.org/OAI/2.0/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:mods="http://www.loc.gov/mods/v3" >
xmlns:mods="http://www.loc.gov/mods/v3">
<xsl:param name="DefaultLang" />
<xsl:param name="WebApplicationBaseURL" />
......@@ -12,19 +12,8 @@
<xsl:include href="biocol2mods.xsl" />
<xsl:include href="common4mods.xsl" />
<xsl:template match="mycoreobject" mode="header">
<xsl:apply-templates select="@ID" />
<xsl:apply-templates select="service/servdates/servdate[@type='modifydate']" />
</xsl:template>
<xsl:template match="mycoreobject" mode="metadata">
<modsCollection xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.loc.gov/mods/v3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-7.xsd">
<xsl:variable name="sourcedoc"
select="document(concat('xslStyle:mycoreobject-xml:mcrobject:',@ID))" />
<xsl:apply-templates select="$sourcedoc/mycoreobject" mode="mods" />
</modsCollection>
<xsl:template match="mycoreobject[contains(@ID,'_biocol_')]" mode="oai2_metadata" priority="1">
<xsl:apply-templates select="." mode="mods" />
</xsl:template>
</xsl:stylesheet>
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment