Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 5 additions & 12 deletions mir-module/src/main/resources/config/mir/mycore.properties
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ MCR.URIResolver.xslImports.solr-document=%MCR.URIResolver.xslImports.solr-docume
MCR.URIResolver.xslIncludes.mods=%MCR.URIResolver.xslIncludes.mods%,resource:xsl/mods2mods-classmapping.xsl
MCR.URIResolver.xslIncludes.mycoreobjectXML=%MCR.URIResolver.xslIncludes.mycoreobjectXML%,resource:xsl/embargofilter.xsl
MCR.URIResolver.xslIncludes.RDF-mods-journal=%MCR.URIResolver.xslIncludes.RDF-mods-journal%,resource:xsl/RDF-mods-journal-mir.xsl
MCR.URIResolver.xslIncludes.solrResponse=%MCR.URIResolver.xslIncludes.solrResponse%,resource:xsl/response-mir.xsl
MCR.URIResolver.xslIncludes.solrResponse=%MCR.URIResolver.xslIncludes.solrResponse%,resource:xslt/response-mir.xsl
MCR.URIResolver.xslIncludes.xeditorTemplates=%MCR.URIResolver.xslIncludes.xeditorTemplates%,resource:xslt/xeditor-mir-templates.xsl
MCR.URIResolver.xslIncludes.functions=%MCR.URIResolver.xslIncludes.functions%,functions/mirdateconverter.xsl,functions/mireditorutils.xsl,functions/mirmapper.xsl,functions/mirstrutils.xsl,functions/mirvalidationhelper.xsl
MIR.AVPlayer.Stylesheet=metadata/mir-video.js.xsl
Expand All @@ -295,12 +295,8 @@ MCR.ContentTransformer.mycoreobject-rights.TransformerFactoryClass=%XALAN%
MCR.ContentTransformer.mycoreobject-rights.Stylesheet=xsl/metadata/mir-rights.xsl
MCR.ContentTransformer.mycoreobject-modsmeta.TransformerFactoryClass=%XALAN%
MCR.ContentTransformer.mycoreobject-modsmeta.Stylesheet=%MCR.ContentTransformer.mycoreobject-rights.Stylesheet%,xsl/metadata/mods-metadata.xsl
MCR.ContentTransformer.response.Class=org.mycore.common.content.transformer.MCRTransformerPipe
MCR.ContentTransformer.response.Steps=response-prepared,tmp_response,tmp_xsl_mir_flatmir_layout
MCR.ContentTransformer.tmp_response.Stylesheet=xsl/response.xsl
MCR.ContentTransformer.tmp_response.TransformerFactoryClass=%XALAN%
MCR.ContentTransformer.response-mycoreobject.TransformerFactoryClass=%XALAN%
MCR.ContentTransformer.response-mycoreobject.Stylesheet=xsl/response2mycoreobject.xsl
MCR.ContentTransformer.response.Stylesheet=%MCR.ContentTransformer.response.Stylesheet%,%MCR.LayoutTransformerFactory.Default.Stylesheets%
MCR.ContentTransformer.response-mycoreobject.Stylesheet=xslt/response2mycoreobject.xsl
MCR.ContentTransformer.response-browse.Class=org.mycore.common.content.transformer.MCRTransformerPipe
MCR.ContentTransformer.response-browse.Steps=response-mycoreobject,mycoreobject
MCR.ContentTransformer.mods2xeditor.Stylesheet=xslt/editor/mods2xeditor.xsl
Expand All @@ -316,10 +312,8 @@ MCR.ContentTransformer.oai-oai_datacite.Stylesheet=xslt/mods2datacite.xsl
MCR.URIResolver.xslIncludes.datacite=resource:xslt/mycoreobject-datacite-mir.xsl
MCR.ContentTransformer.oai-oai_openaire.Stylesheet=xslt/mycoreobject-openaire.xsl

