Bug 13387: Uniform titles (130 / 240 / 730) Display in XSLT
authorWinona Salesky <wsalesky@gmail.com>
Wed, 29 Apr 2015 01:41:52 +0000 (21:41 -0400)
committerTomas Cohen Arazi <tomascohen@unc.edu.ar>
Fri, 21 Aug 2015 13:44:03 +0000 (10:44 -0300)
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>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl

index 4818a91..1b3531e 100644 (file)
         </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 -->
index 0978692..8c128ab 100644 (file)
             </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 -->