Bug 17730

Summary: Uniform mapping for biblio.biblionumber (Unimarc)
Product: Koha Reporter: Serhij Dubyk <dubyk>
Component: MARC Bibliographic data supportAssignee: Galen Charlton <gmcharlt>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: dubyk
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18369
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Screenshot

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.