Skip to content

Commit

Permalink
UBO-338 Improved indexing of corresponding author (#406)
Browse files Browse the repository at this point in the history
* UBO-338 Improved indexing of corresponding author

* UBO-338 move corresponding author handling in separate template

---------

Co-authored-by: Kathleen Neumann <[email protected]>
  • Loading branch information
Possommi and kkrebs authored Aug 14, 2024
1 parent b1c370b commit 45ae3a3
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions ubo-common/src/main/resources/xsl/ubo-solr.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
<xsl:apply-templates select="descendant::mods:name[mods:nameIdentifier[@type='lsf']]" mode="solrField.lsf" />
<xsl:apply-templates select="mods:name[@type='personal'][mods:role/mods:roleTerm[@type='code'][contains('aut cre tch pht prg edt',text())]]/mods:nameIdentifier[@type='lsf']" mode="solrField.ae" />
<xsl:apply-templates select="mods:name[@type='personal'][mods:role/mods:roleTerm[@type='code'][contains('aut cre tch pht prg edt',text())]]/mods:nameIdentifier[@type='orcid']" mode="solrField.ae" />
<xsl:apply-templates select="mods:name[@type='personal'][mods:role/mods:roleTerm[contains(@authorityURI,'author_roles')]]" mode="solrField.ar" />
<xsl:apply-templates select="descendant::mods:name[@type='personal']" mode="child" />
<xsl:apply-templates select="mods:genre[@type='intern']" mode="solrField" />
<xsl:apply-templates select="mods:accessCondition[@xlink:href]" mode="solrField" />
Expand Down Expand Up @@ -159,18 +160,18 @@
<field name="person_{text()}">
<xsl:apply-templates select="../.." mode="solrField" />
</field>
</xsl:template>

<xsl:if test="../mods:roleTerm/text() = 'corresponding_author'">
<field name="corresponding_aut">
<xsl:apply-templates select="../.." mode="solrField"/>
</field>
<xsl:template match="mods:name[@type='personal'][mods:role/mods:roleTerm[contains(@authorityURI,'author_roles')]]" mode="solrField.ar">
<field name="corresponding_aut">
<xsl:apply-templates select="." mode="solrField"/>
</field>

<xsl:for-each select="../../mods:nameIdentifier">
<field name="corresponding_aut_id">
<xsl:value-of select="."/>
</field>
</xsl:for-each>
</xsl:if>
<xsl:for-each select="mods:nameIdentifier"><!-- TODO: besser nur connection-ID bzw. 2 Suchfelder? -->
<field name="corresponding_aut_id">
<xsl:value-of select="."/>
</field>
</xsl:for-each>
</xsl:template>

<xsl:template match="mods:name[@type='personal']" mode="solrField">
Expand Down

0 comments on commit 45ae3a3

Please sign in to comment.