Bug 3750 Modify XSLT to display subfield n of 111/711 and remove period after 110/710
authorJane Wagner <jwagner@ptfs.com>
Mon, 2 Nov 2009 20:05:01 +0000 (15:05 -0500)
committerGalen Charlton <gmcharlt@gmail.com>
Fri, 30 Apr 2010 02:11:31 +0000 (22:11 -0400)
If a 111/711 uses a subfield n (Number of part/section/meeting), XSLT wasn't displaying it which made for an incomplete display.

e.g., International Conference on Concurrency Theory 1999 : Eindhoven, Netherlands)
instead of 10th International Conference on Concurrency Theory 1999 : Eindhoven, Netherlands)

I've added it to show before subfield a if present.  I've also removed the period that XSLT puts in the results and display after the last occurrence of a 110/710.  It's fairly standard practice for these entries to have a period in the MARC record, so the XSLT display was showing a double period.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl

index 3c7ca28..fc345a4 100644 (file)
             </xsl:otherwise>
         </xsl:choose>
         <xsl:call-template name="nameABCDN"/></a>
-        <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
+        <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>
 
         <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
+            <xsl:choose>
+            <xsl:when test="marc:subfield[@code='n']">
+               <xsl:text> </xsl:text>
+               <xsl:call-template name="subfieldSelect">
+                  <xsl:with-param name="codes">n</xsl:with-param>                              </xsl:call-template>
+               <xsl:text> </xsl:text>
+            </xsl:when>
+            </xsl:choose>
         <a>
         <xsl:choose>
             <xsl:when test="marc:subfield[@code=9]">
index 2cf8d60..0038191 100644 (file)
             </xsl:choose>
             <xsl:choose>
             <xsl:when test="position()=last()">
-                <xsl:call-template name="nameABCDN"/>.
+                <xsl:call-template name="nameABCDN"/> 
             </xsl:when>
             <xsl:otherwise>
                 <xsl:call-template name="nameABCDN"/>;
             </xsl:when>
             </xsl:choose>
             <xsl:choose>
+            <xsl:when test="marc:subfield[@code='n']">
+               <xsl:text> </xsl:text>
+               <xsl:call-template name="subfieldSelect">
+                  <xsl:with-param name="codes">n</xsl:with-param> 
+               </xsl:call-template>
+               <xsl:text> </xsl:text>
+            </xsl:when>
+            </xsl:choose>
+            <xsl:choose>
             <xsl:when test="position()=last()">
                 <xsl:call-template name="nameACDEQ"/>.
             </xsl:when>