Bug 10265: Keep punctuation for 8xx series added entry fields (MARC21)

At the moment the punctuation entered for $n $p and is
removed in the part template, which leads to displaying the subfields
without any punctuation and spaces in between.

To test:
- Catalog records with various combinations of 8xx series added
  entry fields. Subfield a, t, n, p and v are the most important.
- Verify the display in OPAC and staff is not great.
- Apply the patch.
- Verify the display in OPAC and staff is improved.

For examples see:
https://www.loc.gov/marc/bibliographic/bd80x83x.html

Important note: At the moment 8xx series added entry fields will only display, when
there is also a 490 ind. 1 = 1 field present.

Signed-off-by: Hayley Pelham <hayleypelham@catalyst.net.nz>

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit a9d66c087a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Katrin Fischer 2021-08-22 03:29:47 +00:00 committed by Fridolin Somers
parent 5b1bba3cb5
commit d32f41bda0
2 changed files with 19 additions and 19 deletions

View File

@ -495,9 +495,9 @@
</xsl:with-param>
</xsl:call-template>
</a>
<xsl:call-template name="part"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="part"/>
<xsl:text> ; </xsl:text>
<xsl:value-of select="marc:subfield[@code='v']" />
<xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><span class="separator"> | </span></xsl:otherwise></xsl:choose>
@ -537,9 +537,9 @@
</xsl:with-param>
</xsl:call-template>
</a>
<xsl:call-template name="part"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="part"/>
<xsl:if test="marc:subfield[@code='v']">
<xsl:text> ; </xsl:text><xsl:value-of select="marc:subfield[@code='v']" />
</xsl:if>
@ -566,15 +566,15 @@
<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="string-length(normalize-space($partNumber))">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString" select="$partNumber"/>
</xsl:call-template>
<xsl:if test="$partNumber != '' or $partName != ''" >
<xsl:text>. </xsl:text>
</xsl:if>
<xsl:if test="string-length(normalize-space($partNumber))">
<xsl:value-of select="$partNumber" />
</xsl:if>
<xsl:if test="$partNumber != ''"><xsl:text> </xsl:text></xsl:if>
<xsl:if test="string-length(normalize-space($partName))">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString" select="$partName"/>
</xsl:call-template>
<xsl:value-of select="$partName" />
</xsl:if>
</xsl:template>

View File

@ -459,10 +459,10 @@
</xsl:with-param>
</xsl:call-template>
</a>
<xsl:call-template name="part"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>: </xsl:text>
<xsl:call-template name="part"/>
<xsl:text> ; </xsl:text>
<xsl:value-of select="marc:subfield[@code='v']" />
<xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><span class="separator"> | </span></xsl:otherwise></xsl:choose>
</xsl:for-each>
@ -501,9 +501,9 @@
</xsl:with-param>
</xsl:call-template>
</a>
<xsl:call-template name="part"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="part"/>
<xsl:if test="marc:subfield[@code='v']">
<xsl:text> ; </xsl:text><xsl:value-of select="marc:subfield[@code='v']" />
</xsl:if>
@ -530,15 +530,15 @@
<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="string-length(normalize-space($partNumber))">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString" select="$partNumber"/>
</xsl:call-template>
<xsl:if test="$partNumber != '' or $partName != ''" >
<xsl:text>. </xsl:text>
</xsl:if>
<xsl:if test="string-length(normalize-space($partNumber))">
<xsl:value-of select="$partNumber" />
</xsl:if>
<xsl:if test="$partNumber != ''"><xsl:text> </xsl:text></xsl:if>
<xsl:if test="string-length(normalize-space($partName))">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString" select="$partName"/>
</xsl:call-template>
<xsl:value-of select="$partName" />
</xsl:if>
</xsl:template>