From 9677da430eac045b8adf8e8e68743fa0be266c4a Mon Sep 17 00:00:00 2001
From: Winona Salesky <wsalesky@gmail.com>
Date: Tue, 28 Apr 2015 21:41:52 -0400
Subject: [PATCH] [SIGNED OFF]Bug 13387 - Uniform titles (130 / 240 / 730)
 Display in XSLT

Test Plan:
1) Apply this patch
2) Ensure you are using the default XSLT setting for the staff and opac record details
3) Find or create a record with MARC tags 130/240/730
4) Perform an opac search that would show the record in the search results.
5) Click title to review record.
6) Fields show subfields a,d,f,g,h,k,l,m,n,o,p,r,s,t with multiple fields separated by span class=separator |
7) Repeat steps 4 - 6 for the staff interface

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
---
 .../prog/en/xslt/MARC21slim2intranetDetail.xsl     | 30 +++++++---------
 .../bootstrap/en/xslt/MARC21slim2OPACDetail.xsl    | 40 +++++++++-------------
 2 files changed, 29 insertions(+), 41 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
index d077e35..86b5d76 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
+++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
@@ -517,25 +517,19 @@
         </xsl:if>
 
         <xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
-        <span class="results_summary uniform_title"><span class="label">Uniform titles: </span>
-        <xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
-            <xsl:variable name="str">
-                <xsl:for-each select="marc:subfield">
-                    <xsl:if test="(contains('adfklmor',@code) and (not(../marc:subfield[@code='n' or @code='p']) or (following-sibling::marc:subfield[@code='n' or @code='p'])))">
-                        <xsl:value-of select="text()"/>
-                        <xsl:text> </xsl:text>
-                     </xsl:if>
+            <span class="results_summary uniform_title"><span class="label">Uniform titles: </span>
+                <xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
+                    <xsl:for-each select="marc:subfield">
+                        <xsl:if test="contains('adfghklmnoprst',@code)">
+                            <xsl:value-of select="text()"/>
+                            <xsl:text> </xsl:text>
+                        </xsl:if>
+                    </xsl:for-each>
+                    <xsl:if test="position() != last()">
+                        <span class="separator"><xsl:text> | </xsl:text></span>
+                    </xsl:if>
                 </xsl:for-each>
-            </xsl:variable>
-            <xsl:call-template name="chopPunctuation">
-                <xsl:with-param name="chopString">
-                    <xsl:value-of select="substring($str,1,string-length($str)-1)"/>
-                        
-                </xsl:with-param>
-            </xsl:call-template>
-            <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
-        </xsl:for-each>
-        </span>
+            </span>
         </xsl:if>
 
         <!-- #13382 Added Related works 700$i -->
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
index 8b7d559..5763f6d 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
@@ -556,29 +556,23 @@
             </span>
         </xsl:if>
 
-        <xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
-        <span class="results_summary uniform_titles"><span class="label">Uniform titles: </span>
-        <xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
-            <span property="alternateName">
-            <xsl:variable name="str">
-                <xsl:for-each select="marc:subfield">
-                    <xsl:if test="(contains('adfklmor',@code) and (not(../marc:subfield[@code='n' or @code='p']) or (following-sibling::marc:subfield[@code='n' or @code='p'])))">
-                        <xsl:value-of select="text()"/>
-                        <xsl:text> </xsl:text>
-                     </xsl:if>
-                </xsl:for-each>
-            </xsl:variable>
-            <xsl:call-template name="chopPunctuation">
-                <xsl:with-param name="chopString">
-                    <xsl:value-of select="substring($str,1,string-length($str)-1)"/>
-
-                </xsl:with-param>
-            </xsl:call-template>
-            </span>
-            <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
-        </xsl:for-each>
-        </span>
-        </xsl:if>
+            <xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
+                <span class="results_summary uniform_titles"><span class="label">Uniform titles: </span>
+                    <xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
+                        <span property="alternateName">
+                            <xsl:for-each select="marc:subfield">
+                                <xsl:if test="contains('adfghklmnoprst',@code)">
+                                    <xsl:value-of select="text()"/>
+                                    <xsl:text> </xsl:text>
+                                </xsl:if>
+                            </xsl:for-each>
+                        </span>
+                        <xsl:if test="position() != last()">
+                            <span class="separator"><xsl:text> | </xsl:text></span>
+                        </xsl:if>
+                    </xsl:for-each>
+                </span>
+            </xsl:if>
 
 
             <!-- #13382 Added Related works 700$i -->
-- 
1.9.1