MCR.ContentTransformer.response-subselect.TransformerFactoryClass=%XALAN%
MCR.ContentTransformer.response-subselect.Stylesheet=%MCR.ContentTransformer.response-prepared.Stylesheet%,xsl/response.xsl,xsl/relatedItem-subselect.xsl,%MCR.LayoutTransformerFactory.Default.Stylesheets%
MCR.ContentTransformer.response-resultlist.TransformerFactoryClass=%XALAN%
MCR.ContentTransformer.response-resultlist.Stylesheet=%MCR.ContentTransformer.response-prepared.Stylesheet%,xsl/response-resultlist.xsl
MCR.ContentTransformer.response-subselect.Stylesheet=%MCR.ContentTransformer.response-prepared.Stylesheet%,xslt/solr/response/response.xsl,xslt/relatedItem-subselect.xsl,%MCR.LayoutTransformerFactory.Default.Stylesheets%
MCR.ContentTransformer.response-resultlist.Stylesheet=%MCR.ContentTransformer.response-prepared.Stylesheet%,xslt/response-resultlist.xsl

MCR.Viewer.metadata.transformer = mycoreobject-viewer
MCR.ContentTransformer.mycoreobject-viewer.TransformerFactoryClass=%XALAN%
Expand Down Expand Up @@ -799,5 +793,4 @@ MCR.ContentTransformer.svg-download.Stylesheet = xslt/generate-svg-by-type.xsl
MCR.Startup.Class = %MCR.Startup.Class%,org.mycore.mir.migration.MIRMigrateStaticHistoryContent

#Properties for XSLT 3 migration
MCR.URIResolver.xslIncludes.solrResponse=resource:xsl/iview2-solrresponse.xsl,resource:xsl/response-mir.xsl
MCR.URIResolver.xslIncludes.objectTypes=
37 changes: 0 additions & 37 deletions mir-module/src/main/resources/xsl/relatedItem-subselect.xsl

This file was deleted.

26 changes: 0 additions & 26 deletions mir-module/src/main/resources/xsl/response-resultlist.xsl

This file was deleted.

10 changes: 10 additions & 0 deletions mir-module/src/main/resources/xslt/badges/mir-badges-base.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="#all">

<xsl:import href="xslImport:badges:badges/mir-badges-base.xsl"/>

<xsl:template match="doc" mode="badge"/>

</xsl:stylesheet>
68 changes: 68 additions & 0 deletions mir-module/src/main/resources/xslt/badges/mir-badges-date.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
xmlns:mirdateconverter="http://www.mycore.de/xslt/mirdateconverter"
xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="#all">

<xsl:import href="xslImport:badges:badges/mir-badges-date.xsl"/>
<xsl:include href="resource:xslt/badges/mir-badges-utils.xsl"/>

<xsl:template match="doc" mode="badge">
<xsl:apply-imports/>

<xsl:choose>
<xsl:when test="str[@name='mods.dateIssued'] or str[@name='mods.dateIssued.host']">
<xsl:call-template name="output-date-badge">
<xsl:with-param name="date" select="str[@name='mods.dateIssued'] | str[@name='mods.dateIssued.host']"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="field[@name='mods.dateIssued'] or field[@name='mods.dateIssued.host']">
<xsl:call-template name="output-date-badge">
<xsl:with-param name="date" select="field[@name='mods.dateIssued'] | field[@name='mods.dateIssued.host']"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>

<xsl:template name="output-date-badge">
<xsl:param name="date"/>
<xsl:variable name="label">
<xsl:call-template name="format-date-label">
<xsl:with-param name="date" select="string(($date)[1])"/>
</xsl:call-template>
</xsl:variable>

<xsl:call-template name="output-badge">
<xsl:with-param name="class" select="'mir-badge-date'"/>
<xsl:with-param name="label" select="$label"/>
<xsl:with-param name="link" select="concat($ServletsBaseURL, 'solr/find?condQuery=*&amp;fq=mods.dateIssued:%22', string(($date)[1]), '%22')"/>
<xsl:with-param name="tooltip" select="document('i18n:mir.date.published')/i18n/text()"/>
</xsl:call-template>
</xsl:template>

