Bug 17730 - Uniform mapping for biblio.biblionumber (Unimarc)
Summary: Uniform mapping for biblio.biblionumber (Unimarc)
Status: RESOLVED FIXED
Alias: None
Product: Koha
Classification: Unclassified
Component: MARC Bibliographic data support (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Galen Charlton
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-06 13:37 UTC by Serhij Dubyk
Modified: 2023-06-25 21:05 UTC (History)
1 user (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:


Attachments
Screenshot (10.56 KB, image/png)
2016-12-06 13:37 UTC, Serhij Dubyk
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Serhij Dubyk 2016-12-06 13:37:42 UTC
Created attachment 57999 [details]
Screenshot

I try to deal with empty links to record details in the search.
I found that this occurs when used mapping 090$9<>biblio.biblionumber (in uk-UA Unimarc tables) and typical use UNIMARCslim2intranetResults.xsl.

In Koha mapping of biblio.biblionumber and MARC-fields mentioned in many files:

etc / zebradb / marc_defs / unimarc / biblios / record.abs
  25 melm 001        Local-number,Local-number:n
  26 # Local-number (biblionumber can be either in 090$9 or, on some setup, on 001)
  28 melm 090$9      Local-number,Local-number:n

etc / zebradb / marc_defs / unimarc / biblios / biblio-koha-indexdefs.xml
   9   <index_control_field tag="001">
  10     <target_index>Local-number:n</target_index>
  11   </index_control_field>
  20   <index_subfields tag="090" subfields="9">
  21     <target_index>Local-number:w</target_index>
  22     <target_index>Local-number:n</target_index>
  23   </index_subfields>

etc / zebradb / marc_defs / unimarc / biblios / biblio-zebra-indexdefs.xsl
  47   <xslo:template match="marc:controlfield[@tag='001']">
  48     <z:index name="Local-number:w">
  49       <xslo:value-of select="."/>
  50     </z:index>
  51     <z:index name="Local-number:n">
  52       <xslo:value-of select="."/>
  53     </z:index>
  54   </xslo:template>
  63   <xslo:template mode="index_subfields" match="marc:datafield[@tag='090']">
  64     <xslo:for-each select="marc:subfield">
  65       <xslo:if test="contains('9', @code)">
  66         <z:index name="Local-number:w Local-number:n">
  67           <xslo:value-of select="."/>
  68         </z:index>
  69       </xslo:if>
  70     </xslo:for-each>
  71   </xslo:template>
  
koha-tmpl / opac-tmpl / bootstrap / en / xslt / UNIMARCslim2OPACDetail.xsl
  21   <xsl:variable name="biblionumber" select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>

koha-tmpl / intranet-tmpl / prog / en / xslt / UNIMARCslim2intranetDetail.xsl
  22   <xsl:variable name="biblionumber" select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>

koha-tmpl / opac-tmpl / bootstrap / en / xslt / UNIMARCslim2OPACResults.xsl
  25   <xsl:variable name="biblionumber"
  26    select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>

koha-tmpl / intranet-tmpl / prog / en / xslt / UNIMARCslim2intranetResults.xsl
  25   <xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/>

t / db_dependent / Biblio.t
  84                 'biblio.biblionumber'          => { tagfield => '999', tagsubfield => 'c' },
  
biblio.biblionumber in UNIMARC-tables:
 ru-RU   090^9 
 es-ES   001^@
 en      001^@
 fr-FR   001^@
 pl-PL   999^9
 it-IT   001^@
 uk-UA   090^9 

That is, in the context of biblio.biblionumber mentioned next subfields:
 090^9 
 001^@
 999^9
 090^a
 999^c

Probably for greater uniformity is better to use one subfield for biblio.biblionumber. Maybe 001^@?
Comment 1 Katrin Fischer 2023-06-25 21:05:41 UTC
It looks like this has been resolved: the installation files are now built from the .yml files that have the mapping on 001 and I didn't find any references to 090$9 in the listed files.