- add TiteAdditional and TitleAbstractAdditional

- addapt datasetxml2oai-pmh.xslt
- neww title name
This commit is contained in:
Arno Kaimbacher 2019-09-19 16:10:15 +02:00
parent 7b34e57aee
commit 15c7df78c7
4 changed files with 77 additions and 6 deletions

View File

@ -23,12 +23,22 @@ trait DatasetExtension
protected $externalFields = array( protected $externalFields = array(
'TitleMain' => array( 'TitleMain' => array(
'model' => Title::class, 'model' => Title::class,
'options' => array('type' => ['Main', 'Alternative', 'Sub', 'Translated', 'Other']), 'options' => array('type' => ['Main']),
'fetch' => 'eager'
),
'TitleAdditional' => array(
'model' => Title::class,
'options' => array('type' => ['Alternative', 'Sub', 'Translated', 'Other']),
'fetch' => 'eager' 'fetch' => 'eager'
), ),
'TitleAbstract' => array( 'TitleAbstract' => array(
'model' => Description::class, 'model' => Description::class,
'options' => array('type' => ['Abstract', 'Methods', 'Technical_info', 'Series_information', 'Other']), 'options' => array('type' => ['Abstract']),
'fetch' => 'eager'
),
'TitleAbstractAdditional' => array(
'model' => Description::class,
'options' => array('type' => ['Methods', 'Technical_info', 'Series_information', 'Other']),
'fetch' => 'eager' 'fetch' => 'eager'
), ),
'Licence' => array( 'Licence' => array(

View File

@ -315,8 +315,12 @@
<oai_dc:dc xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <oai_dc:dc xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<!-- dc:title --> <!-- dc:title -->
<xsl:apply-templates select="TitleMain" mode="oai_dc" /> <xsl:apply-templates select="TitleMain" mode="oai_dc" />
<!-- dc:title -->
<xsl:apply-templates select="TitleAdditional" mode="oai_dc" />
<!-- dc:description --> <!-- dc:description -->
<xsl:apply-templates select="TitleAbstract" mode="oai_dc" /> <xsl:apply-templates select="TitleAbstract" mode="oai_dc" />
<!-- dc:description -->
<xsl:apply-templates select="TitleAbstractAdditional" mode="oai_dc" />
<!-- dc:subject --> <!-- dc:subject -->
<xsl:apply-templates select="Subject" mode="oai_dc" /> <xsl:apply-templates select="Subject" mode="oai_dc" />
<!--<dc:creator>--> <!--<dc:creator>-->
@ -397,6 +401,11 @@
<xsl:value-of select="@Value"/> <xsl:value-of select="@Value"/>
</dc:title> </dc:title>
</xsl:template> </xsl:template>
<xsl:template match="TitleAdditional" mode="oai_dc">
<dc:title>
<xsl:value-of select="@Value"/>
</dc:title>
</xsl:template>
<xsl:template match="TitleAbstract" mode="oai_dc"> <xsl:template match="TitleAbstract" mode="oai_dc">
<dc:description> <dc:description>
@ -406,12 +415,20 @@
<xsl:value-of select="@Value" /> <xsl:value-of select="@Value" />
</dc:description> </dc:description>
</xsl:template> </xsl:template>
<xsl:template match="TitleAbstractAdditional" mode="oai_dc">
<dc:description>
<xsl:attribute name="xml:lang">
<xsl:value-of select="@Language" />
</xsl:attribute>
<xsl:value-of select="@Value" />
</dc:description>
</xsl:template>
<xsl:template match="Subject" mode="oai_dc"> <xsl:template match="Subject" mode="oai_dc">
<dc:subject> <dc:subject>
<xsl:if test="@language != ''"> <xsl:if test="@Language != ''">
<xsl:attribute name="xml:lang"> <xsl:attribute name="xml:lang">
<xsl:value-of select="php:functionString('Oai_Model_Language::getLanguageCode', @Language, 'part1')" /> <xsl:value-of select="@Language" />
</xsl:attribute> </xsl:attribute>
</xsl:if> </xsl:if>
<xsl:value-of select="@Value" /> <xsl:value-of select="@Value" />

View File

@ -55,6 +55,7 @@
</creators> </creators>
<titles> <titles>
<xsl:apply-templates select="TitleMain" mode="oai_datacite" /> <xsl:apply-templates select="TitleMain" mode="oai_datacite" />
<xsl:apply-templates select="TitleAdditional" mode="oai_datacite" />
</titles> </titles>
<publisher> <publisher>
<xsl:value-of select="@PublisherName" /> <xsl:value-of select="@PublisherName" />
@ -62,6 +63,9 @@
<publicationYear> <publicationYear>
<xsl:value-of select="ServerDatePublished/@Year"/> <xsl:value-of select="ServerDatePublished/@Year"/>
</publicationYear> </publicationYear>
<subjects>
<xsl:apply-templates select="Subject" mode="oai_datacite" />
</subjects>
<language> <language>
<xsl:value-of select="@Language" /> <xsl:value-of select="@Language" />
</language> </language>
@ -86,6 +90,7 @@
</formats> </formats>
<descriptions> <descriptions>
<xsl:apply-templates select="TitleAbstract" mode="oai_datacite" /> <xsl:apply-templates select="TitleAbstract" mode="oai_datacite" />
<xsl:apply-templates select="TitleAbstractAdditional" mode="oai_datacite" />
</descriptions> </descriptions>
<geoLocations> <geoLocations>
<xsl:apply-templates select="Coverage" mode="oai_datacite" /> <xsl:apply-templates select="Coverage" mode="oai_datacite" />
@ -133,6 +138,19 @@
<xsl:value-of select="@Value" /> <xsl:value-of select="@Value" />
</description> </description>
</xsl:template> </xsl:template>
<xsl:template match="TitleAbstractAdditional" mode="oai_datacite">
<description>
<xsl:attribute name="xml:lang">
<xsl:value-of select="@Language" />
</xsl:attribute>
<xsl:if test="@Type != ''">
<xsl:attribute name="descriptionType">
<xsl:value-of select="@Type" />
</xsl:attribute>
</xsl:if>
<xsl:value-of select="@Value" />
</description>
</xsl:template>
<xsl:template match="TitleMain" mode="oai_datacite"> <xsl:template match="TitleMain" mode="oai_datacite">
<title> <title>
@ -149,6 +167,32 @@
<xsl:value-of select="@Value"/> <xsl:value-of select="@Value"/>
</title> </title>
</xsl:template> </xsl:template>
<xsl:template match="TitleAdditional" mode="oai_datacite">
<title>
<xsl:if test="@Language != ''">
<xsl:attribute name="xml:lang">
<xsl:value-of select="@Language" />
</xsl:attribute>
</xsl:if>
<xsl:if test="@Type != '' and @Type != 'Main'">
<xsl:attribute name="titleType">
<xsl:value-of select="@Type" />
</xsl:attribute>
</xsl:if>
<xsl:value-of select="@Value"/>
</title>
</xsl:template>
<xsl:template match="Subject" mode="oai_datacite">
<subject>
<xsl:if test="@Language != ''">
<xsl:attribute name="xml:lang">
<xsl:value-of select="@Language" />
</xsl:attribute>
</xsl:if>
<xsl:value-of select="@Value" />
</subject>
</xsl:template>
<xsl:template match="PersonContributor" mode="oai_datacite"> <xsl:template match="PersonContributor" mode="oai_datacite">
<contributor> <contributor>

View File

@ -8,7 +8,7 @@
<!-- Basic Page Needs <!-- Basic Page Needs
--> -->
<meta charset="utf-8"> <meta charset="utf-8">
<title>RDR - For Scientists</title> <title>RDR - Geology Geophysics Meteorology</title>
<meta name="description" content="An awesome one page website"> <meta name="description" content="An awesome one page website">
<meta name="author" content="Arno Kaimbacher"> <meta name="author" content="Arno Kaimbacher">
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
@ -46,7 +46,7 @@
<body class="layout-home-html"> <body class="layout-home-html">
<div id="trynewsite"> <div id="trynewsite">
<span>Repository Demo</span> <span>RDR Testphase</span>
</div> </div>
<!-- Menu --> <!-- Menu -->