<xsl:template name="format-date-label">
<xsl:param name="date" as="xs:string?"/>
<xsl:variable name="normalized" select="mirdateconverter:convert-date($date, 'ISO8601')"/>

<xsl:choose>
Comment thread
yagee-de marked this conversation as resolved.
<xsl:when test="matches($normalized, '^\d{4}$')">
<xsl:value-of select="$normalized"/>
</xsl:when>
<xsl:when test="matches($normalized, '^\d{4}-\d{2}$')">
<xsl:value-of select="$normalized"/>
</xsl:when>
<xsl:when test="matches($normalized, '^\d{4}-\d{2}-\d{2}$')">
<xsl:value-of select="format-date(xs:date($normalized), '[Y0001]-[M01]-[D01]')"/>
</xsl:when>
<xsl:when test="$normalized castable as xs:dateTime">
<xsl:value-of select="format-dateTime(xs:dateTime($normalized), '[Y0001]-[M01]-[D01] [H01]:[m01]')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$normalized"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

</xsl:stylesheet>
48 changes: 48 additions & 0 deletions mir-module/src/main/resources/xslt/badges/mir-badges-genre.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
xmlns:mcrclassification="http://www.mycore.de/xslt/classification"
xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="#all">

<xsl:import href="xslImport:badges:badges/mir-badges-genre.xsl"/>
<xsl:include href="resource:xslt/badges/mir-badges-utils.xsl"/>

<xsl:template match="doc" mode="badge">
<xsl:apply-imports/>

<xsl:choose>
<xsl:when test="arr[@name='mods.genre']">
<xsl:for-each select="arr[@name='mods.genre']/str">
<xsl:call-template name="output-genre-badge">
<xsl:with-param name="genre" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:when>
<xsl:when test="field[@name='mods.genre']">
<xsl:for-each select="field[@name='mods.genre']">
<xsl:call-template name="output-genre-badge">
<xsl:with-param name="genre" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="output-genre-badge">
<xsl:with-param name="genre" select="'article'"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<xsl:template name="output-genre-badge">
<xsl:param name="genre"/>
<xsl:call-template name="output-badge">
<xsl:with-param name="class" select="concat('mir-badge-genre-', $genre)"/>
<xsl:with-param name="label" select="mcrclassification:current-label-text(mcrclassification:category('mir_genres', $genre))"/>
<xsl:with-param name="link" select="concat($ServletsBaseURL, 'solr/find?condQuery=*&amp;fq=category.top:%22mir_genres:', $genre, '%22')"/>
<xsl:with-param name="tooltip" select="substring-before(document('i18n:component.mods.genre')/i18n/text(), ':')"/>
</xsl:call-template>
</xsl:template>

</xsl:stylesheet>
53 changes: 53 additions & 0 deletions mir-module/src/main/resources/xslt/badges/mir-badges-license.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
xmlns:mcrclassification="http://www.mycore.de/xslt/classification"
xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="#all">

<xsl:import href="xslImport:badges:badges/mir-badges-license.xsl"/>
<xsl:include href="resource:xslt/badges/mir-badges-utils.xsl"/>

<xsl:template match="doc" mode="badge">
<xsl:apply-imports/>

<xsl:choose>
<xsl:when test="arr[@name='category.top']/str[contains(text(), 'mir_licenses:')]">
<xsl:call-template name="output-license-badge">
<xsl:with-param name="accessConditionClass" select="arr[@name='category.top']/str[contains(text(), 'mir_licenses:')][last()]"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="field[@name='category.top'][starts-with(., 'mir_licenses:')]">
<xsl:call-template name="output-license-badge">
<xsl:with-param name="accessConditionClass" select="field[@name='category.top'][starts-with(., 'mir_licenses:')][last()]"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>

