[Koha-patches] [PATCH] [SIGNED-OFF] 6278 Funny translation bug with XSLT subfieldSelect parameters

Katrin Fischer Katrin.Fischer.83 at web.de
Wed Sep 21 07:12:53 CEST 2011


From: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>

This patch resolves the situation of translating the parameters at (meaning subfield a and t) of subfieldSelect by replacing at with a_t. This string will not be translated and the xslt function subfieldSelect just ignores the underscore.
It is a pragmatic and easy solution. Theoretically, we should look for a solution in the translation parser. This is much harder and would probably not result in better code in those modules.

Test this patch with the following remarks in mind:
1) This patch deals with XSLT. So you should enable XSLT at OPAC detail.
2) In English or any language not translating the word at: Just check if the links for a MARC 490, 773, 780 or 785 still work at the opac detail page.
3) For a language translating the word at (like Dutch where at becomes bij), you should first rerun your translation process (at least for the OPAC).
4) In that language: Check the results on the vernacular opac detail page for MARC 490, 773, 780 or 785. Without the patch, you would not see a link following e.g. the Series label (with 490 first indicator set to 1). With the patch, you should see a link now.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83 at web.de>
Pragmatic solution for an annoying problem.
---
 .../prog/en/xslt/MARC21slim2OPACDetail.xsl         |   10 +++++-----
 .../prog/en/xslt/NORMARCslim2OPACDetail.xsl        |    4 ++--
 .../prog/en/xslt/UNIMARCslim2OPACDetail.xsl        |    4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
index d4f763f..a0b72de 100755
--- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
@@ -246,7 +246,7 @@
                             <xsl:call-template name="chopPunctuation">
                                 <xsl:with-param name="chopString">
                                     <xsl:call-template name="subfieldSelect">
-                                        <xsl:with-param name="codes">at</xsl:with-param>
+                                        <xsl:with-param name="codes">a_t</xsl:with-param>
                                     </xsl:call-template>
                                 </xsl:with-param>
                             </xsl:call-template>
@@ -257,7 +257,7 @@
                             <xsl:call-template name="chopPunctuation">
                                 <xsl:with-param name="chopString">
                                     <xsl:call-template name="subfieldSelect">
-                                        <xsl:with-param name="codes">at</xsl:with-param>
+                                        <xsl:with-param name="codes">a_t</xsl:with-param>
                                     </xsl:call-template>
                                 </xsl:with-param>
                             </xsl:call-template>
@@ -668,7 +668,7 @@
         </span>
                 <xsl:variable name="f773">
                     <xsl:call-template name="chopPunctuation"><xsl:with-param name="chopString"><xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template></xsl:with-param></xsl:call-template>
                 </xsl:variable>
             <xsl:choose>
@@ -786,7 +786,7 @@
         </xsl:choose>
                 <xsl:variable name="f780">
                     <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template>
                 </xsl:variable>
             <xsl:choose>
@@ -848,7 +848,7 @@
         </xsl:choose>
                    <xsl:variable name="f785">
                     <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template>
                 </xsl:variable>
 
diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACDetail.xsl
index 961f0c9..d2b6b1b 100644
--- a/koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACDetail.xsl
@@ -419,7 +419,7 @@
         </span>
                 <xsl:variable name="f780">
                     <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template>
                 </xsl:variable>
              <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="translate($f780, '()', '')"/></xsl:attribute>
@@ -469,7 +469,7 @@
         </span>
                    <xsl:variable name="f785">
                     <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template>
                 </xsl:variable>
 
diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACDetail.xsl
index 2832b6b..61054ea 100644
--- a/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACDetail.xsl
@@ -411,7 +411,7 @@
         </xsl:choose>
                 <xsl:variable name="f780">
                     <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template>
                 </xsl:variable>
              <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="translate($f780, '()', '')"/></xsl:attribute>
@@ -464,7 +464,7 @@
         </xsl:choose>
                    <xsl:variable name="f785">
                     <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">at</xsl:with-param>
+                        <xsl:with-param name="codes">a_t</xsl:with-param>
                     </xsl:call-template>
                 </xsl:variable>
 
-- 
1.7.4.1



More information about the Koha-patches mailing list