<xsl:template name="output-license-badge">
<xsl:param name="accessConditionClass"/>
<xsl:variable name="accessCondition" select="substring-after($accessConditionClass, ':')"/>
<xsl:variable name="label">
<xsl:choose>
<xsl:when test="contains($accessCondition, 'rights_reserved')">
<xsl:value-of select="document('i18n:component.mods.metaData.dictionary.rightsReserved')/i18n/text()"/>
</xsl:when>
<xsl:when test="contains($accessCondition, 'oa_nlz')">
<xsl:value-of select="document('i18n:component.mods.metaData.dictionary.oa_nlz.short')/i18n/text()"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="mcrclassification:current-label-text(mcrclassification:category('mir_licenses', $accessCondition))"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="output-badge">
<xsl:with-param name="class" select="concat('mir-badge-license-', $accessCondition)"/>
<xsl:with-param name="label" select="$label"/>
<xsl:with-param name="link" select="concat($ServletsBaseURL, 'solr/find?condQuery=*&amp;fq=category:%22', $accessConditionClass, '%22')"/>
<xsl:with-param name="tooltip" select="document('i18n:mir.rights')/i18n/text()"/>
</xsl:call-template>
</xsl:template>

</xsl:stylesheet>
37 changes: 37 additions & 0 deletions mir-module/src/main/resources/xslt/badges/mir-badges-oa.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="#all">

<xsl:import href="xslImport:badges:badges/mir-badges-oa.xsl"/>
<xsl:include href="resource:xslt/badges/mir-badges-utils.xsl"/>

<xsl:template match="doc" mode="badge">
<xsl:apply-imports/>

<xsl:call-template name="output-oa-badge">
<xsl:with-param name="isOpenAccess" select="bool[@name='worldReadableComplete']='true' or field[@name='worldReadableComplete']='true'"/>
</xsl:call-template>
</xsl:template>

<xsl:template name="output-oa-badge">
<xsl:param name="isOpenAccess"/>

<xsl:variable name="icon-class">
<xsl:choose>
<xsl:when test="$isOpenAccess">
<xsl:value-of select="'fas fa-unlock-alt'"/>
Comment thread
yagee-de marked this conversation as resolved.
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'fas fa-lock'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

<xsl:call-template name="output-badge">
<xsl:with-param name="class" select="concat('mir-badge-oa-', $isOpenAccess)"/>
<xsl:with-param name="tooltip" select="document(concat('i18n:mir.response.openAccess.', $isOpenAccess))/i18n/text()"/>
<xsl:with-param name="icon-class" select="$icon-class"/>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>
39 changes: 39 additions & 0 deletions mir-module/src/main/resources/xslt/badges/mir-badges-orcid.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="#all">

<xsl:import href="xslImport:badges:badges/mir-badges-orcid.xsl"/>
<xsl:import href="resource:xslt/orcid/mir-orcid-user.xsl"/>
<xsl:include href="resource:xslt/orcid/mir-orcid-work.xsl"/>
<xsl:include href="resource:xslt/badges/mir-badges-utils.xsl"/>

Comment thread
yagee-de marked this conversation as resolved.
<xsl:template match="doc" mode="badge">
<xsl:apply-imports/>

<xsl:if test="not($isCurrentUserGuest)
and $isOrcidEnabled
and count($userOrcids) &gt; 0
and (
str[@name='state'][. = 'published']
or field[@name='state'][. = 'published']
)">
<xsl:variable name="currentUserMatchingTrustedIds">
<xsl:call-template name="check-current-user-has-trusted-matching-id">
<xsl:with-param name="nameIds" select="arr[@name='mods.nameIdentifier']/str | field[@name='mods.nameIdentifier']"/>
</xsl:call-template>
</xsl:variable>

<xsl:if test="normalize-space($currentUserMatchingTrustedIds) = 'true'">
<xsl:variable name="objectId" select="string((str[@name='id'] | field[@name='id'])[1])"/>
<span class="badge mir-badge-orcid-in-profile" data-object-id="{$objectId}">
<i class="fa-brands fa-orcid"></i>
Comment thread
yagee-de marked this conversation as resolved.
<span class="mir-badge-orcid-in-profile-text">
<xsl:value-of select="document('i18n:mir.orcid.publication.badge.inProfile.loading')/i18n/text()"/>
</span>
</span>
</xsl:if>
</xsl:if>
</xsl:template>

</xsl:stylesheet>
Loading
Loading